OSDN Git Service

PR target/56866
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2013-04-27  Jakub Jelinek  <jakub@redhat.com>
2
3         PR target/56866
4         * config/i386/sse.md (xop_rotr<mode>3): Fix up computation of
5         the immediate rotate count.
6
7 2013-04-21  Eric Botcazou  <ebotcazou@adacore.com>
8
9         * cfgexpand.c (avoid_complex_debug_insns): Fix C++ism.
10
11 2013-04-19  Matthias Klose  <doko@ubuntu.com>
12
13         PR middle-end/56848
14         Re-apply
15         2013-04-01  Andrey Belevantsev  <abel@ispras.ru>
16
17         Backport from mainline
18         2013-02-25  Andrey Belevantsev  <abel@ispras.ru>
19         Alexander Monakov  <amonakov@ispras.ru>
20
21         PR middle-end/56077
22         * sched-deps.c (sched_analyze_insn): When reg_pending_barrier,
23         flush pending lists also on non-jumps.  Adjust comment.
24
25         Backport from 4.8:
26         2012-08-27  Maxim Kuvyrkov  <maxim@codesourcery.com>
27
28         * sched-deps.c (add_dependence_list_and_free): Simplify.
29         (flush_pending_list_and_free): Fix a hack that was fixing a hack.  Free
30         lists when add_dependence_list_and_free doesn't free them.
31
32 2013-04-19  Marek Polacek  <polacek@redhat.com>
33
34         Backport from mainline
35         2013-01-08  Steven Bosscher  <steven@gcc.gnu.org>
36                     Jakub Jelinek  <jakub@redhat.com>
37
38         PR tree-optimization/48189
39         * predict.c (predict_loops): If max is 0, don't call compare_tree_int.
40         If nitercst is 0, don't predict the exit edge.
41
42 2013-04-16  Jack Howarth  <howarth@bromo.med.uc.edu>
43
44         Backport from mainline
45         2012-05-29  Jack Howarth  <howarth@bromo.med.uc.edu>
46         * config/darwin.h (STARTFILE_SPEC): Use -no_new_main with -lgcrt1.o
47         on Darwin >= 12.
48         (DARWIN_CRT1_SPEC): Use -lcrt1.10.6.o when Darwin >= 10 and < 12.
49
50
51         2012-05-29  Jack Howarth  <howarth@bromo.med.uc.edu>
52         PR debug/53453
53         * doc/tm.texi: Update.
54         * doc/tm.texi.in (SDB and DWARF) <TARGET_FORCE_AT_COMP_DIR>: Add @hook.
55         * target.def (force_at_comp_dir): New hook.
56         * config/darwin.h (TARGET_FORCE_AT_COMP_DIR): Define.
57         * dwarf2out.c (dwarf2out_finish): Check targetm.force_at_comp_dir.
58
59 2013-04-15  Eric Botcazou  <ebotcazou@adacore.com>
60
61         PR target/56890
62         * config/sparc/sparc.c (enum sparc_mode_class): Add H_MODE value.
63         (S_MODES): Set H_MODE bit.
64         (SF_MODES): Set only S_MODE and SF_MODE bits.
65         (DF_MODES): Set SF_MODES and only D_MODE and DF_MODE bits.
66         (sparc_init_modes) <MODE_INT>: Set H_MODE bit for sub-word modes.
67         <MODE_VECTOR_INT>: Do not set SF_MODE for sub-word modes.
68         <MODE_FLOAT>: Likewise.
69
70 2013-04-13  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
71
72         Backport from mainline:
73         2013-04-06  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
74
75         PR target/55487
76         * config/pa/pa.c (legitimize_pic_address): Before incrementing label
77         nuses, make sure we have a label.
78
79 2013-04-11  Richard Biener  <rguenther@suse.de>
80
81         * BASE-VER: Set to 4.7.4.
82         * DEV-PHASE: Set to prerelease.
83
84 2013-04-11  Release Manager
85
86         * GCC 4.7.3 released.
87
88 2013-04-10  David S. Miller  <davem@davemloft.net>
89
90         * config/sparc/sparc.h (ASM_CPU_SPEC): Pass -Av8 if -mcpu=supersparc
91         or -mcpu=hypersparc.
92
93 2013-04-05  Eric Botcazou  <ebotcazou@adacore.com>
94
95         PR middle-end/56848
96         Revert
97         2013-04-01  Andrey Belevantsev  <abel@ispras.ru>
98
99         Backport from mainline
100         2013-02-25  Andrey Belevantsev  <abel@ispras.ru>
101         Alexander Monakov  <amonakov@ispras.ru>
102
103         PR middle-end/56077
104         * sched-deps.c (sched_analyze_insn): When reg_pending_barrier,
105         flush pending lists also on non-jumps.  Adjust comment.
106
107 2013-04-03  Richard Biener  <rguenther@suse.de>
108
109         PR tree-optimization/56501
110         * tree-switch-conversion.c (check_process_case): Properly
111         handle !single_succ_p case.
112
113 2013-04-03  Jakub Jelinek  <jakub@redhat.com>
114
115         Backported from mainline
116         2013-03-06  Jakub Jelinek  <jakub@redhat.com>
117
118         PR tree-optimization/56539
119         * tree-tailcall.c (adjust_return_value_with_ops): Use GSI_SAME_STMT
120         instead of GSI_CONTINUE_LINKING as last argument to
121         force_gimple_operand_gsi.  Adjust function comment.
122
123         2013-03-05  Jakub Jelinek  <jakub@redhat.com>
124
125         PR debug/56510
126         * cfgexpand.c (expand_debug_parm_decl): Call copy_rtx on incoming.
127         (avoid_complex_debug_insns): New function.
128         (expand_debug_locations): Call it.
129
130 2013-04-02  Wei Mi  <wmi@google.com>
131
132         * config/i386/i386.c (ix86_rtx_costs): Set proper rtx cost for
133         ashl<mode>3_mask, *<shift_insn><mode>3_mask and
134         *<rotate_insn><mode>3_mask in i386.md.
135
136 2013-04-02  Richard Biener  <rguenther@suse.de>
137
138         PR middle-end/56768
139         Backport from mainline
140         2012-05-16  Richard Guenther  <rguenther@suse.de>
141
142         * tree-inline.c (declare_return_variable): Properly handle
143         DECL_BY_REFERENCE return vars in SSA form.
144
145 2013-04-01  Wei Mi  <wmi@google.com>
146
147         * config/i386/i386.md (*ashl<mode>3_mask): Rewrite as define_insn.
148         Truncate operand 2 using %b asm operand modifier.
149         (*<shift_insn><mode>3_mask): Ditto.
150         (*<rotate_insn><mode>3_mask): Ditto.
151
152 2013-04-01  Uros Bizjak  <ubizjak@gmail.com>
153
154         * config/i386/i386.md (*movsf_internal): Change type of
155         alternatives 3,4 to imov.
156
157 2013-04-01  Andrey Belevantsev  <abel@ispras.ru>
158
159         Backport from mainline
160         2013-02-27  Andrey Belevantsev  <abel@ispras.ru>
161
162         PR middle-end/45472
163         * sel-sched-ir.c (merge_expr): Also change vinsn of merged expr
164         when the may_trap_p bit of the exprs being merged differs.
165         Reorder tests for speculativeness in the logical and operator.
166
167         Backport from mainline
168          2013-03-05  Jakub Jelinek  <jakub@redhat.com>
169
170         PR middle-end/56461
171         * sel-sched-ir.c (free_sched_pools): Release
172         succs_info_pool.stack[succs_info_pool.max_top] vectors too
173         if succs_info_pool.max_top isn't -1.
174
175 2013-04-01  Andrey Belevantsev  <abel@ispras.ru>
176
177         Backport from mainline
178         2012-02-19  Andrey Belevantsev  <abel@ispras.ru>
179
180         PR middle-end/55889
181         * sel-sched.c: Include ira.h.
182         (implicit_clobber_conflict_p): New function.
183         (moveup_expr): Use it.
184         * Makefile.in (sel-sched.o): Depend on ira.h.
185
186 2013-04-01  Andrey Belevantsev  <abel@ispras.ru>
187
188         Backport from mainline
189         2013-02-25  Andrey Belevantsev  <abel@ispras.ru>
190         Alexander Monakov  <amonakov@ispras.ru>
191
192         PR middle-end/56077
193         * sched-deps.c (sched_analyze_insn): When reg_pending_barrier,
194         flush pending lists also on non-jumps.  Adjust comment.
195
196 2013-03-30  Gerald Pfeifer  <gerald@pfeifer.com>
197
198         * doc/invoke.texi (AVR Options): Tweak link for AVR-LibC user manual.
199         * doc/extend.texi (Named Address Spaces): Ditto.
200         (Variable Attributes): Ditto.
201
202 2013-03-28  Eric Botcazou  <ebotcazou@adacore.com>
203
204         * toplev.c (process_options): Do not disable -fomit-frame-pointer on a
205         general basis if unwind info is requested and ACCUMULATE_OUTGOING_ARGS
206         is not enabled.
207
208 2013-03-27  Walter Lee  <walt@tilera.com>
209
210         Backport from mainline:
211         2013-03-27  Walter Lee  <walt@tilera.com>
212
213         * config/tilegx/tilegx.c (tilegx_expand_prologue): Avoid
214         double-decrement of next_scratch_regno.
215
216 2013-03-27  Walter Lee  <walt@tilera.com>
217
218         Backport from mainline:
219         2013-03-27  Walter Lee  <walt@tilera.com>
220
221         * config/tilegx/tilegx.md (insn_v1mulu): Fix predicates on
222         input operands.
223         (insn_v1mulus): Ditto.
224         (insn_v2muls): Ditto.
225
226 2013-03-27  Walter Lee  <walt@tilera.com>
227
228         Backport from mainline:
229         2013-03-27  Walter Lee  <walt@tilera.com>
230
231         * config/tilegx/tilegx.h (ASM_OUTPUT_ADDR_VEC_ELT): Delete
232         extra tab.
233         (ASM_OUTPUT_ADDR_DIFF_ELT): Ditto.
234
235 2013-03-27  Walter Lee  <walt@tilera.com>
236
237         Backport from mainline:
238         2013-03-27  Walter Lee  <walt@tilera.com>
239
240         * config/tilegx/tilegx.md (*sibcall_insn): Fix type atribute
241         for jr.
242         (*sibcall_value): Ditto.
243
244 2013-03-27  Walter Lee  <walt@tilera.com>
245
246         Backport from mainline:
247         2013-03-27  Walter Lee  <walt@tilera.com>
248
249         * config/tilegx/tilegx.md (insn_mnz_<mode>): Replaced by ...
250         (insn_mnz_v8qi): ... this ...
251         (insn_mnz_v4hi): ... and this.  Replace (const_int 0) with the
252         vector equivalent.
253         (insn_v<n>mnz): Replaced by ...
254         (insn_v1mnz): ... this ...
255         (insn_v2mnz): ... and this.  Replace (const_int 0) with the vector
256         equivalent.
257         (insn_mz_<mode>): Replaced by ...
258         (insn_mz_v8qi): ... this ...
259         (insn_mz_v4hi): ... and this.  Replace (const_int 0) with the
260         vector equivalent.
261         (insn_v<n>mz): Replaced by ...
262         (insn_v1mz): ... this ...
263         (insn_v2mz): ... and this.  Replace (const_int 0) with the vector
264         equivalent.
265
266 2013-03-26  Eric Botcazou  <ebotcazou@adacore.com>
267
268         * doc/invoke.texi (SPARC options): Remove -mlittle-endian.
269
270 2013-03-26  Richard Biener  <rguenther@suse.de>
271
272         Backport from mainline:
273         2013-03-13  Richard Biener  <rguenther@suse.de>
274
275         PR tree-optimization/56608
276         * tree-vect-slp.c (vect_schedule_slp): Do not remove scalar
277         calls when vectorizing basic-blocks.
278
279         2013-03-05  Richard Biener  <rguenther@suse.de>
280
281         PR tree-optimization/56270
282         * tree-vect-slp.c (vect_schedule_slp): Clear vectorized stmts
283         of loads after scheduling an SLP instance.
284
285 2013-03-26  Walter Lee  <walt@tilera.com>
286
287         Backport from mainline:
288         2013-03-26  Walter Lee  <walt@tilera.com>
289
290         * config/tilegx/tilegx.h (PROFILE_BEFORE_PROLOGUE): Define.
291         * config/tilegx/tilepro.h (PROFILE_BEFORE_PROLOGUE): Define.
292
293 2013-03-26  Walter Lee  <walt@tilera.com>
294
295         Backport from mainline:
296         2013-03-25  Walter Lee  <walt@tilera.com>
297
298         * config/tilegx/tilegx-builtins.h (enum tilegx_builtin): Add
299         TILEGX_INSN_SHUFFLEBYTES1.
300         * config/tilegx/tilegx.c (tilegx_builtin_info): Add entry for
301         shufflebytes1.
302         (tilegx_builtins): Ditto.
303         * config/tilegx/tilegx.md (insn_shufflebytes1): New pattern.
304
305 2013-03-26  Walter Lee  <walt@tilera.com>
306
307         Backport from mainline:
308         2013-03-25  Walter Lee  <walt@tilera.com>
309
310         * config/tilegx/tilegx.c (expand_set_cint64_one_inst): Inline
311         tests for constraint J, K, N, P.
312
313 2013-03-26  Walter Lee  <walt@tilera.com>
314
315         Backport from mainline:
316         2013-03-25  Walter Lee  <walt@tilera.com>
317
318         * config/tilegx/tilegx.c (tilegx_asm_preferred_eh_data_format):
319         Use indirect/pcrel encoding.
320         * config/tilepro/tilepro.c (tilepro_asm_preferred_eh_data_format):
321         Ditto.
322
323 2013-03-25  Oleg Endo  <olegendo@gcc.gnu.org>
324
325         Backport from mainline:
326         2013-03-13  Oleg Endo  <olegendo@gcc.gnu.org>
327         2013-03-14  Kaz Kojima  <kkojima@gcc.gnu.org>
328
329         PR target/49880
330         * config/sh/sh.opt (FPU_SINGLE_ONLY): New mask.
331         (musermode): Convert to Var(TARGET_USERMODE).
332         * config/sh/sh.h (SELECT_SH2A_SINGLE_ONLY, SELECT_SH4_SINGLE_ONLY,
333         MASK_ARCH): Add MASK_FPU_SINGLE_ONLY.
334         * config/sh/sh.c (sh_option_override): Use
335         TARGET_FPU_DOUBLE || TARGET_FPU_SINGLE_ONLY for call-fp case.
336         * config/sh/sh.md (udivsi3_i1, divsi3_i1): Remove ! TARGET_SH4
337         condition.
338         (udivsi3_i4, divsi3_i4): Use TARGET_FPU_DOUBLE condition instead of
339         TARGET_SH4.
340         (udivsi3_i4_single, divsi3_i4_single): Use
341         TARGET_FPU_SINGLE_ONLY || TARGET_FPU_DOUBLE instead of TARGET_HARD_SH4.
342         * config/sh/linux.h (TARGET_DEFAULT): Remove MASK_USERMODE.
343         (SUBTARGET_OVERRIDE_OPTIONS): Set TARGET_USERMODE as default.
344         * config/sh/netbsd-elf.h (TARGET_DEFAULT): Remove MASK_USERMODE.
345         (SUBTARGET_OVERRIDE_OPTIONS): New.
346
347 2013-03-25  Oleg Endo  <olegendo@gcc.gnu.org>
348
349         Backport from mainline:
350         2012-04-03  Kaz Kojima  <kkojima@gcc.gnu.org>
351
352         * config/sh/t-sh (MULTILIB_MATCHES): Match m2a-single-only
353         to m2a-single instead of m2e.
354
355 2013-03-22  H.J. Lu  <hongjiu.lu@intel.com>
356
357         PR target/56560
358         * config/i386/i386.h (ix86_args): Define only if USED_FOR_TARGET
359         isn't defined.
360
361 2013-03-22  H.J. Lu  <hongjiu.lu@intel.com>
362
363         PR target/56560
364         * config/i386/i386.c (init_cumulative_args): Also set
365         cum->callee_return_avx256_p.
366         (ix86_function_arg): Set cum->callee_pass_avx256_p.  Set
367         cfun->machine->callee_pass_avx256_p only when MODE == VOIDmode.
368
369         * config/i386/i386.h (ix86_args): Add callee_pass_avx256_p and
370         callee_return_avx256_p.
371
372 2013-03-20  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
373
374         Backport from mainline:
375         2012-12-04  Ian Lance Taylor  <iant@google.com>
376
377         * godump.c (find_dummy_types): Output a dummy type if we couldn't
378         output the real type.
379
380 2013-03-20  Jack Howarth  <howarth@bromo.med.uc.edu>
381
382         PR bootstrap/56258
383         * doc/generic.texi (POINTER_PLUS_EXPR): Use @item instead of @itemx.
384         (PLUS_EXPR): Likewise.
385         * doc/cppopts.texi (--help): Likewise.
386         * doc/invoke.texi (-fenable-@var{kind}-@var{pass}): Likewise.
387         (-fdump-rtl-cprop_hardreg): Likewise.
388         (-fdump-rtl-csa): Likewise.
389         (-fdump-rtl-dce): Likewise.
390         (-fdump-rtl-dbr): Likewise.
391         (-fdump-rtl-into_cfglayout): Likewise.
392         (-fdump-rtl-outof_cfglayout): Likewise.
393
394 2013-03-18  Richard Earnshaw  <rearnsha@arm.com>
395
396         PR target/56470
397         * config/arm/arm.c (shift_op): Validate RTL pattern on the fly.
398         (arm_print_operand, case 'S'): Don't use shift_operator to validate
399         the RTL.
400
401 2013-03-14  Seth LaForge  <sethml@google.com>
402
403         PR target/56351
404         Backport from mainline
405         2012-10-22  Julian Brown  <julian@codesourcery.com>
406
407         * config/arm/arm.h (CANNOT_CHANGE_MODE_CLASS): Avoid subreg'ing
408         VFP D registers in big-endian mode.
409
410 2013-03-08  Joey Ye  <joey.ye@arm.com>
411
412         Backport from mainline
413         2013-03-06  Joey Ye  <joey.ye@arm.com>
414
415         PR lto/50293
416         * gcc.c (convert_white_space): New function.
417         (main): Handles white space in function name.
418
419 2013-03-06  Oleg Endo  <olegendo@gcc.gnu.org>
420
421         Backport from mainline
422         2013-03-06  Oleg Endo  <olegendo@gcc.gnu.org>
423
424         PR target/56529
425         * config/sh/sh.c (sh_option_override): Check for TARGET_DYNSHIFT
426         instead of TARGET_SH2 for call-table case.  Do not set sh_div_strategy
427         to SH_DIV_CALL_TABLE for TARGET_SH2.
428         * config.gcc (sh_multilibs): Add m2 and m2a to sh*-*-linux* multilib
429         list.
430         * doc/invoke.texi (SH options): Use table for mdiv= option.  Document
431         mdiv= call-div1, call-fp, call-table options.
432
433 2013-03-06  Sebastian Huber <sebastian.huber@embedded-brains.de>
434
435         * config.gcc (arm*-*-rtemself*): New.
436         (arm*-*-rtems*): Removed.
437         (arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtemseabi*): Rename
438         "arm*-*-rtemseabi*" to "arm*-*-rtems*".
439
440 2013-03-01  Richard Biener  <rguenther@suse.de>
441
442         Backport from mainline
443         2012-12-12  Zdenek Dvorak  <ook@ucw.cz>
444
445         PR tree-optimization/55481
446         * tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Fall
447         back to general rewriting if we cannot leave an original biv
448         definition alone.
449
450 2013-03-01  Richard Biener  <rguenther@suse.de>
451
452         Backport from mainline
453         2012-04-10  Richard Guenther  <rguenther@suse.de>
454
455         PR middle-end/52888
456         * gimple-low.c (gimple_check_call_args): Properly account for
457         compatible aggregate types.
458
459 2013-02-26  Nick Clifton  <nickc@redhat.com>
460
461         PR target/56453
462         Import this patch from the mainline:
463
464         2012-08-17  Nick Clifton  <nickc@redhat.com>
465
466         * config/fr30/fr30.md (cbranchsi4): Remove mode from comparison.
467         (branch_true): Likewise.
468         (branch_false): Likewise.
469
470 2013-02-26  Jakub Jelinek  <jakub@redhat.com>
471
472         PR tree-optimization/56443
473         * tree-vect-stmts.c (get_vectype_for_scalar_type_and_size): For
474         overaligned types, pass TYPE_UNSIGNED (scalar_type) as second argument
475         to type_for_mode langhook.
476
477 2013-02-21  Jakub Jelinek  <jakub@redhat.com>
478
479         PR bootstrap/56258
480         * doc/invoke.texi (-fdump-rtl-pro_and_epilogue): Use @item
481         instead of @itemx.
482
483 2013-02-19  Jakub Jelinek  <jakub@redhat.com>
484
485         Backported from mainline
486         2013-02-19  Jakub Jelinek  <jakub@redhat.com>
487
488         PR tree-optimization/56350
489         * tree-vect-loop.c (vectorizable_reduction): If orig_stmt, return false
490         if haven't found reduction or nested cycle operand, rather than
491         asserting we must find it.
492
493         PR tree-optimization/56381
494         * tree-ssa-pre.c (create_expression_by_pieces): Fix up last argument
495         to fold_build3.
496
497         2013-02-08  Jakub Jelinek  <jakub@redhat.com>
498
499         PR tree-optimization/56250
500         * fold-const.c (extract_muldiv_1) <case NEGATE_EXPR>: Don't optimize
501         if type is unsigned and code isn't MULT_EXPR.
502
503         2013-02-06  Jakub Jelinek  <jakub@redhat.com>
504
505         PR middle-end/56217
506         * omp-low.c (use_pointer_for_field): Return false if
507         lower_send_shared_vars doesn't generate any copy-out code.
508
509         2012-11-27  Jakub Jelinek  <jakub@redhat.com>
510
511         PR tree-optimization/55110
512         * tree-vect-loop.c (vectorizable_reduction): Don't assert
513         that STMT_VINFO_RELATED_STMT of orig_stmt is stmt.
514
515 2013-02-18  Richard Biener  <rguenther@suse.de>
516
517         Revert
518         2013-02-04  Richard Biener  <rguenther@suse.de>
519
520         Backport from mainline
521         2012-07-04  Richard Guenther  <rguenther@suse.de>
522
523         PR tree-optimization/53844
524         * tree-ssa-dse.c (dse_possible_dead_store_p): Properly handle
525         the loop virtual PHI.
526
527 2013-02-13  David S. Miller  <davem@davemloft.net>
528
529         * expmed.c (expand_shift_1): Only strip scalar integer subregs.
530
531 2013-02-11  Uros Bizjak  <ubizjak@gmail.com>
532
533         Backport from mainline
534         2013-02-11  Uros Bizjak  <ubizjak@gmail.com>
535
536         PR rtl-optimization/56275
537         * simplify-rtx.c (avoid_constant_pool_reference): Check that
538         offset is non-negative and less than cmode size before
539         calling simplify_subreg.
540
541 2013-02-09  Uros Bizjak  <ubizjak@gmail.com>
542
543         Backport from mainline
544         2013-02-08  Uros Bizjak  <ubizjak@gmail.com>
545
546         * config/i386/sse.md (FMAMODEM): New mode iterator.
547         (fma<mode>4, fms<mode>4, fnma<mode>4, fnms<mode>4): Use FMAMODEM
548         mode iterator. Do not use TARGET_SSE_MATH in insn constraint.
549
550         2013-02-08  Uros Bizjak  <ubizjak@gmail.com>
551
552         * config/i386/gnu-user.h (TARGET_CAN_SPLIT_STACK): Define only
553         when HAVE_GAS_CFI_PERSONALITY_DIRECTIVE is set.
554         * config/i386/gnu-user64.h (TARGET_CAN_SPLIT_STACK): Ditto.
555
556 2013-02-08  Michael Meissner  <meissner@linux.vnet.ibm.com>
557
558         Backport from mainline
559         2013-02-08  Michael Meissner  <meissner@linux.vnet.ibm.com>
560
561         PR target/56043
562         * config/rs6000/rs6000.c (rs6000_builtin_vectorized_libmass):
563         If there is no implicit builtin declaration, just return NULL.
564
565 2013-02-08  David Edelsohn  <dje.gcc@gmail.com>
566             Michael Meissner  <meissner@linux.vnet.ibm.com>
567
568         Backport from mainline
569         * config/rs6000/rs6000.c (rs6000_option_override_internal): Clear
570         MASK_VSX from set_masks if OS_MISSING_ALTIVEC.
571
572 2013-02-07  David S. Miller  <davem@davemloft.net>
573
574         * dwarf2out.c (based_loc_descr): Perform leaf register remapping
575         on 'reg'.
576         * var-tracking.c (vt_add_function_parameter): Test the presence of
577         HAVE_window_save properly and do not remap argument registers when
578         we have a leaf function.
579
580 2013-02-07  Uros Bizjak  <ubizjak@gmail.com>
581
582         Backport from mainline
583         2013-02-07  Uros Bizjak  <ubizjak@gmail.com>
584
585         PR bootstrap/56227
586         * ggc-page.c (ggc_print_statistics): Use HOST_LONG_LONG_FORMAT
587         instead of "ll".
588         * config/i386/i386.c (ix86_print_operand): Ditto.
589
590 2013-02-07  Alan Modra  <amodra@gmail.com>
591
592         PR target/53040
593         * config/rs6000/rs6000.c (rs6000_savres_strategy): When using
594         static chain, set REST_INLINE_FPRS too.
595
596 2013-02-06  David Edelsohn  <dje.gcc@gmail.com>
597
598         Backport from mainline
599         2013-01-25  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
600
601         * configure.ac (gcc_cv_ld_static_dynamic): Define for AIX native ld.
602         * configure: Regenerate.
603
604 2013-02-05  David Edelsohn  <dje.gcc@gmail.com>
605
606         Backport from mainline
607         2013-02-03  David Edelsohn  <dje.gcc@gmail.com>
608                     Andrew Dixie  <andrewd@gentrack.com>
609
610         * collect2.c (GCC_CHECK_HDR): Do not scan objects with F_LOADONLY
611         flag set.
612
613 2013-02-05  Richard Biener  <rguenther@suse.de>
614
615         Backport from mainline
616         2012-12-10  Richard Biener  <rguenther@suse.de>
617
618         PR tree-optimization/55107
619         * tree-ssa-pre.c (struct pre_stats): Remove constified field.
620         (bitmap_set_replace_value): Add gcc_unreachable.
621         (do_regular_insertion): Re-write all_same handling.  Insert
622         an assignment instead of a PHI in this case.
623         (execute_pre): Do not record constified events.
624
625 2013-02-05  Richard Biener  <rguenther@suse.de>
626
627         PR tree-optimization/54767
628         * tree-vrp.c (vrp_visit_phi_node): For PHI arguments coming via
629         backedges drop all symbolical range information.
630         (execute_vrp): Compute backedges.
631
632 2013-02-04  Richard Biener  <rguenther@suse.de>
633
634         Backport from mainline
635         2012-01-11  Richard Guenther  <rguenther@suse.de>
636
637         PR tree-optimization/44061
638         * tree-vrp.c (extract_range_basic): Compute zero as
639         value-range for __builtin_constant_p of function parameters.
640
641         2013-01-08  Jakub Jelinek  <jakub@redhat.com>
642
643         PR middle-end/55890
644         * tree-ssa-ccp.c (evaluate_stmt): Use gimple_call_builtin_class_p.
645
646 2013-02-04  Richard Biener  <rguenther@suse.de>
647
648         Backport from mainline
649         2012-07-04  Richard Guenther  <rguenther@suse.de>
650
651         PR tree-optimization/53844
652         * tree-ssa-dse.c (dse_possible_dead_store_p): Properly handle
653         the loop virtual PHI.
654
655         2012-12-13  Richard Biener  <rguenther@suse.de>
656
657         PR lto/55660
658         * tree-streamer.c (record_common_node): Check that we are not
659         recursively pre-loading nodes we want to skip.  Handle
660         char_type_node appearing as part of va_list_type_node.
661
662 2013-02-04  Richard Biener  <rguenther@suse.de>
663
664         PR middle-end/55890
665         * gimple.h (gimple_call_builtin_class_p): New function.
666         * gimple.c (validate_call): New function.
667         (gimple_call_builtin_class_p): Likewise.
668         * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
669         Use gimple_call_builtin_class_p.
670         (find_func_clobbers): Likewise.
671         * tree-ssa-strlen.c (adjust_last_stmt): Likewise.
672         (strlen_optimize_stmt): Likewise.
673
674 2013-02-01  Jakub Jelinek  <jakub@redhat.com>
675
676         Backported from mainline
677         2013-01-28  Jakub Jelinek  <jakub@redhat.com>
678
679         PR tree-optimization/56125
680         * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Don't optimize
681         pow(x,c) into sqrt(x) * powi(x, n/2) or
682         1.0 / (sqrt(x) * powi(x, abs(n/2))) if c is an integer or when
683         optimizing for size.
684         Don't optimize pow(x,c) into powi(x, n/3) * powi(cbrt(x), n%3) or
685         1.0 / (powi(x, abs(n)/3) * powi(cbrt(x), abs(n)%3)) if 2c is an
686         integer.
687
688         2013-01-25  Jakub Jelinek  <jakub@redhat.com>
689
690         PR tree-optimization/56098
691         * tree-ssa-phiopt.c (nt_init_block): Don't call add_or_mark_expr
692         for stmts with volatile ops.
693         (cond_store_replacement): Don't optimize if assign has volatile ops.
694         (cond_if_else_store_replacement_1): Don't optimize if either
695         then_assign or else_assign have volatile ops.
696
697         2013-01-23  Jakub Jelinek  <jakub@redhat.com>
698
699         PR target/49069
700         * config/arm/arm.md (cbranchdi4, cstoredi4): Use s_register_operand
701         instead of cmpdi_operand for first comparison operand.
702         Don't assert that comparison operands aren't both constants.
703
704         2013-01-21  Jakub Jelinek  <jakub@redhat.com>
705
706         PR tree-optimization/56051
707         * fold-const.c (fold_binary_loc): Don't fold
708         X < (cast) (1 << Y) into (X >> Y) != 0 if cast is either
709         a narrowing conversion, or widening conversion from signed
710         to unsigned.
711
712         2013-01-18  Jakub Jelinek  <jakub@redhat.com>
713
714         PR middle-end/56015
715         * expr.c (expand_expr_real_2) <case COMPLEX_EXPR>: Handle
716         the case where writing real complex part of target modifies
717         op1.
718
719         2013-01-15  Jakub Jelinek  <jakub@redhat.com>
720
721         PR target/55940
722         * function.c (thread_prologue_and_epilogue_insns): Always
723         add crtl->drap_reg to set_up_by_prologue.set, even if
724         stack_realign_drap is false.
725
726         2013-01-10  Jakub Jelinek  <jakub@redhat.com>
727
728         PR tree-optimization/55921
729         * tree-complex.c (expand_complex_asm): New function.
730         (expand_complex_operations_1): Call it for GIMPLE_ASM.
731
732         2013-01-03  Jakub Jelinek  <jakub@redhat.com>
733
734         PR rtl-optimization/55838
735         * loop-iv.c (iv_number_of_iterations): Call lowpart_subreg on
736         iv0.step, iv1.step and step.
737
738         2012-11-23  Jakub Jelinek  <jakub@redhat.com>
739
740         PR c++/54046
741         * Makefile.in (gimple-low.o): Depend on langhooks.h.
742         * gimple-low.c: Include langhooks.c.
743         (block_may_fallthru): Handle TARGET_EXPR and ERROR_MARK,
744         by default call lang_hooks.block_may_fallthru.
745         * langhooks.h (struct lang_hooks): Add block_may_fallthru
746         langhook.
747         * langhooks-def.h (LANG_HOOKS_BLOCK_MAY_FALLTHRU): Define.
748         (LANG_HOOKS_INITIALIZER): Use it.
749
750         2012-11-20  Jakub Jelinek  <jakub@redhat.com>
751
752         PR middle-end/55094
753         * builtins.c (expand_builtin_trap): Add REG_ARGS_SIZE note
754         on the trap insn for !ACCUMULATE_OUTGOING_ARGS.
755         * cfgcleanup.c (outgoing_edges_match): Don't look at debug insns
756         on the first old_insns_match_p call.  For !ACCUMULATE_OUTGOING_ARGS
757         fail if the last real insn doesn't have REG_ARGS_SIZE note.
758
759         2012-11-17  Jakub Jelinek  <jakub@redhat.com>
760
761         PR tree-optimization/55236
762         * fold-const.c (make_range_step) <case NEGATE_EXPR>: For -fwrapv
763         and signed ARG0_TYPE, force low and high to be non-NULL.
764
765         2012-11-13  Jakub Jelinek  <jakub@redhat.com>
766
767         PR rtl-optimization/54127
768         * cfgrtl.c (force_nonfallthru_and_redirect): When redirecting
769         asm goto labels from BB_HEAD (e->dest) to target bb, decrement
770         LABEL_NUSES of BB_HEAD (e->dest) and increment LABEL_NUSES of
771         BB_HEAD (target) appropriately and adjust JUMP_LABEL and/or
772         REG_LABEL_TARGET and REG_LABEL_OPERAND.
773
774 2013-02-01  Eric Botcazou  <ebotcazou@adacore.com>
775
776         * fold-const.c (make_range_step) <TRUTH_NOT_EXPR>: Bail out if the
777         range isn't testing for zero.
778
779 2013-01-29  Richard Biener  <rguenther@suse.de>
780
781         PR tree-optimization/56113
782         * tree-ssa-structalias.c (equiv_class_lookup): Also return
783         the bitmap leader.
784         (label_visit): Free duplicate bitmaps and record the leader instead.
785         (perform_var_substitution): Adjust.
786
787 2013-01-28  Serowk  <serowk@yandex.ru>
788
789         PR target/35294
790         * config/arm/arm.c (arm_expand_binop_builtin): Add new parameter.
791         Fix mode checks to allow for the passing of constants in the
792         second parameter.
793         (arm_expand_builtin): Adjust calls to arm_expand_binop_builtin.
794         Add entries in the switch statement for builtin iwmmxt vector
795         shift and rotate builtins.
796
797 2013-01-27  Uros Bizjak  <ubizjak@gmail.com>
798
799         Backport from mainline
800         2013-01-27  Uros Bizjak  <ubizjak@gmail.com>
801
802         PR target/56114
803         * config/i386/i386.md (*movabs<mode>_1): Add square brackets around
804         operand 0 in movabs insn template for -masm=intel asm alternative.
805         (*movabs<mode>_2): Ditto for operand 1.
806
807 2013-01-27  Uros Bizjak  <ubizjak@gmail.com>
808
809         Backport from mainline
810         2013-01-22  Uros Bizjak  <ubizjak@gmail.com>
811
812         PR target/56028
813         * config/i386/i386.md (*movti_internal_rex64): Change (o,riF)
814         alternative to (o,r).
815         (*movdi_internal_rex64): Remove (!o,n) alternative.
816         (DImode immediate->memory splitter): Remove.
817         (DImode immediate->memory peephole2): Remove.
818         (movtf): Enable for TARGET_64BIT || TARGET_SSE.
819         (*movtf_internal_rex64): Rename from *movtf_internal. Change (!o,F*r)
820         alternative to (!o,*r).
821         (*movtf_internal_sse): New pattern.
822         (*movxf_internal_rex64): New pattern.
823         (*movxf_internal): Disable for TARGET_64BIT.
824         (*movdf_internal_rex64): Remove (!o,F) alternative.
825
826         2013-01-23  Uros Bizjak  <ubizjak@gmail.com>
827
828         * config/i386/i386.md (*movdf_internal_rex64): Disparage alternatives
829         involving stack registers slightly.
830
831         2013-01-24  Uros Bizjak  <ubizjak@gmail.com>
832
833         * config/i386/constraints.md (Yf): New constraint.
834         * config/i386/i386.md (*movdf_internal_rex64): Use Yf*f instead
835         of f constraint to conditionaly disable x87 register preferences.
836         (*movdf_internal): Ditto.
837         (*movsf_internal): Ditto.
838
839         2012-01-24  Uros Bizjak  <ubizjak@gmail.com>
840
841         * config/i386/i386.md (*movti_internal_rex64): Add (o,e) alternative.
842         (*movtf_internal_rex64): Add (!o,C) alternative
843         (*movxf_internal_rex64): Ditto.
844         (*movdf_internal_rex64): Add (?r,C) and (?m,C) alternatives.
845
846 2013-01-25  Georg-Johann Lay  <avr@gjlay.de>
847
848         * doc/invoke.texi (AVR Built-in Macros): Document __XMEGA__.
849
850 2013-01-24  Martin Jambor  <mjambor@suse.cz>
851
852         Backport from mainline
853         2013-01-04  Martin Jambor  <mjambor@suse.cz>
854
855         PR tree-optimization/55755
856         * tree-sra.c (sra_modify_assign): Do not check that an access has no
857         children when trying to avoid producing a VIEW_CONVERT_EXPR.
858
859 2013-01-21  Uros Bizjak  <ubizjak@gmail.com>
860
861         Backport from mainline
862         2013-01-21  Uros Bizjak  <ubizjak@gmail.com>
863
864         * config/i386/i386.md (enabled): Do not disable fma4 for TARGET_FMA.
865
866 2013-01-21  Uros Bizjak  <ubizjak@gmail.com>
867
868         PR rtl-optimization/56023
869         * haifa-sched.c (fix_inter_tick): Do not update ticks of instructions,
870         dependent on debug instruction.
871
872 2013-01-21  Martin Jambor  <mjambor@suse.cz>
873
874         Backport from mainline
875         2013-01-17  Martin Jambor  <mjambor@suse.cz>
876
877         PR tree-optimizations/55264
878         * cgraph.c (cgraph_create_virtual_clone): Mark clones as non-virtual.
879         * cgraph.h (cgraph_only_called_directly_p_or_aliased_p): Return false
880         for virtual functions.
881         * ipa-inline-transform.c (can_remove_node_now_p_1): Never return true
882         for virtual methods.
883         * ipa.c (cgraph_remove_unreachable_nodes): Never return true for
884         virtual methods before inlining is over.
885
886 2013-01-17  Uros Bizjak  <ubizjak@gmail.com>
887
888         Backport from mainline
889         2012-01-17  Uros Bizjak  <ubizjak@gmail.com>
890
891         PR target/55981
892         * config/i386/sync.md (atomic_store<mode>): Generate SWImode
893         store through atomic_store<mode>_1.
894         (atomic_store<mode>_1): Macroize insn using SWI mode iterator.
895
896 2013-01-16  Richard Biener  <rguenther@suse.de>
897
898         PR middle-end/55882
899         * emit-rtl.c (set_mem_attributes_minus_bitpos): Correctly
900         account for bitpos when computing alignment.
901
902 2013-01-14  Georg-Johann Lay  <avr@gjlay.de>
903
904         Backport from 2013-01-14 trunk r195169.
905
906         PR target/55974
907         * config/avr/avr-c.c (avr_cpu_cpp_builtins): Define __FLASH
908         etc. to 1 and not to __flash.
909         Use LL suffix for __INT24_MAX__ with -mint8.
910         Use ULL suffix for __UINT24_MAX__ with -mint8.
911
912 2013-01-14  Matthias Klose  <doko@ubuntu.com>
913
914         * doc/invoke.texi: Document -print-multiarch.
915         * doc/install.texi: Document --enable-multiarch.
916         * doc/fragments.texi: Document MULTILIB_OSDIRNAMES, MULTIARCH_DIRNAME.
917         * configure.ac: Add --enable-multiarch option.
918         Substitute with_cpu, with_float.
919         * configure: Regenerate.
920         * Makefile.in (s-mlib): Pass MULTIARCH_DIRNAME to genmultilib.
921         enable_multiarch, with_cpu, with_float: New macros.
922         if_multiarch: New macro, define in terms of enable_multiarch.
923         * genmultilib: Add new argument for the multiarch name.
924         * gcc.c (multiarch_dir): Define.
925         (for_each_path): Search for multiarch suffixes.
926         (driver_handle_option): Handle multiarch option.
927         (do_spec_1): Pass -imultiarch if defined.
928         (main): Print multiarch.
929         (set_multilib_dir): Separate multilib and multiarch names
930         from multilib_select.
931         (print_multilib_info): Ignore multiarch names in multilib_select.
932         * incpath.c (add_standard_paths): Search the multiarch include dirs.
933         * cppdefault.h (default_include): Document multiarch in multilib
934         member.
935         * cppdefault.c: [LOCAL_INCLUDE_DIR, STANDARD_INCLUDE_DIR] Add an
936         include directory for multiarch directories.
937         * common.opt: New options --print-multiarch and -imultilib.
938
939         * config.gcc <i[34567]86-*-linux* | x86_64-*-linux*> (tmake_file):
940         Include i386/t-linux.
941         <i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu> (tmake_file):
942         Include i386/t-kfreebsd.
943         <i[34567]86-*-gnu*> (tmake_file): Include i386/t-gnu.
944         * config/i386/t-linux64: Add multiarch names in
945         MULTILIB_OSDIRNAMES, define MULTIARCH_DIRNAME.
946         * config/i386/t-gnu: New file.
947         * config/i386/t-kfreebsd: Likewise.
948         * config/i386/t-linux: Likewise.
949
950         * config/sparc/t-linux64: Add multiarch names in MULTILIB_OSDIRNAMES.
951         * config/sparc/t-linux: New file; define MULTIARCH_DIRNAME.
952         * config.gcc <sparc-*-linux*> (tmake_file): Include sparc/t-linux
953         for 32bit non-biarch configurations.
954
955         * config/pa/t-linux: New file; define MULTIARCH_DIRNAME.
956         * config.gcc <hppa*64*-*-linux*, hppa*-*-linux*> (tmake_file):
957         Include pa/t-linux.
958
959         * config/mips/t-linux64: Add multiarch names in MULTILIB_OSDIRNAMES.
960
961         * config/arm/t-linux-eabi: Define MULTIARCH_DIRNAME for linux target.
962
963         * config/rs6000/t-linux64: Add multiarch names in MULTILIB_OSDIRNAMES.
964         * config/rs6000/t-linux: New file; define MULTIARCH_DIRNAME.
965         * config/rs6000/t-fprules (SOFT_FLOAT_CPUS): New macro. Add e300c2
966         to the list.
967         (MULTILIB_MATCHES_FLOAT): Define in terms of SOFT_FLOAT_CPUS.
968         * config.gcc <powerpc-*-linux* | powerpc64-*-linux*> (tmake_file):
969         Include rs6000/t-linux for 32bit non-biarch configurations.
970
971         * config/s390/t-linux64: Add multiarch names in MULTILIB_OSDIRNAMES.
972
973         * config/m68k/t-linux: Define MULTIARCH_DIRNAME.
974
975         * config/ia64/t-linux: New file; define MULTIARCH_DIRNAME.
976         * config.gcc <ia64*-*-linux*> (tmake_file): Include ia64/t-linux.
977
978         * config/alpha/t-linux: New file; define MULTIARCH_DIRNAME.
979         * config.gcc <alpha*-*-linux*> (tmake_file): Include alpha/t-linux.
980
981 2013-01-14  Eric Botcazou  <ebotcazou@adacore.com>
982
983         * tree-vectorizer.h (vect_get_single_scalar_iteraion_cost): Fix typo.
984         * tree-vect-loop.c (vect_get_single_scalar_iteraion_cost): Likewise.
985         (vect_estimate_min_profitable_iter): Adjust to above fix.
986         * tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost): Likewise.
987
988 2013-01-11  Michael Meissner  <meissner@linux.vnet.ibm.com>
989
990         Backport from mainline
991         2013-01-11  Michael Meissner  <meissner@linux.vnet.ibm.com>
992
993         * doc/extend.texi (X86 Built-in Functions): Add whitespace in
994         __builtin_ia32_paddb256 and __builtin_ia32_pavgb256
995         documentation.  Add missing '__' in front of
996         __builtin_ia32_packssdw256.
997
998 2013-01-09  Uros Bizjak  <ubizjak@gmail.com>
999
1000         Backport from mainline
1001         2013-01-09  Uros Bizjak  <ubizjak@gmail.com>
1002
1003         * config/i386/sse.md (*vec_interleave_highv2df): Change mode
1004         attribute of movddup insn to DF.
1005         (*vec_interleave_lowv2df): Ditto.
1006         (vec_dupv2df): Ditto.
1007
1008 2013-01-07  Georg-Johann Lay  <avr@gjlay.de>
1009
1010         Backport from 2013-01-07 trunk r194991, r194992.
1011
1012         PR target/55897
1013         * doc/extend.texi (AVR Named Address Spaces): __memx goes into
1014         .progmemx.data now.
1015
1016         * config/avr/avr.h (ADDR_SPACE_COUNT): New enum.
1017         (avr_addrspace_t): Add .section_name field.
1018         * config/avr/avr.c (progmem_section): Use ADDR_SPACE_COUNT as
1019         array size.
1020         (avr_addrspace): Same.  Initialize .section_name.  Remove last
1021         NULL entry.  Put __memx into .progmemx.data.
1022         (progmem_section_prefix): Remove.
1023         (avr_asm_init_sections): No need to initialize progmem_section.
1024         (avr_asm_named_section): Use avr_addrspace[].section_name to get
1025         section name prefix.
1026         (avr_asm_select_section): Ditto.  And use get_unnamed_section to
1027         retrieve the progmem section.
1028         * avr-c.c (avr_cpu_cpp_builtins): Use ADDR_SPACE_COUNT as loop
1029         boundary to run over avr_addrspace[].
1030         (avr_register_target_pragmas): Ditto.
1031
1032 2013-01-07  Georg-Johann Lay  <avr@gjlay.de>
1033
1034         Backport from 2013-01-07 trunk r194978.
1035
1036         PR target/54461
1037         * doc/install.texi (Cross-Compiler-Specific Options): Document
1038         --with-avrlibc.
1039
1040 2013-01-07  Georg-Johann Lay  <avr@gjlay.de>
1041
1042         Backport from 2013-01-07 trunk r194968.
1043
1044         PR other/55243
1045         * config/avr/t-avr: Don't automatically rebuild
1046         $(srcdir)/config/avr/t-multilib
1047         $(srcdir)/config/avr/avr-tables.opt
1048         (avr-mcus): New phony target to build them on request.
1049         (s-avr-mlib): Remove.
1050         * avr/avr-mcus.def: Adjust comments.
1051
1052 2013-01-07  Terry Guo  <terry.guo@arm.com>
1053
1054         Backport from mainline
1055         2012-12-19  Terry Guo  <terry.guo@arm.com>
1056
1057         * config/arm/arm.c (thumb_find_work_register): Check argument
1058         register number based on current PCS.
1059
1060 2013-01-06  Uros Bizjak  <ubizjak@gmail.com>
1061
1062         Backport from mainline
1063         2013-01-03  Uros Bizjak  <ubizjak@gmail.com>
1064
1065         PR target/55712
1066         * config/i386/i386-c.c (ix86_target_macros_internal): Depending on
1067         selected code model, define __code_mode_small__, __code_model_medium__,
1068         __code_model_large__, __code_model_32__ or __code_model_kernel__.
1069         * config/i386/cpuid.h (__cpuid, __cpuid_count) [__i386__]: Prefix
1070         xchg temporary register with %k.  Declare temporary register as
1071         early clobbered.
1072         [__x86_64__]: For medium and large code models, preserve %rbx register.
1073
1074 2013-01-03  Richard Henderson  <rth@redhat.com>
1075
1076         * config/i386/i386.c (ix86_expand_move): Always assign to op1
1077         after eliminating TLS symbols.
1078
1079 2013-01-03  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1080
1081         PR target/53789
1082         * config/pa/pa.md (movsi): Revert previous change.
1083         * config/pa/pa.c (pa_legitimate_constant_p): Reject all TLS symbol
1084         references.
1085
1086 2013-01-02  Rainer Emrich  <rainer@emrich-ebersheim.de>
1087
1088         PR bootstrap/55707
1089         * graphite-dependences.c (hash_poly_ddr_p): Cast from pointer via
1090         intptr_t.
1091
1092 2013-01-02  Jason Merrill  <jason@redhat.com>
1093
1094         PR c++/55804
1095         * tree.c (build_array_type_1): Revert earlier change.
1096
1097 2012-12-25  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1098
1099         PR target/53789
1100         * config/pa/pa.md (movsi): Reject expansion of TLS symbol references
1101         after reload starts.
1102
1103 2012-12-21  Martin Jambor  <mjambor@suse.cz>
1104
1105         PR tree-optimization/55355
1106         * tree-sra.c (type_internals_preclude_sra_p): Also check that
1107         bit_position is small enough to fit a single HOST_WIDE_INT.
1108
1109 2012-12-21  Matthew Gretton-Dann  <matthew.gretton-dann@linaro.org>
1110
1111         * config.gcc: Match arm*-*-uclinux*eabi* for EABI uCLinux.
1112
1113 2012-12-18  Matthew Gretton-Dann  <matthew.gretton-dann@linaro.org>
1114
1115         Backport from mainline
1116         2012-10-15  Matthias Klose  <doko@ubuntu.com>
1117
1118         * config.gcc: Match arm*-*-linux-* for ARM Linux/GNU.
1119         * doc/install.texi: Use arm-*-*linux-* instead of arm-*-*linux-gnueabi.
1120
1121 2012-12-16  Eric Botcazou  <ebotcazou@adacore.com>
1122             Tomash Brechko  <tomash.brechko@gmail.com>
1123
1124         PR target/55673
1125         * config/sparc/sparc.c (sparc_emit_membar_for_model): Fix reversed
1126         handling of before and after cases.
1127         * config/sparc/sync.md (atomic_store): Fix pasto.
1128
1129 2012-12-14  Yvan Roux  <yvan.roux@linaro.org>
1130
1131         * optabs.c (expand_atomic_store): Elide redundant model test.
1132
1133 2012-12-13  Richard Henderson  <rth@redhat.com>
1134
1135         PR middle-end/55492
1136         * optabs.c (expand_atomic_load): Emit acquire barrier after the load.
1137
1138 2012-12-11  Eric Botcazou  <ebotcazou@adacore.com>
1139
1140         PR target/54121
1141         * config/sparc/sparc.md (tldo_stb_sp32): Fix pasto.
1142         (tldo_stb_sp64): Likewise.
1143         (tldo_sth_sp32): Likewise.
1144         (tldo_sth_sp64): Likewise.
1145         (tldo_stw_sp32): Likewise.
1146         (tldo_stw_sp64): Likewise.
1147         (tldo_stx_sp64): Likewise.
1148
1149 2012-12-10 Kai Tietz  <ktietz@redhat.com>
1150
1151         PR target/53912
1152         * print-tree.c (print_node): Cast from pointer via uintptr_t.
1153
1154 2012-12-07  Uros Bizjak  <ubizjak@gmail.com>
1155
1156         Backport from mainline
1157         2012-12-06  Uros Bizjak  <ubizjak@gmail.com>
1158                     H.J. Lu  <hongjiu.lu@intel.com>
1159
1160         PR target/55597
1161         * config/i386/i386.c (legitimize_tls_address): Zero-extend x to Pmode,
1162         before using it as insn or call equivalent.
1163
1164 2012-12-06  Jason Merrill  <jason@redhat.com>
1165
1166         PR c++/55032
1167         * tree.c (build_array_type_1): Re-layout if we found it in the
1168         hash table.
1169
1170 2012-12-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1171
1172         * config/pa/pa.md: Use "const_int 0" instead of match_test to simplify
1173         opaque cond in all call insns.
1174
1175 2012-12-03  Eric Botcazou  <ebotcazou@adacore.com>
1176
1177         * config/ia64/ia64.c (ia64_compute_frame_size): Allocate the scratch
1178         area if the function allocates dynamic stack space.
1179         (ia64_initial_elimination_offset): Adjust offsets to above change.
1180
1181 2012-12-03  Richard Biener  <rguenther@suse.de>
1182
1183         Backport from mainline
1184         2012-09-24  Richard Guenther  <rguenther@suse.de>
1185
1186         PR tree-optimization/53663
1187         * tree-ssa-sccvn.c (vn_reference_lookup_3): Conditional
1188         native encode/interpret translation on VN_WALKREWRITE.
1189
1190 2012-12-03 Kai Tietz  <ktietz@redhat.com>
1191
1192         PR target/53912
1193         * ggc-common.c (POINTER_HASH): Cast from pointer via intptr_t.
1194
1195         PR target/53912
1196         * tree-dump.c (dump_pointer): Print pointer via HOST_WIDE_INT_PRINT.
1197
1198         PR target/53912
1199         * pointer-set.c (hash1): Cast from pointer via uintptr_t.
1200
1201 2012-12-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1202
1203         Backport from mainline:
1204         2012-11-12  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1205
1206         PR target/55195
1207         * config/pa/pa.md (type): Add sibcall and sh_func_adrs insn types.
1208         (in_branch_delay): Don't allow sibcall or sh_func_adrs insns.
1209         (in_nullified_branch_delay): Likewise.
1210         (in_call_delay): Likewise.
1211         Define delay for sibcall insns.  Adjust Z3 and Z4 insn reservations for
1212         new types.  Add opaque cond to mark all calls, sibcalls, dyncalls and
1213         the $$sh_func_adrs call as variable.  Update type of sibcalls and
1214         $$sh_func_adrs call.
1215         * config/pa/pa.c (pa_adjust_insn_length): Revise to return updated
1216         length instead of adjustment.  Handle negative and undefined call
1217         adjustments for insn_default_length.  Remove adjustment for millicode
1218         insn with unfilled delay slot.
1219         (pa_output_millicode_call): Update for revised millicode length.
1220         * config/pa/pa.h (ADJUST_INSN_LENGTH): Revise to set LENGTH.
1221
1222 2012-11-29  Kai Tietz  <ktietz@redhat.com>
1223
1224         PR target/55171
1225         * prefix.c (lookup_key): Replace xmalloc/xrealloc
1226         use by XNEWVEC/XRESIZEVEC.
1227
1228         * i386.c (get_scratch_register_on_entry): Handle
1229         thiscall-convention.
1230         (split_stack_prologue_scratch_regno): Likewise.
1231         (ix86_static_chain): Likewise.
1232         (x86_output_mi_thunk): Likewise.
1233
1234 2012-11-28  H.J. Lu  <hongjiu.lu@intel.com>
1235
1236         Backported from mainline
1237         2012-11-27  H.J. Lu  <hongjiu.lu@intel.com>
1238                     Markus Trippelsdorf  <markus@trippelsdorf.de>
1239
1240         PR lto/54795
1241         * lto-opts.c (lto_write_options): Also handle
1242         OPT_SPECIAL_unknown, OPT_SPECIAL_ignore and
1243         OPT_SPECIAL_program_name.
1244
1245         PR lto/55474
1246         * lto-wrapper.c (merge_and_complain): Handle
1247         OPT_SPECIAL_unknown, OPT_SPECIAL_ignore,
1248         OPT_SPECIAL_program_name and OPT_SPECIAL_input_file.
1249
1250 2012-11-27  Paolo Bonzini  <pbonzini@redhat.com>
1251
1252         PR rtl-optimization/55489
1253         * gcse.c (compute_transp): Precompute a canonical version
1254         of XEXP (x, 0), and pass it to canon_true_dependence.
1255
1256 2012-11-27  Richard Biener  <rguenther@suse.de>
1257
1258         PR middle-end/55331
1259         * gimple-fold.c (gimplify_and_update_call_from_tree): Replace
1260         stmt with a NOP instead of removing it.
1261
1262 2012-11-26  Richard Biener  <rguenther@suse.de>
1263
1264         Backport from mainline
1265         2012-10-19  Richard Biener  <rguenther@suse.de>
1266
1267         PR tree-optimization/54976
1268         * tree-vect-stmts.c (get_vectype_for_scalar_type_and_size):
1269         Robustify against odd inner_mode inputs.
1270
1271         2012-10-12  Richard Biener  <rguenther@suse.de>
1272
1273         PR tree-optimization/54894
1274         * tree-vect-stmts.c (get_vectype_for_scalar_type_and_size):
1275         Handle over-aligned scalar types properly.
1276
1277         2012-10-02  Richard Guenther  <rguenther@suse.de>
1278
1279         PR middle-end/54735
1280         * tree-ssa-pre.c (do_pre): Make sure to update virtual SSA form before
1281         cleaning up the CFG.
1282
1283 2012-11-21  Michael Meissner  <meissner@linux.vnet.ibm.com>
1284
1285         Backport from mainline
1286         2012-11-20  Michael Meissner  <meissner@linux.vnet.ibm.com>
1287
1288         * config/rs6000/rs6000.md (movdf_hardfloat32): Add a comment
1289         explaining the register ordering preferences.
1290
1291         2012-11-19  Michael Meissner  <meissner@linux.vnet.ibm.com>
1292         * config/rs6000/rs6000.md (movdf_hardfloat32): Reorder move
1293         constraints so that the traditional floating point loads, stores,
1294         and moves are done first, then the VSX loads, stores, and moves,
1295         and finally the GPR loads, stores, and moves so that reload
1296         chooses FPRs over GPRs, and uses the traditional load/store
1297         instructions which provide an offset.
1298         (movdf_hardfloat64): Likewise.
1299
1300 2012-11-19  H.J. Lu  <hongjiu.lu@intel.com>
1301
1302         Backported from mainline
1303         2012-11-13  Eric Botcazou  <ebotcazou@adacore.com>
1304                     H.J. Lu  <hongjiu.lu@intel.com>
1305
1306         PR middle-end/55142
1307         * config/i386/i386.c (legitimize_pic_address): Properly handle
1308         REG + CONST.
1309         (ix86_print_operand_address): Set code to 'k' when forcing
1310         addr32 prefix.  For x32, zero-extend negative displacement if
1311         it < -16*1024*1024.
1312
1313 2012-11-12  Eric Botcazou  <ebotcazou@adacore.com>
1314
1315         * common.opt (fvar-tracking-uninit): Document.
1316         * toplev.c (process_options): Fix handling of flag_var_tracking_uninit.
1317         * config/darwin.c (darwin_override_options): Likewise.
1318
1319 2012-11-11  Eric Botcazou  <ebotcazou@adacore.com>
1320
1321         * config/sparc/sparc.h (AS_NIAGARA3_FLAG): Tweak.
1322         * config/sparc/sol2.h (TARGET_CPU_niagara4 support): Fix pasto.
1323
1324 2012-11-09  Eric Botcazou  <ebotcazou@adacore.com>
1325
1326         * doc/install.texi (sparc64-x-solaris2): Mention MPC as well.
1327
1328 2012-11-09  Eric Botcazou  <ebotcazou@adacore.com>
1329
1330         * config/i386/i386.c (release_scratch_register_on_entry): Also adjust
1331         sp_offset manually.
1332
1333 2012-11-07  Uros Bizjak  <ubizjak@gmail.com>
1334
1335         Backport from mainline
1336         2012-11-06  Uros Bizjak  <ubizjak@gmail.com>
1337
1338         * config/i386/i386.c (ix86_init_machine_status): Do not
1339         explicitly clear tls_descriptor_call_expanded_p again.
1340
1341         2012-11-06  Uros Bizjak  <ubizjak@gmail.com>
1342
1343         * config/i386/sse.md
1344         (<avx_avx2>_maskstore<ssemodesuffix><avxsizesuffix>): Mark operand 0
1345         as read and written by the instruction.
1346
1347         2012-11-06  Uros Bizjak  <ubizjak@gmail.com>
1348
1349         * config/i386/i386.c (TARGET_INSTANTIATE_DECLS): New define.
1350         (ix86_instantiate_decls): New function.
1351         (ix86_expand_builtin) <case IX86_BUILTIN_LDMXCSR>: Use SLOT_TEMP
1352         stack slot instead of SLOT_VIRTUAL.
1353         <case IX86_BUILTIN_STMXCSR>: Ditto.
1354         (assign_386_stack_local): Do not assert when virtual slot is valid.
1355         * config/i386/i386.h (enum ix86_stack_slot): Remove SLOT_VIRTUAL.
1356         * config/i386/i386.md (truncdfsf2): Do not use SLOT_VIRTUAL stack slot.
1357         (truncxf<mode>2): Ditto.
1358         (floatunssi<mode>2): Ditto.
1359         (isinf<mode>2): Ditto.
1360         * config/i386/sync.md (atomic_load<mode>): Ditto.
1361         (atomic_store<mode>): Ditto.
1362
1363 2012-11-07  Eric Botcazou  <ebotcazou@adacore.com>
1364
1365         PR middle-end/55219
1366         * fold-const.c (fold_binary_op_with_conditional_arg): Do not fold if
1367         the argument is itself a conditional expression.
1368
1369 2012-11-05  H.J. Lu  <hongjiu.lu@intel.com>
1370
1371         * config/i386/i386.c (print_reg): Replace REX_INT_REG_P with
1372         REX_INT_REGNO_P.
1373
1374 2012-11-05  Eric Botcazou  <ebotcazou@adacore.com>
1375
1376         PR tree-optimization/54986
1377         * gimple-fold.c (canonicalize_constructor_val): Strip again all no-op
1378         conversions on entry but add them back on exit if needed.
1379
1380 2012-11-05  Richard Sandiford  <rdsandiford@googlemail.com>
1381
1382         PR target/55204
1383         * config/i386/i386.c (ix86_address_subreg_operand): Remove stack
1384         pointer check.
1385         (print_reg): Use true_regnum rather than REGNO.
1386         (ix86_print_operand_address): Remove SUBREG handling.
1387
1388 2012-11-05  Jakub Jelinek  <jakub@redhat.com>
1389
1390         Backported from mainline
1391         2012-10-24  Jakub Jelinek  <jakub@redhat.com>
1392
1393         PR debug/54828
1394         * gimple.h (is_gimple_sizepos): New inline function.
1395         * gimplify.c (gimplify_one_sizepos): Use it.  Remove useless
1396         final assignment to expr variable.
1397         * tree.c (RETURN_TRUE_IF_VAR): Return true also if
1398         !TYPE_SIZES_GIMPLIFIED (type) and _t is going to be gimplified
1399         into a local temporary.
1400
1401         2012-10-10  Jakub Jelinek  <jakub@redhat.com>
1402
1403         PR tree-optimization/54877
1404         * tree-vect-loop.c (vect_is_simple_reduction_1): For MINUS_EXPR
1405         use make_ssa_name instead of copy_ssa_name.
1406
1407 2012-11-03  Peter Bergner  <bergner@vnet.ibm.com>
1408
1409         Backport from mainline
1410         2012-10-31  Jakub Jelinek  <jakub@redhat.com>
1411
1412         PR tree-optimization/53708
1413         * tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Preserve
1414         user-supplied alignment when used with an explicit section name.
1415
1416 2012-11-02  Jeff Law  <law@redhat.com>
1417
1418         PR tree-optimization/54985
1419         * tree-ssa-threadedge.c (cond_arg_set_in_bb): New function extracted
1420         from thread_across_edge.
1421         (thread_across_edge): Use it in all cases where we might thread
1422         across a back edge.
1423
1424 2012-10-31  Eric Botcazou  <ebotcazou@adacore.com>
1425
1426         * config/i386/i386.c (ix86_expand_prologue): Emit frame info for the
1427         special register pushes before frame probing and allocation.
1428
1429 2012-10-31  Ralf Corsépius  <ralf.corsepius@rtems.org>,
1430             Joel Sherrill  <joel.sherrill@oarcorp.com>
1431
1432         * config/sparc/t-rtems: New (Custom multilibs).
1433         * config/sparc/t-rtems-64: New (Custom multilibs).
1434         * config.gcc (sparc64-*-rtems*): Add sparc/t-rtems-64.
1435         (sparc-*-rtems*): Add sparc/t-rtems.
1436
1437 2012-10-30  Eric Botcazou  <ebotcazou@adacore.com>
1438
1439         * cse.c (hash_rtx_cb): Replace RTX_UNCHANGING_P with MEM_READONLY_P in
1440         head comment.
1441         (hash_rtx): Likewise.
1442
1443 2012-10-29  Terry Guo  <terry.guo@arm.com>
1444
1445         Backport from mainline
1446         2012-10-11  Terry Guo  <terry.guo@arm.com>
1447
1448         * config/arm/arm.c (arm_arch6m): New variable to denote armv6-m
1449         architecture.
1450         * config/arm/arm.h (TARGET_HAVE_DMB): The armv6-m also has DMB
1451         instruction.
1452
1453 2012-10-26  Gunther Nikl  <gnikl@users.sourceforge.net>
1454
1455         * common/config/m68k/m68k-common.c (m68k_handle_option): Set
1456         gcc_options fields of opts_set for -m68020-40 and -m68020-60.
1457
1458 2012-10-26  Ralf Corsépius  <ralf.corsepius@rtems.org>
1459
1460         * config/avr/t-rtems: Revert previous commit.
1461
1462 2012-10-26  Terry Guo  <terry.guo@arm.com>
1463
1464         Backport from mainline
1465         2012-10-23  Terry Guo  <terry.guo@arm.com>
1466
1467         PR target/55019
1468         * config/arm/arm.c (thumb1_expand_prologue): Don't push high regs with
1469         live argument regs.
1470
1471 2012-10-26  Ralf Corsépius  <ralf.corsepius@rtems.org>
1472
1473         * config/avr/rtems.h (TARGET_OS_CPP_BUILTINS): Remove
1474         __USE_INIT_FINI__.
1475         * config/avr/t-rtems (LIB1ASMFUNCS): Filter out _exit.
1476
1477 2012-10-25  Ralf Corsépius  <ralf.corsepius@rtems.org>
1478
1479         * config.gcc (microblaze*-*-rtems*): New target.
1480         * config/microblaze/rtems.h: New.
1481         * config/microblaze/t-rtems: New.
1482
1483 2012-10-25  Richard Biener  <rguenther@suse.de>
1484
1485         PR tree-optimization/54902
1486         * tree-ssa-pre.c (fini_pre): Return TODO.
1487         (execute_pre): Adjust.
1488         * tree-ssa-tailmerge.c (tail_merge_optimize): Delete unreachable
1489         blocks before computing dominators.
1490
1491 2012-10-24  Uros Bizjak  <ubizjak@gmail.com>
1492
1493         Backport from mainline
1494         2012-10-22  Uros Bizjak  <ubizjak@gmail.com>
1495
1496         * config/i386/i386.c (memory_address_length): Assert that non-null
1497         base or index RTXes are registers.  Do not check for REG RTXes.
1498         Determine addr32 prefix using SImode_address_operand or
1499         from original base and index RTXes.  Simplify code.
1500
1501         2012-10-21  Uros Bizjak  <ubizjak@gmail.com>
1502
1503         * config/i386/i386-protos.h (memory_address_length): Add new bool
1504         argument.  Update all uses.
1505         * config/i386/i386.c (memory_address_length): If not LEA insn, then
1506         add length of addr32 prefix based on mode of base or index register.
1507         (ix86_attr_length_address_default) <TYPE_LEA>: Do not handle SImode
1508         addresses here.  Update call to memory_address_length.
1509         (ix86_print_address_operand): Use SImode_address_operand predicate.
1510         * config/i386/predicates.md (SImode_address_operand): New.
1511         * config/i386/i386.md (lea<mode>): Use SImode_address_operand
1512         to calculate "mode" attribute.  Use SImode_address_operand predicate
1513         instead of open-coding accepted RTX codes.
1514
1515 2012-10-22  Georg-Johann Lay  <avr@gjlay.de>
1516
1517         Backport from 2012-10-22 trunk r192685.
1518         * doc/invoke.texi (AVR Options): Document __AVR_ARCH__.
1519         Note __AVR_<device>__ is not defined for cores.
1520         Don't point to --help=target.
1521         Order --mcu= documentation according to trunk:/gcc/doc/avr-mmcu.texi.
1522
1523 2012-10-19  Marek Polacek  <polacek@redhat.com>
1524
1525         Backported from mainline
1526         2012-10-19  Marek Polacek  <polacek@redhat.com>
1527
1528         PR middle-end/54945
1529         * fold-const.c (fold_sign_changed_comparison):  Punt if folding
1530         pointer/non-pointer comparison.
1531
1532 2012-10-19  Zhenqiang Chen <zhenqiang.chen@linaro.org>
1533
1534         Backported from mainline
1535         2012-10-19  Zhenqiang Chen <zhenqiang.chen@linaro.org>
1536
1537         PR target/54892
1538         * config/arm/arm.c (arm_expand_compare_and_swap): Use SImode to make
1539         sure the mode is correct when falling through from above cases.
1540
1541 2012-10-19  Alan Modra  <amodra@gmail.com>
1542
1543         * configure.ac (HAVE_LD_NO_DOT_SYMS): Set if using gold.
1544         (HAVE_LD_LARGE_TOC): Likewise.
1545         * configure: Regenerate.
1546
1547 2012-10-19  Alan Modra  <amodra@gmail.com>
1548
1549         * config/rs6000/predicates.md (splat_input_operand): Don't call
1550         input_operand for MEMs.  Instead check for volatile and call
1551         memory_address_addr_space_p with modified mode.
1552
1553 2012-10-17  Matthew Gretton-Dann  <matthew.gretton-dann@linaro.org>
1554
1555         Backported from mainline
1556         2012-07-23  Ulrich Weigand  <ulrich.weigand@linaro.org>
1557
1558         * config/arm/arm.c (arm_reorg): Ensure all insns are split.
1559
1560 2012-10-16  Eric Botcazou  <ebotcazou@adacore.com>
1561
1562         PR rtl-optimization/54870
1563         * tree.h (TREE_ADDRESSABLE): Document special usage on SSA_NAME.
1564         * cfgexpand.c (update_alias_info_with_stack_vars ): Set it on the
1565         SSA_NAME pointer that points to a partition if there is at least
1566         one variable with it set in the partition.
1567         * dse.c (local_variable_can_escape): New predicate.
1568         (can_escape): Call it.
1569         * gimplify.c (mark_addressable): If this is a partitioned decl, also
1570         mark the SSA_NAME pointer that points to a partition.
1571
1572 2012-10-16  Andrey Belevantsev  <abel@ispras.ru>
1573
1574         Backport from mainline
1575         2012-08-09  Andrey Belevantsev  <abel@ispras.ru>
1576
1577         PR rtl-optimization/53701
1578         * sel-sched.c (vinsn_vec_has_expr_p): Clarify function comment.
1579         rocess not only expr's vinsns but all old vinsns from expr's
1580         istory of changes.
1581
1582 2012-10-16  Andrey Belevantsev  <abel@ispras.ru>
1583
1584         Backport from mainline
1585         2012-07-31  Andrey Belevantsev  <abel@ispras.ru>
1586         PR target/53975
1587
1588         * sel-sched-ir.c (has_dependence_note_reg_use): Clarify comment.
1589         Revert
1590         2011-08-04  Sergey Grechanik  <mouseentity@ispras.ru>
1591         * sel-sched-ir.c (has_dependence_note_reg_use): Call ds_full_merge
1592         only if producer writes to the register given by regno.
1593
1594 2012-09-15  Uros Bizjak  <ubizjak@gmail.com>
1595
1596         Backport from mainline
1597         2012-10-15  Uros Bizjak  <ubizjak@gmail.com>
1598
1599         * config/i386/sse.md (UNSPEC_MOVU): Remove.
1600         (UNSPEC_LOADU): New.
1601         (UNSPEC_STOREU): Ditto.
1602         (<sse>_movu<ssemodesuffix><avxsizesuffix>): Split to ...
1603         (<sse>_loadu<ssemodesuffix><avxsizesuffix>): ... this and ...
1604         (<sse>_storeu<ssemodesuffix><avxsizesuffix>) ... this.
1605         (<sse2>_movdqu<avxsizesuffix>): Split to ...
1606         (<sse2>_loaddqu<avxsizesuffix>): ... this and ...
1607         (<sse2>_storedqu<avxsizesuffix>): ... this.
1608         (*sse4_2_pcmpestr_unaligned): Update.
1609         (*sse4_2_pcmpistr_unaligned): Ditto.
1610
1611         * config/i386/i386.c (ix86_avx256_split_vector_move_misalign): Use
1612         gen_avx_load{dqu,ups,upd}256 to load from unaligned memory and
1613         gen_avx_store{dqu,ups,upd}256 to store to unaligned memory.
1614         (ix86_expand_vector_move_misalign): Use gen_sse_loadups or
1615         gen_sse2_load{dqu,upd} to load from unaligned memory and
1616         gen_sse_loadups or gen_sse2_store{dqu,upd}256 to store to
1617         unaligned memory.
1618         (struct builtin_description bdesc_spec) <IX86_BUILTIN_LOADUPS>:
1619         Use CODE_FOR_sse_loadups.
1620         <IX86_BUILTIN_LOADUPD>: Use CODE_FOR_sse2_loadupd.
1621         <IX86_BUILTIN_LOADDQU>: Use CODE_FOR_sse2_loaddqu.
1622         <IX86_BUILTIN_STOREUPS>: Use CODE_FOR_sse_storeups.
1623         <IX86_BUILTIN_STOREUPD>: Use CODE_FOR_sse2_storeupd.
1624         <IX86_BUILTIN_STOREDQU>: Use CODE_FOR_sse2_storedqu.
1625         <IX86_BUILTIN_LOADUPS256>: Use CODE_FOR_avx_loadups256.
1626         <IX86_BUILTIN_LOADUPD256>: Use CODE_FOR_avx_loadupd256.
1627         <IX86_BUILTIN_LOADDQU256>: Use CODE_FOR_avx_loaddqu256.
1628         <IX86_BUILTIN_STOREUPS256>: Use CODE_FOR_avx_storeups256.
1629         <IX86_BUILTIN_STOREUPD256>: Use CODE_FOR_avx_storeupd256.
1630         <IX86_BUILTIN_STOREDQU256>: Use CODE_FOR_avx_storedqu256.
1631
1632 2012-10-15  Steven Bosscher  <steven@gcc.gnu.org>
1633
1634         Backport from trunk (r190222):
1635
1636         PR tree-optimization/54146
1637         * ifcvt.c: Include pointer-set.h.
1638         (cond_move_process_if_block): Change type of then_regs and
1639         else_regs from alloca'd array to pointer_sets.
1640         (check_cond_move_block): Update for this change.
1641         (cond_move_convert_if_block): Likewise.
1642         * Makefile.in: Fix dependencies for ifcvt.o.
1643
1644 2012-10-15  Richard Guenther  <rguenther@suse.de>
1645
1646         PR tree-optimization/54920
1647         * tree-ssa-pre.c (create_expression_by_pieces): Properly
1648         allocate temporary storage for all NARY elements.
1649
1650 2012-10-08  Georg-Johann Lay  <avr@gjlay.de>
1651
1652         PR target/54854
1653         * doc/invoke.texi (AVR Options): Deprecate -mshort-calls.
1654
1655 2012-10-05  Mark Kettenis  <kettenis@openbsd.org>
1656
1657         * config.gcc (*-*-openbsd4.[3-9]|*-*-openbsd[5-9]*): Set
1658         default_use_cxa_atexit to yes.
1659
1660 2012-10-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1661
1662         * config/pa/pa.md: Adjust unamed HImode add insn pattern.
1663
1664 2012-10-05  Jan Hubicka  <jh@suse.cz>
1665             Jakub Jelinek  <jakub@redhat.com>
1666
1667         PR tree-optimization/33763
1668         * tree-inline.c (expand_call_inline): Silently ignore always_inline
1669         attribute for redefined extern inline functions.
1670
1671 2012-10-03  H.J. Lu  <hongjiu.lu@intel.com>
1672
1673         Backported from mainline
1674         2012-10-03  Andrew W. Nosenko <andrew.w.nosenko@gmail.com>
1675
1676         * config/i386/driver-i386.c (host_detect_local_cpu): Fix logic
1677         in SSE and YMM state support check for -march=native.
1678
1679 2012-10-03  Alexandre Oliva <aoliva@redhat.com>
1680
1681         PR debug/53135
1682         * dwarf2out.c (value_format): Use block4 for dw_val_class_loc
1683         when needed.
1684
1685 2012-10-02  H.J. Lu  <hongjiu.lu@intel.com>
1686
1687         Backported from mainline
1688         2012-10-02  H.J. Lu  <hongjiu.lu@intel.com>
1689
1690         PR target/54785
1691         * doc/invoke.texi: Document -mprefer-avx128.
1692
1693 2012-10-02  H.J. Lu  <hongjiu.lu@intel.com>
1694
1695         Backported from mainline
1696         2012-10-02  H.J. Lu  <hongjiu.lu@intel.com>
1697
1698         PR target/54741
1699         *  config/i386/driver-i386.c (XCR_XFEATURE_ENABLED_MASK): New.
1700         (XSTATE_FP): Likewise.
1701         (XSTATE_SSE): Likewise.
1702         (XSTATE_YMM): Likewise.
1703         (host_detect_local_cpu): Disable AVX, AVX2, FMA, FMA4 and XOP if
1704         SSE and YMM states aren't supported.
1705
1706 2012-10-01  Tom de Vries  <tom@codesourcery.com>
1707
1708         * var-tracking.c (set_dv_changed): Add an 'inline' function specifier to
1709         the prototype.
1710
1711 2012-10-01  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
1712
1713         PR target/54746
1714         * config/s390/s390.c (s390_option_override): Add missing break.
1715
1716 2012-09-29  Andreas Tobler  <andreast@fgznet.ch>
1717
1718         Backport from mainline
1719         2012-09-29  Andreas Tobler  <andreast@fgznet.ch>
1720
1721         * config.gcc: Replace 'host' with 'target' when configuring for
1722         powerpc64*-*-freebsd.
1723
1724 2012-09-28  Meador Inge  <meadori@codesourcery.com>
1725
1726         Backport from mainline
1727         2012-09-27  Meador Inge  <meadori@codesourcery.com>
1728
1729         * gcc-ar.c (main): Handle the returning of the sub-process error
1730         code correctly.
1731
1732 2012-09-28  Georg-Johann Lay  <avr@gjlay.de>
1733
1734         Backport from 2012-09-28 trunk r191821.
1735         * config/avr/avr.c (avr_pgm_check_var_decl): Fix non-error diagnostic.
1736
1737 2012-09-27  Jakub Jelinek  <jakub@redhat.com>
1738
1739         PR target/54703
1740         * simplify-rtx.c (simplify_binary_operation_1): Perform
1741         (x - (x & y)) -> (x & ~y) optimization only for integral modes.
1742
1743 2012-09-24  Eric Botcazou  <ebotcazou@adacore.com>
1744
1745         * tree-streamer-in.c (unpack_ts_type_common_value_fields): Stream in
1746         TYPE_NONALIASED_COMPONENT flag.
1747         * tree-streamer-out.c (pack_ts_type_common_value_fields): Stream out
1748         TYPE_NONALIASED_COMPONENT flag.
1749
1750 2012-09-21  Richard Guenther  <rguenther@suse.de>
1751
1752         PR middle-end/54638
1753         Backport from mainline
1754         2012-04-19  Richard Guenther  <rguenther@suse.de>
1755
1756         * ira-int.h (ira_allocno_object_iter_cond): Avoid out-of-bound
1757         array access.
1758
1759 2012-09-20  Joseph Myers  <joseph@codesourcery.com>
1760
1761         PR c/54552
1762         * c-typeck.c (c_cast_expr): When casting to a type requiring
1763         C_MAYBE_CONST_EXPR to be created, pass the inner expression to
1764         c_fully_fold first.
1765
1766 2012-09-20  Joseph Myers  <joseph@codesourcery.com>
1767
1768         PR c/54103
1769         * c-typeck.c (build_unary_op): Pass original argument of
1770         TRUTH_NOT_EXPR to c_objc_common_truthvalue_conversion, then remove
1771         any C_MAYBE_CONST_EXPR, if it has integer operands.
1772         (build_binary_op): Pass original arguments of TRUTH_ANDIF_EXPR,
1773         TRUTH_ORIF_EXPR, TRUTH_AND_EXPR, TRUTH_OR_EXPR and TRUTH_XOR_EXPR
1774         to c_objc_common_truthvalue_conversion, then remove any
1775         C_MAYBE_CONST_EXPR, if they have integer operands.  Use
1776         c_objc_common_truthvalue_conversion not
1777         c_common_truthvalue_conversion.
1778         (c_objc_common_truthvalue_conversion): Build NE_EXPR directly and
1779         call note_integer_operands for arguments with integer operands
1780         that are not integer constants.
1781
1782 2012-09-20  Jakub Jelinek  <jakub@redhat.com>
1783
1784         Backported from mainline
1785         2012-09-17  Jakub Jelinek  <jakub@redhat.com>
1786
1787         PR tree-optimization/54563
1788         * tree-ssa-math-opts.c (execute_cse_sincos): Call
1789         gimple_purge_dead_eh_edges if last call has been changed.
1790
1791         2012-09-14  Jakub Jelinek  <jakub@redhat.com>
1792
1793         PR target/54564
1794         * config/i386/sse.md (fmai_vmfmadd_<mode>): Use (match_dup 1)
1795         instead of (match_dup 0) as second argument to vec_merge.
1796         (*fmai_fmadd_<mode>, *fmai_fmsub_<mode>): Likewise.
1797         Remove third alternative.
1798         (*fmai_fnmadd_<mode>, *fmai_fnmsub_<mode>): Likewise.  Negate
1799         operand 2 instead of operand 1, but put it as first argument
1800         of fma.
1801         * config/i386/fmaintrin.h (_mm_fnmadd_sd, _mm_fnmadd_ss,
1802         _mm_fnmsub_sd, _mm_fnmsub_ss): Negate the second argument instead
1803         of the first.
1804
1805 2012-09-20  Jakub Jelinek  <jakub@redhat.com>
1806
1807         * BASE-VER: Set to 4.7.3.
1808         * DEV-PHASE: Set to prerelease.
1809
1810 2012-09-20  Release Manager
1811
1812         * GCC 4.7.2 released.
1813
1814 2012-09-15  Andi Kleen  <ak@linux.intel.com>
1815
1816         Backport from mainline
1817         2012-09-07  Andi Kleen  <ak@linux.intel.com>
1818
1819         * gcc/lto-streamer.h (res_pair): Add.
1820         (lto_file_decl_data): Replace resolutions with respairs.
1821         Add max_index.
1822         * gcc/lto/lto.c (lto_resolution_read): Remove max_index.  Add rp.
1823         Initialize respairs.
1824         (lto_file_finalize): Set up resolutions vector lazily from respairs.
1825
1826 2012-09-14  Walter Lee  <walt@tilera.com>
1827
1828         Backport from mainline.
1829         2012-09-14  Walter Lee  <walt@tilera.com>
1830
1831         * doc/invoke.texi (Option Summary): fix typesetting for -mcpu
1832         option for TILEPro and TILE-Gx.
1833
1834 2012-09-13  Uros Bizjak  <ubizjak@gmail.com>
1835
1836         * config/i386/i386.h (x86_prefetchw): New global variable.
1837         (TARGET_PREFETCHW): New macro.
1838         * config/i386/i386.c (PTA_PREFETCHW): Ditto.
1839         (processor_alias_table): Add PTA_PREFETCHW to
1840         bdver1, bdver2 and btver1.
1841         (ix86_option_override_internal): Set x86_prefetchw for
1842         PTA_PREFETCHW targets.
1843         * config/i386/i386.md (prefetch): Expand to prefetchw
1844         for TARGET_PREFETCHW.
1845         (*prefetch_3dnow_<mode>): Also enable for TARGET_PREFETCHW.
1846
1847         Backport from mainline
1848         2012-08-13  Uros Bizjak  <ubizjak@gmail.com>
1849
1850         * config/i386/i386.md (prefetch): Do not assert mode of operand 0.
1851         (*prefetch_sse_<mode>): Do not set mode of address_operand predicate.
1852         Rename to ...
1853         (*prefetch_sse): ... this.
1854         (*prefetch_3dnow_<mode>): Do not set mode of address_operand predicate.
1855         Rename to ...
1856         (*prefetch_3dnow): ... this.
1857
1858 2012-09-13  Jakub Jelinek  <jakub@redhat.com>
1859
1860         PR c/54559
1861         * c-typeck.c (c_finish_return): Do convert to BOOLEAN_TYPE or
1862         COMPLEX_TYPE with in_late_binary_op set temporarily to true.
1863
1864 2012-09-12  Teresa Johnson  <tejohnson@google.com>
1865
1866         Backport from mainline.
1867         2012-09-12  Teresa Johnson  <tejohnson@google.com>
1868
1869         PR gcov-profile/54487
1870         * configure.ac (HOST_HAS_F_SETLKW): Set based on compile
1871         test using F_SETLKW with fcntl.
1872         * configure, config.in: Regenerate.
1873
1874 2012-09-12  Uros Bizjak  <ubizjak@gmail.com>
1875
1876         Backport from mainline
1877         2012-09-12  Ganesh Gopalasubramanian  <Ganesh.Gopalasubramanian@amd.com>
1878
1879         * config/i386/i386.md : Comments on fma4 instruction selection
1880         reflect requirement on register pressure based cost model.
1881
1882         * config/i386/driver-i386.c (host_detect_local_cpu): fma4
1883         flag is set-reset as informed by the cpuid flag.
1884
1885         * config/i386/i386.c (processor_alias_table): fma4
1886         flag is enabled for bdver2.
1887
1888 2012-09-12  Christian Bruel  <christian.bruel@st.com>
1889
1890         * config/sh/newlib.h (NO_IMPLICIT_EXTERN_C): Define.
1891
1892 2012-09-12  Jakub Jelinek  <jakub@redhat.com>
1893
1894         * config.gcc: Obsolete picochip-*.
1895
1896 2012-09-11  Richard Guenther  <rguenther@suse.de>
1897
1898         PR debug/54534
1899         * cgraph.h (varpool_can_remove_if_no_refs): Restore dependence
1900         on flag_toplevel_reorder.
1901
1902 2012-09-10  Richard Henderson  <rth@redhat.com>
1903
1904         * config/alpha/predicates.md (small_symbolic_operand): Disallow
1905         large offsets.
1906
1907 2012-09-10  Georg-Johann Lay  <avr@gjlay.de>
1908
1909         Backport from 2012-09-10 mainline r191132.
1910
1911         PR target/54536
1912         * config/avr/avr-mcus.def (at90usb1287): Set LIBRARY_NAME to "usb1287".
1913
1914 2012-09-10  Markus Trippelsdorf  <markus@trippelsdorf.de>
1915
1916         PR middle-end/54515
1917         * tree-sra.c (disqualify_base_of_expr): Check for possible
1918         NULL_TREE returned by get_base_address()
1919
1920 2012-09-07  Richard Guenther  <rguenther@suse.de>
1921
1922         Backport from mainline
1923         2012-06-26  Jan Hubicka  <jh@suse.cz>
1924
1925         PR lto/53572
1926         * cgraph.h (varpool_can_remove_if_no_refs): Fix handling of
1927         used symbols.
1928
1929 2012-09-07  Richard Guenther  <rguenther@suse.de>
1930
1931         Backport from mainline
1932         2012-07-13  Richard Guenther  <rguenther@suse.de>
1933
1934         PR tree-optimization/53922
1935         * tree-vrp.c (value_inside_range): Change prototype to take
1936         min/max instead of value-range.
1937         (range_includes_zero_p): Likewise.  Return the result from
1938         value_inside_range.
1939         (extract_range_from_binary_expr_1): Adjust to handle dont-know
1940         return value from range_includes_zero_p.
1941         (extract_range_from_unary_expr_1): Likewise.
1942         (compare_range_with_value): Likewise.
1943         (vrp_meet_1): Likewise.
1944
1945 2012-09-07  Richard Guenther  <rguenther@suse.de>
1946
1947         PR middle-end/53667
1948         * tree-ssa-structalias.c (handle_rhs_call): Properly clobber
1949         EAF_NOESCAPED arguments.  Transitively close non-EAF_DIRECT
1950         arguments separately.
1951
1952 2012-09-07  Jakub Jelinek  <jakub@redhat.com>
1953
1954         Backported from mainline
1955         2012-09-06  Jakub Jelinek  <jakub@redhat.com>
1956
1957         PR rtl-optimization/54455
1958         * sel-sched-ir.c (maybe_tidy_empty_bb): Give up if previous fallthru
1959         bb ends up with asm goto referencing bb's label.
1960
1961 2012-09-07  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
1962
1963         Backport from mainline.
1964         2012-08-29  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
1965                     Richard Earnshaw  <richard.earnshaw@arm.com>
1966
1967         PR target/54252
1968         * config/arm/arm.c (neon_dereference_pointer): Adjust nelems by
1969         element size. Use elem_type from the formal parameter. New parameter
1970         fcode.
1971         (neon_expand_args): Adjust call to neon_dereference_pointer.
1972
1973 2012-09-06  Uros Bizjak  <ubizjak@gmail.com>
1974
1975         * config/i386/sse.md (<sse4_1_avx2>_pblendvb): Use
1976         reg_not_xmm0_operand_maybe_avx as operand 0 constraint.
1977
1978 2012-09-06  Uros Bizjak  <ubizjak@gmail.com>
1979
1980         Backport from mainline
1981         2012-08-11  Uros Bizjak  <ubizjak@gmail.com>
1982
1983         * config/i386/i386.md (isa): Add fma and fma4.
1984         (enabled): Handle fma and fma4.
1985         * config/i386/sse.md (*fma_fmadd_<mode>): Merge *fma4_fmadd_<mode>.
1986         (*fma_fmsub_<mode>): Merge *fma4_fmsub_<mode>.
1987         (*fma_fnmadd_<mode>): Merge *fma4_fnmadd_<mode>.
1988         (*fma_fnmsub_<mode>): Merge *fma4_fnmsub_<mode>.
1989         (*fma_fmaddsub_<mode>): Merge *fma4_fmaddsub_<mode>.
1990         (*fma_fmsubadd_<mode>): Merge *fma4_fmsubadd_<mode>.
1991
1992         2012-08-10  Uros Bizjak  <ubizjak@gmail.com>
1993
1994         * config/i386/sse.md (*fma_fmadd_<mode>, *fma_fmsub_<mode>,
1995         *fma_fnmadd_<mode>, *fma_fnmsub_<mode>, *fma_fmaddsub_<mode>,
1996         *fma_fmsubadd_<mode>): Move FMA3 insn patterns before FMA4 patterns.
1997
1998 2012-09-06  Richard Guenther  <rguenther@suse.de>
1999
2000         PR tree-optimization/54498
2001         * tree-ssa-alias.h (get_continuation_for_phi): Add flag to
2002         abort when reaching an already visited region.
2003         * tree-ssa-alias.c (maybe_skip_until): Likewise.  And do it.
2004         (get_continuation_for_phi_1): Likewise.
2005         (walk_non_aliased_vuses): When we translated the reference,
2006         abort when we re-visit a region.
2007         * tree-ssa-pre.c (translate_vuse_through_block): Adjust.
2008
2009 2012-09-06  Andrew Pinski  <apinski@cavium.com>
2010
2011         PR tree-opt/54494
2012         * tree-inline.c (remap_gimple_op_r): Copy TREE_SIDE_EFFECTS also.
2013
2014 2012-09-05  Jakub Jelinek  <jakub@redhat.com>
2015
2016         PR middle-end/54486
2017         * builtins.c (fold_builtin_strspn, fold_builtin_strcspn): Use
2018         build_int_cst with size_type_node instead of size_int.
2019
2020 2012-09-05  Georg-Johann Lay  <avr@gjlay.de>
2021
2022         Backport from 2012-09-05 mainline r190697.
2023
2024         PR target/54461
2025         * config.gcc (tm_file,target=avr-*-*): Add avr/avrlibc.h if
2026         configured --with-avrlibc.
2027         (tm_defines,target=avr-*-*): Add WITH_AVRLIBC if configured
2028         --with-avrlibc.
2029         * config/avr/avrlibc.h: New file.
2030         * config/avr/avr-c.c: Build-in define __WITH_AVRLIBC__ if
2031         configured --with-avrlibc.
2032         * doc/invoke.texi (AVR Built-in Macros): Document __WITH_AVRLIBC__
2033
2034 2012-09-05  Bin Cheng  <bin.cheng@arm.com>
2035
2036         Backport from 2012-09-04 mainline r190919
2037
2038         PR target/45070
2039         * config/arm/arm.c (thumb1_extra_regs_pushed): Handle return value
2040         of size less than 4 bytes by using macro ARM_NUM_INTS.
2041         (thumb1_unexpanded_epilogue): Use macro ARM_NUM_INTS.
2042
2043 2012-09-04  Richard Henderson  <rth@redhat.com>
2044
2045         * alias.c (read_dependence): Return true for ALIAS_SET_MEMORY_BARRIER.
2046
2047 2012-09-04  Georg-Johann Lay  <avr@gjlay.de>
2048
2049         Backport from 2012-09-04 mainline r190920
2050
2051         PR target/54476
2052         * config/avr/avr.c (avr_expand_delay_cycles): Mask operand with SImode.
2053
2054 2012-09-04  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
2055
2056         Backport from 2012-09-04 mainline r190914
2057
2058         PR target/54220
2059         * config/avr/avr.c (TARGET_ALLOCATE_STACK_SLOTS_FOR_ARGS): New
2060         define to...
2061         (avr_allocate_stack_slots_for_args): ...this new static function.
2062
2063 2012-09-03  H.J. Lu  <hongjiu.lu@intel.com>
2064
2065         Backported from mainline
2066         2012-08-23  H.J. Lu  <hongjiu.lu@intel.com>
2067
2068         PR driver/54335
2069         * doc/invoke.texi: Add -da and remove -dm.
2070
2071 2012-09-03  Jakub Jelinek  <jakub@redhat.com>
2072
2073         Backported from mainline
2074         2012-09-01  Jakub Jelinek  <jakub@redhat.com>
2075
2076         PR target/54436
2077         * config/i386/i386.md (*mov<mode>_insv_1_rex64, *movsi_insv_1): If
2078         operands[1] is CONST_INT_P, convert it to QImode before printing.
2079
2080         2012-08-31  Jakub Jelinek  <jakub@redhat.com>
2081
2082         PR c/54428
2083         * c-convert.c (convert): Don't call fold_convert_loc if
2084         TYPE_MAIN_VARIANT of a COMPLEX_TYPE is the same, unless e
2085         is a COMPLEX_EXPR.  Remove TYPE_MAIN_VARIANT check from
2086         COMPLEX_TYPE -> COMPLEX_TYPE conversion.
2087
2088         2012-08-24  Jakub Jelinek  <jakub@redhat.com>
2089
2090         PR c/54363
2091         * gimplify.c (optimize_compound_literals_in_ctor): Only recurse
2092         if init is a CONSTRUCTOR.
2093
2094 2012-09-02  Eric Botcazou  <ebotcazou@adacore.com>
2095
2096         PR rtl-optimization/54369
2097         * config/mips/mips.c (mips_reorg): Invoke cleanup_barriers before
2098         calling dbr_schedule.
2099         * config/sparc/sparc.c (sparc_reorg): Likewise.
2100
2101 2012-08-31  Kirill Yukhin  <kirill.yukhin@intel.com>
2102
2103         Backport from mainline
2104         2012-08-23  Yuri Rumyantsev  <ysrumyan@gmail.com>
2105
2106         * config/i386/i386.c (ia32_multipass_dfa_lookahead) : Add
2107         case for Atom processor.
2108
2109 2012-08-28  Uros Bizjak  <ubizjak@gmail.com>
2110
2111         Backport from mainline
2112         2012-08-27  Uros Bizjak  <ubizjak@gmail.com>
2113
2114         PR target/46254
2115         * config/i386/predicates.md (cmpxchg8b_pic_memory_operand): Return
2116         true for TARGET_64BIT or !flag_pic.
2117         * config/i386/sync.md (*atomic_compare_and_swap_doubledi_pic): Remove.
2118         (atomic_compare_and_swap_double<mode>): Change operand 2 predicate
2119         to cmpxchg8b_pic_memory_operand.  Use DWIH mode iterator.
2120         Add insn constraint.  Conditionally emit xchg asm insns.
2121         (atomic_compare_and_swap<mode>): Update calls.  Check only
2122         cmpxchg8b_pic_memory_operand in memory address fixup.
2123         (DCASMODE): Remove.
2124         (CASHMODE): Rename from DCASHMODE.
2125         (doublemodesuffix): Update modes.
2126         (regprefix): New mode attribute.
2127
2128         (unspecv) <UNSPECV_CMPXCHG_{1,2,3,4}>: Remove.
2129         <UNSPECV_CMPXCHG>: New constant.
2130         (atomic_compare_and_swap<mode>_1): Rename from
2131         atomic_compare_and_swap_single<mode>.  Update calls and
2132         unspec_volatile constants.
2133         (atomic_compare_and_swap<mode>_doubleword): Rename from
2134         atomic_compare_and_swap_double<mode>.  Update calls and
2135         unspec_volatile constants.
2136
2137 2012-08-28  Walter Lee  <walt@tilera.com>
2138
2139         Backport from mainline
2140         2012-08-28  Walter Lee  <walt@tilera.com>
2141
2142         * confg/tilegx/tilegx.md: Fix code style.
2143         (*zero_extendsidi_truncdisi): Fix typo.
2144         * config/tilegx/tilegx.c: Fix code style.
2145         (tilegx_function_profiler): Fix typo.
2146
2147 2012-08-27  Walter Lee  <walt@tilera.com>
2148
2149         Backport from mainline
2150         2012-08-27  Walter Lee  <walt@tilera.com>
2151
2152         * doc/md.texi (TILE-Gx): Fix typo.
2153
2154 2012-08-27  Walter Lee  <walt@tilera.com>
2155
2156         Backport from mainline
2157         2012-08-27  Walter Lee  <walt@tilera.com>
2158
2159         * config/tilegx/tilegx.c (tilegx_function_profiler): Fix typo.
2160         * config/tilepro/tilepro.c (tilepro_function_profiler): Ditto.
2161
2162 2012-08-27  Walter Lee  <walt@tilera.com>
2163
2164         Backport from mainline
2165         2012-08-27  Walter Lee  <walt@tilera.com>
2166
2167         * config/tilegx/tilegx.md (*bfins): Rename to insn_bfins.
2168         (insn_bfins): Delete.
2169
2170 2012-08-27  Walter Lee  <walt@tilera.com>
2171
2172         Backport from mainline
2173         2012-08-27  Walter Lee  <walt@tilera.com>
2174
2175         * config/tilegx/sync.md (atomic_compare_and_swap_bare<mode>,
2176         atomic_exchange_bare<mode>,
2177         atomic_fetch_<fetchop_name>_bare<mode>): Set type to X1_remote.
2178         * config/tilegx/tilegx-generic.md (X1_remote): New insn_reservation.
2179         * config/tilegx/tilegx.md (type): Add X1_remove.
2180         (insn_cmpexch<four_if_si>, insn_exch<four_if_si>,
2181         insn_fetchadd<four_if_si>, insn_fetchaddgez<four_if_si>,
2182         insn_fetchand<four_if_si>, insn_fetchor<four_if_si>): Set type to
2183         X1_remote.
2184
2185 2012-08-25  Eric Botcazou  <ebotcazou@adacore.com>
2186
2187         PR rtl-optimization/54088
2188         * jump.c (delete_related_insns): Robustify latest change.
2189
2190 2012-08-21  Richard Guenther  <rguenther@suse.de>
2191
2192         Backport from mainline
2193         2012-08-16  Richard Guenther  <rguenther@suse.de>
2194
2195         PR middle-end/54146
2196         * tree-ssa-loop-niter.c (find_loop_niter_by_eval): Free the
2197         exit vector.
2198         * ipa-pure-const.c (analyze_function): Use FOR_EACH_LOOP_BREAK.
2199         * cfgloop.h (FOR_EACH_LOOP_BREAK): Fix.
2200         * tree-ssa-structalias.c (handle_lhs_call): Properly free rhsc.
2201         * tree-ssa-loop-im.c (analyze_memory_references): Adjust.
2202         (tree_ssa_lim_finalize): Free all mem_refs.
2203         * tree-ssa-sccvn.c (extract_and_process_scc_for_name): Free
2204         scc when bailing out.
2205         * modulo-sched.c (sms_schedule): Use FOR_EACH_LOOP_BREAK.
2206         * ira-build.c (loop_with_complex_edge_p): Free loop exit vector.
2207         * graphite-sese-to-poly.c (scop_ivs_can_be_represented): Use
2208         FOR_EACH_LOOP_BREAK.
2209
2210         2012-08-17  Richard Guenther  <rguenther@suse.de>
2211
2212         * tree-sra.c (modify_function): Free redirect_callers vector.
2213         * ipa-split.c (split_function): Free args_to_pass vector.
2214         * tree-vect-stmts.c (vectorizable_operation): Do not pre-allocate
2215         vec_oprnds.
2216         (new_stmt_vec_info): Do not pre-allocate STMT_VINFO_SAME_ALIGN_REFS.
2217         * tree-vect-slp.c (vect_free_slp_instance): Free the instance.
2218         (vect_analyze_slp_instance): Free everything.
2219         (destroy_bb_vec_info): Free the SLP instances.
2220
2221         2012-08-17  Richard Guenther  <rguenther@suse.de>
2222
2223         * params.def (integer-share-limit): Decrease from 256 to 251,
2224         add rationale.
2225
2226         2012-08-21  Richard Guenther  <rguenther@suse.de>
2227
2228         * tree-ssa-loop-im.c (tree_ssa_lim_finalize): Properly free
2229         the affine expansion cache.
2230
2231 2012-08-20  Patrick Marlier  <patrick.marlier@gmail.com>
2232
2233         Backported from trunk
2234         2012-08-20  Patrick Marlier  <patrick.marlier@gmail.com>
2235
2236         PR middle-end/53992
2237         * omp-low.c (lower_omp_1): Handle GIMPLE_TRANSACTION.
2238
2239 2012-08-20  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
2240
2241         Backport from mainline.
2242         2012-08-15  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
2243
2244         PR target/54212
2245         * config/arm/neon.md (vec_set<mode>_internal VD,VQ): Do not
2246         mark as predicable. Adjust asm template.
2247         (vec_setv2di_internal): Likewise.
2248         (vec_extract<mode> VD, VQ): Likewise.
2249         (vec_extractv2di): Likewise.
2250         (neon_vget_lane<mode>_sext_internal VD, VQ): Likewise.
2251         (neon_vset_lane<mode>_sext_internal VD, VQ): Likewise.
2252         (neon_vdup_n<mode> VX, V32): Likewise.
2253         (neon_vdup_nv2di): Likewise.
2254
2255 2012-08-17  Walter Lee  <walt@tilera.com>
2256
2257         Backport from mainline
2258         2012-08-17  Walter Lee  <walt@tilera.com>
2259
2260         * config/tilegx/feedback.h (FEEDBACK_ENTER_EXPLICIT): Define.
2261         (FEEDBACK_ENTER): Define.
2262         (FEEDBACK_REENTER): Define.
2263         (FEEDBACK_ENTRY): Define.
2264         * config/tilepro/feedback.h: (FEEDBACK_ENTER_EXPLICIT): Define.
2265         (FEEDBACK_ENTER): Define.
2266         (FEEDBACK_REENTER): Define.
2267         (FEEDBACK_ENTRY): Define.
2268
2269 2012-08-16  Walter Lee  <walt@tilera.com>
2270
2271         Backport from mainline
2272         2012-08-16  Walter Lee  <walt@tilera.com>
2273
2274         * config.gcc (tilegx-*-linux*): Add feedback.h.
2275         (tilepro-*-linux*): Likewise.
2276         * config/tilegx/feedback.h: New file.
2277         * config/tilepro/feedback.h: New file.
2278
2279 2012-08-08  Pavel Chupin  <pavel.v.chupin@intel.com>
2280
2281         Backport from mainline r189840 and r187586:
2282         2012-07-25 Sergey Melnikov <sergey.melnikov@intel.com>
2283
2284         * config/i386/i386.md (stack_protect_set): Disable the pattern
2285         for Android since Android libc (bionic) does not provide random
2286         value for stack protection guard at gs:0x14. Guard value
2287         will be provided from external symbol (default implementation).
2288         (stack_protect_set_<mode>): Likewise.
2289         (stack_protect_test): Likewise.
2290         (stack_protect_test_<mode>): Likewise.
2291         * gcc/defaults.h: Define macro TARGET_HAS_BIONIC to 0 - target does
2292         not have Bionic by default
2293         * config/linux.h: Redefine macro TARGET_HAS_BIONIC to (OPTION_BIONIC)
2294         Macro OPTION_BIONIC is defined in this file and provides Bionic
2295         accessibility status
2296
2297         2012-05-16  Igor Zamyatin  <igor.zamyatin@intel.com>
2298
2299         * configure.ac: Stack protector enabling for Android targets.
2300         * configure: Regenerate.
2301
2302 2012-08-13  Jakub Jelinek  <jakub@redhat.com>
2303
2304         Backported from trunk
2305         2012-07-19  Jakub Jelinek  <jakub@redhat.com>
2306
2307         PR rtl-optimization/53942
2308         * function.c (assign_parm_setup_reg): Avoid zero/sign extension
2309         directly from likely spilled non-fixed hard registers, move them
2310         to pseudo first.
2311
2312 2012-08-11  Uros Bizjak  <ubizjak@gmail.com>
2313
2314         * config/i386/sse.md (xop_phaddbq):  Fix vec_select selectors.
2315         (xop_phaddubq): Ditto.
2316
2317 2012-08-10  Ulrich Weigand  <ulrich.weigand@linaro.org>
2318
2319         Backport from mainline
2320         2012-07-30  Ulrich Weigand  <ulrich.weigand@linaro.org>
2321                     Richard Earnshaw  <rearnsha@arm.com>
2322
2323         * target.def (vector_alignment): New target hook.
2324         * doc/tm.texi.in (TARGET_VECTOR_ALIGNMENT): Document new hook.
2325         * doc/tm.texi: Regenerate.
2326         * targhooks.c (default_vector_alignment): New function.
2327         * targhooks.h (default_vector_alignment): Add prototype.
2328         * stor-layout.c (layout_type): Use targetm.vector_alignment.
2329         * config/arm/arm.c (arm_vector_alignment): New function.
2330         (TARGET_VECTOR_ALIGNMENT): Define.
2331
2332         * tree-vect-data-refs.c (vect_update_misalignment_for_peel): Use
2333         vector type alignment instead of size.
2334         * tree-vect-loop-manip.c (vect_do_peeling_for_loop_bound): Use
2335         element type size directly instead of computing it from alignment.
2336         Fix variable naming and comment.
2337
2338 2012-08-09  Uros Bizjak  <ubizjak@gmail.com>
2339
2340         Backport from mainline
2341         2012-08-09  Uros Bizjak  <ubizjak@gmail.com>
2342
2343         * config/alpha/alpha.c (alpha_pad_noreturn): Rename to ...
2344         (alpha_pad_function_end): ... this.  Also insert NOP between
2345         sibling call and GP load.
2346         (alpha_reorg): Update call to alpha_pad_function_end.  Expand comment.
2347
2348 2012-08-09  H.J. Lu  <hongjiu.lu@intel.com>
2349
2350         Backport from mainline
2351         2012-08-08  Richard Sandiford  <rdsandiford@googlemail.com>
2352                     H.J. Lu  <hongjiu.lu@intel.com>
2353
2354         PR rtl-optimization/54157
2355         * combine.c (gen_lowpart_for_combine): Don't return identity
2356         for CONST or symbolic reference.
2357
2358 2012-08-06  Uros Bizjak  <ubizjak@gmail.com>
2359
2360         Backport from mainline
2361         2012-07-23  Uros Bizjak  <ubizjak@gmail.com>
2362
2363         * config/i386/i386-protos.h (ix86_lea_outperforms): Remove prototype.
2364         * config/i386/i386.c (ix86_lea_outperforms): Make static.  Make
2365         split_cost argument signed.
2366         (ix86_use_lea_for_mov): Use INVALID_REGNUM instead of -1.
2367         (ix86_avoid_lea_for_addr): Ditto.
2368
2369         2012-07-27  Uros Bizjak  <ubizjak@gmail.com>
2370
2371         * config/i386/i386.c (ix86_avoid_lea_for_addr): Return false if
2372         the address has less than two components.
2373
2374 2012-08-02  Steve Ellcey  <sellcey@mips.com>
2375
2376         Backport from mainline
2377         2012-07-19  Steve Ellcey  <sellcey@mips.com>
2378
2379         * config/mips/mips.c (mips_set_mips16_mode): Clear SYNCI_MASK in
2380         MIPS16 mode.
2381
2382 2012-08-02  Uros Bizjak  <ubizjak@gmail.com>
2383
2384         Backport from mainline
2385         2012-07-24  Uros Bizjak  <ubizjak@gmail.com>
2386
2387         PR target/53961
2388         * config/i386/i386.c (ix86_legitimate_address_p): Move check for
2389         negative constant address for TARGET_X32 ...
2390         (ix86_decompose_address): ... here.  Reject constant addresses
2391         that don't satisfy x86_64_immediate_operand predicate.
2392
2393         2012-07-23  Uros Bizjak  <ubizjak@gmail.com>
2394
2395         PR target/53961
2396         * config/i386/i386.md (*lea): Add asserts to detect invalid addresses.
2397         * config/i386/i386.c (ix86_print_operand_address): Ditto.
2398         (ix86_decompose_address): Allow (zero_extend:DI (subreg:SI (...)))
2399         addresses.  Prevent zero extensions of CONST_INT operands.
2400
2401         2012-07-22  Uros Bizjak  <ubizjak@gmail.com>
2402
2403         PR target/53961
2404         * config/i386/i386.md (*lea): New insn pattern.
2405         (*lea_1): Remove.
2406         (*lea<mode>_2): Ditto.
2407         (*lea_{3,4,5,6}_zext): Ditto.
2408         * config/i386/predicates.md (lea_address_operand): Do not reject
2409         zero-extended address operands.
2410         * config/i386/constraints.md (j): Remove address constraint.
2411         * config/i386/i386.c (ix86_decompose_address): Allow SImode subreg
2412         of an address.
2413         (ix86_print_operand_address): Handle SImode subreg of an address.
2414         (ix86_avoid_lea_for_addr): Reject zero-extended addresses for now.
2415
2416 2012-08-01  Uros Bizjak  <ubizjak@gmail.com>
2417
2418         Backport from mainline
2419         2012-03-09  Uros Bizjak  <ubizjak@gmail.com>
2420
2421         PR target/52530
2422         * config/i386/i386.c (ix86_print_operand): Handle 'E' operand modifier.
2423         (ix86_print_operand_address): Handle UNSPEC_LEA_ADDR. Do not fallback
2424         to set code to 'q'.
2425         * config/i386/i386.md (UNSPEC_LEA_ADDR): New unspec.
2426         (*movdi_internal_rex64): Use %E operand modifier for lea.
2427         (*movsi_internal): Ditto.
2428         (*lea_1): Ditto.
2429         (*lea<mode>_2): Ditto.
2430         (*lea_{3,4,5,6}_zext): Ditto.
2431         (*tls_global_dynamic_32_gnu): Ditto.
2432         (*tls_global_dynamic_64): Ditto.
2433         (*tls_dynamic_gnu2_lea_32): Ditto.
2434         (*tls_dynamic_gnu2_lea_64): Ditto.
2435         (pro_epilogue_adjust_stack_<mode>_add): Ditto.
2436
2437 2012-08-01  Uros Bizjak  <ubizjak@gmail.com>
2438
2439         Backport from mainline
2440         2012-08-01  Uros Bizjak  <ubizjak@gmail.com>
2441
2442         * config/i386/i386.c (ix86_address_subreg_operand): Reject
2443         stack pointer.
2444         (ix86_print_operand_address): Assert that parts.base and parts.index
2445         are non-NULL after call to simplify_subreg.
2446
2447 2012-07-22  Oleg Endo  <olegendo@gcc.gnu.org>
2448
2449         PR target/33135
2450         * config/sh/sh.opt (mieee): Use Var instead of Mask.  Correct
2451         description.
2452         * config/sh/sh.c (sh_option_override): Do not change
2453         flag_finite_math_only.  Set TARGET_IEEE to complement of
2454         flag_finite_math_only.
2455         * doc/invoke.texi (SH options): Add mno-ieee.  Correct
2456         description of mieee and mno-ieee behavior.
2457
2458 2012-07-20  Kirill Yukhin  <kirill.yukhin@intel.com>
2459
2460         PR target/53877
2461         * config/i386/lzcntintrin.h (_lzcnt_u32): New.
2462         (_lzcnt_u64): Ditto.
2463
2464 2012-07-20  Andrey Belevantsev  <abel@ispras.ru>
2465
2466         Backport from mainline
2467         2012-03-06  Andrey Belevantsev  <abel@ispras.ru>
2468
2469         PR rtl-optimization/52250
2470         * sel-sched-ir.c (maybe_tidy_empty_bb): Try harder to find a bb
2471         to put note list into.  Unconditionally call move_bb_info.
2472         (move_bb_info): Do not assert the blocks being in the same region,
2473         just drop the note list if they are not.
2474
2475 2012-07-19  Eric Botcazou  <ebotcazou@adacore.com>
2476
2477         * config/sparc/sparc.md (adddi3_insn_sp32): Add earlyclobber.
2478
2479 2012-07-19  Eric Botcazou  <ebotcazou@adacore.com>
2480
2481         * tree-ssa-forwprop.c (combine_conversions): Punt if the RHS of the
2482         defining statement is a SSA name that occurs in abnormal PHIs.
2483
2484 2012-07-19  Eric Botcazou  <ebotcazou@adacore.com>
2485
2486         * gimple-fold.c (canonicalize_constructor_val): Strip only useless type
2487         conversions.
2488
2489 2012-07-19  Richard Guenther  <rguenther@suse.de>
2490             Eric Botcazou  <ebotcazou@adacore.com>
2491
2492         * tree-ssa-ccp.c (valid_lattice_transition): Clarify comment
2493         about transition from invariant to known bits.
2494         (likely_value): Addresses with UNDEFINED components are UNDEFINED.
2495
2496 2012-07-19  Jakub Jelinek  <jakub@redhat.com>
2497
2498         PR middle-end/54017
2499         * tree-cfgcleanup.c (cleanup_omp_return): Remove.
2500         (cleanup_tree_cfg_bb): Don't call it.
2501         * omp-low.c (expand_omp_sections): Fix up the !exit_reachable case
2502         handling.
2503
2504 2012-07-19  Christian Bruel  <christian.bruel@st.com>
2505
2506         PR target/54029
2507         * config/sh/sh.c (gen_far_branch): Set JUMP_LABEL for return jumps.
2508
2509 2012-07-18  Ralf Corsépius  <ralf.corsepius@rtems.org>
2510
2511         * config.gcc (v850-*-rtems*): New target.
2512         * config/v850/rtems.h: New.
2513         * config/v850/t-rtems: New.
2514
2515 2012-07-18  Nick Clifton  <nickc@redhat.com>
2516
2517         * doc/invoke.texi (ARM Options): Document -munaligned-access.
2518
2519 2012-07-15  Uros Bizjak  <ubizjak@gmail.com>
2520
2521         PR target/53961
2522
2523         Backport from mainline
2524         2012-04-25  Jakub Jelinek  <jakub@redhat.com>
2525
2526         PR target/53110
2527         * config/i386/i386.md (and<mode>3): For andq $0xffffffff, reg
2528         instead expand it as zero extension.
2529
2530 2012-07-14  Uros Bizjak  <ubizjak@gmail.com>
2531
2532         * config/i386/i386.md (QImode and HImode cmove splitters): Merge
2533         QImode and HImode splitters.  Use ix86_comparison_operator.
2534         Explicitly match FLAGS_REG.
2535         (DFmode cmove splitter): Explicitly match FLAGS_REG.
2536
2537 2012-07-13  Richard Sandiford  <rdsandiford@googlemail.com>
2538             Steven Bosscher  <steven@gcc.gnu.org>
2539             Bernd Schmidt  <bernds@codesourcery.com>
2540
2541         PR rtl-optimization/53908
2542         * df-problems.c (can_move_insns_across): When doing
2543         memory-reference book-keeping, handle call insns.
2544
2545 2012-07-10  Uros Bizjak  <ubizjak@gmail.com>
2546
2547         Backport from mainline
2548         2012-07-03  Uros Bizjak  <ubizjak@gmail.com>
2549
2550         PR target/53811
2551         * config/i386/i386.c (x86_output_mi_thunk): Check if fnaddr satisfies
2552         sibcall_insn_operand.  Move it to a temporary register if not.
2553
2554         2012-07-06  Uros Bizjak  <ubizjak@gmail.com>
2555
2556         PR target/53853
2557         * config/i386/i386.c (x86_output_mi_thunk): For CM_LARGE_PIC model,
2558         emit PIC sequence for fnaddr symbol reference in advance.
2559
2560 2012-07-09  Jason Merrill  <jason@redhat.com>
2561
2562         PR c++/53882
2563         * tree.c (type_contains_placeholder_1): Handle NULLPTR_TYPE.
2564         (type_hash_eq): Likewise.
2565
2566         PR c++/53826
2567         * tree.c (build_zero_cst): Handle NULLPTR_TYPE.
2568
2569 2012-07-07  Ulrich Weigand  <ulrich.weigand@linaro.org>
2570
2571         * combine.c (force_to_mode) [LSHIFTRT]: Avoid undefined behaviour
2572         due to negative shift amount.
2573
2574 2012-07-06  Kai Tietz  <ktietz@redhat.com>
2575
2576         Backport from mainline.
2577         PR bootstrap/52947
2578         * config/i386/mingw32.h (NATIVE_SYSTEM_HEADER_DIR): Define it always
2579         as "/mingw/include".
2580
2581 2012-07-06  Nick Clifton  <nickc@redhat.com>
2582
2583         * config/mn10300/mn10300.c (mn10300_encode_section_info): Call
2584         default_encode_section_info.
2585
2586 2012-07-06  Richard Guenther  <rguenther@suse.de>
2587
2588         Backport from mainline
2589         2012-03-30  Richard Guenther  <rguenther@suse.de>
2590
2591         PR middle-end/52786
2592         * double-int.c (rshift_double): Remove not needed cast.
2593
2594         2012-03-28  Richard Guenther  <rguenther@suse.de>
2595
2596         PR middle-end/50708
2597         * double-int.h (rshift_double): Remove.
2598         * double-int.c (lshift_double): Use absu_hwi to make count
2599         positive.
2600         (rshift_double): Make static, take unsigned count argument,
2601         remove handling of negative count argument.
2602         (double_int_rshift): Dispatch to lshift_double.
2603
2604 2012-07-06  Richard Guenther  <rguenther@suse.de>
2605
2606         Backport from mainline
2607         2012-06-18  Richard Guenther  <rguenther@suse.de>
2608
2609         PR tree-optimization/53693
2610         * tree-vect-patterns.c (vect_operation_fits_smaller_type):
2611         Reject operands with more than one use.
2612
2613 2012-07-06  Richard Guenther  <rguenther@suse.de>
2614
2615         Backport from mainline
2616         2012-04-11  Richard Guenther  <rguenther@suse.de>
2617
2618         PR middle-end/52621
2619         * tree-chrec.c (evolution_function_is_invariant_rec_p): Properly
2620         consider loop nesting.
2621         (evolution_function_is_univariate_p): Properly check the remainder
2622         for chrecs.
2623
2624 2012-07-05  Pat Haugen <pthaugen@us.ibm.com>
2625
2626         Backport from mainline
2627         2012-05-24  Pat Haugen <pthaugen@us.ibm.com>
2628
2629         * config/rs6000/rs6000.c (rs6000_option_override_internal): Change
2630         rs6000_sched_costly_dep default to true_store_to_load_dep_costly.
2631         (adjacent_mem_locations): Move some code to and call...
2632         (get_memref_parts): ...new function.
2633         (mem_locations_overlap): New function.
2634         (rs6000_adjust_priority): Adjust calls to is_load_insn/is_store_insn.
2635         (is_mem_ref): Rename to...
2636         (find_mem_ref): ...this. Return MEM rtx.
2637         (get_store_dest): Remove function.
2638         (is_load_insn1, is_load_insn, is_store_insn1, is_store_insn): Add
2639         new parameter and adjust calls.
2640         (rs6000_is_costly_dependence): Update calls for extra arg. Make sure
2641         mem refs overlap for true_store_to_load_dep_costly.
2642         (rs6000_sched_reorder2): Update calls for extra arg. Adjust args
2643         passed to adjacent_mem_locations.
2644         (is_costly_group): Walk resolved dependency list.
2645         (force_new_group): Emit group ending nop for Power6/Power7.
2646         * config/rs6000/rs6000.md (UNSPEC_GRP_END_NOP): New enum value.
2647         (group_ending_nop): New define_insn.
2648
2649 2012-07-04  Richard Guenther  <rguenther@suse.de>
2650
2651         PR middle-end/53433
2652         * gimple-fold.c (get_base_constructor): Do not return an
2653         error_mark_node DECL_INITIAL.
2654
2655 2012-07-04  Uros Bizjak  <ubizjak@gmail.com>
2656
2657         Backport from mainline
2658         2012-07-03  Uros Bizjak  <ubizjak@gmail.com>
2659
2660         * config/i386/i386.c (ix86_option_override_internal): Fix wrong
2661         code model string in the error message.
2662
2663 2012-07-04  Tristan Gingold  <gingold@adacore.com>
2664
2665         Backport from mainline.
2666         2012-06-25  Tristan Gingold  <gingold@adacore.com>
2667
2668         * config/i386/winnt.c (i386_pe_seh_end_prologue): Move code to ...
2669         (seh_cfa_adjust_cfa): ... that function.
2670         (seh_emit_stackalloc): Do not emit out of range values.
2671         * config/i386/i386.md: Delete unused UNSPEC_REG_SAVE,
2672         UNSPEC_DEF_CFA constants.
2673         * config/i386/i386.h (SEH_MAX_FRAME_SIZE): Define.
2674         * config/i386/i386.c (ix86_frame_pointer_required): Required
2675         for very large frames on SEH target.
2676         (ix86_compute_frame_layout): Save area is before frame pointer
2677         on SEH target.  Handle very large frames.
2678         (ix86_expand_prologue): Likewise.
2679
2680 2012-07-04  Richard Guenther  <rguenther@suse.de>
2681
2682         * tree.c (find_decls_types_r): Handle TYPE_CONTEXT the same
2683         as in free_lang_data_in_type.
2684
2685 2012-07-02  Martin Jambor  <mjambor@suse.cz>
2686
2687         Backport from mainline.
2688         2012-07-02  Martin Jambor  <mjambor@suse.cz>
2689
2690         PR middle-end/38474
2691         * ipa-prop.c (compute_known_type_jump_func): Put BINFO check before a
2692         dynamic type change check.
2693
2694 2012-06-29  Eric Botcazou  <ebotcazou@adacore.com>
2695
2696         * tree-eh.c (lower_try_finally_switch): Really put the location of the
2697         last statement of the finally block onto the switch.
2698
2699 2012-06-29  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
2700
2701         * configure: Regenerate.
2702
2703         Backport from mainline.
2704         2012-03-15  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
2705
2706         * config.gcc (target_type_format_char): New. Document it. Set it for
2707         arm*-*-* .
2708         * configure.ac (gnu_unique_option): Use target_type_format_char
2709         in test.  Comment rationale.
2710
2711 2012-06-29  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
2712
2713         Backport from mainline.
2714         2012-05-30  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
2715
2716         * config/arm/arm.c (arm_evpc_neon_vrev): Adjust off by one error.
2717
2718 2012-06-28  Georg-Johann Lay  <avr@gjlay.de>
2719
2720         Backport from 2012-06-28 mainline r189049
2721
2722         PR 53595
2723         * config/avr/avr.c (avr_hard_regno_call_part_clobbered): New.
2724         * config/avr/avr-protos.h (avr_hard_regno_call_part_clobbered): New.
2725         * config/avr/avr.h (HARD_REGNO_CALL_PART_CLOBBERED): Forward to
2726         avr_hard_regno_call_part_clobbered.
2727
2728 2012-06-28  Richard Guenther  <rguenther@suse.de>
2729
2730         PR middle-end/53790
2731         * expr.c (expand_expr_real_1): Verify if the type is complete
2732         before inspecting its size.
2733
2734 2012-06-27  Nick Clifton  <nickc@redhat.com>
2735
2736         * config/rx/rx.md (comparesi3_extend): Remove = modifier from
2737         input operand.
2738
2739 2012-06-26  Alexandre Oliva  <aoliva@redhat.com>
2740
2741         PR debug/53682
2742         * cselib.c (promote_debug_loc): Don't crash on NULL argument.
2743
2744 2012-06-26  Nick Clifton  <nickc@redhat.com>
2745
2746         * config/rx/rx.md (simple_return): Use the simple_return rtx.
2747
2748 2012-06-25  Jakub Jelinek  <jakub@redhat.com>
2749
2750         PR target/53759
2751         * config/i386/sse.md (sse_loadlps): Use x m x constraints instead
2752         of x x x in the vmovlps load alternative.
2753
2754 2012-06-22  Richard Guenther  <rguenther@suse.de>
2755
2756         * gcov-iov.c: Include bconfig.h and system.h.
2757
2758 2012-06-22  Richard Guenther  <rguenther@suse.de>
2759
2760         PR gcov-profile/53744
2761         * gcov-iov.c (main): Treat "" and "prerelease" the same.
2762
2763 2012-06-22  Eric Botcazou  <ebotcazou@adacore.com>
2764
2765         * tree-ssa-live.c (remove_unused_scope_block_p): Remove again
2766         DECL_IGNORED_P non-reg vars even if they are used.
2767
2768 2012-06-19  Jason Merrill  <jason@redhat.com>
2769
2770         PR c++/52637
2771         * dwarf2out.c (modified_type_die): Use scope_die_for.
2772         (gen_type_die_with_usage, dwarf2out_finish): Likewise.
2773         (uses_local_type_r, uses_local_type): New.
2774         (scope_die_for): Keep a type that uses a local type in local scope.
2775         Use get_context_die for namespace and type scope.
2776
2777 2012-06-19  Richard Guenther  <rguenther@suse.de>
2778
2779         PR middle-end/53470
2780         * tree.c (free_lang_data_in_type): Do not clear TYPE_CONTEXT but
2781         replace it with the first non-BLOCK context.
2782
2783 2012-06-18  Vladimir Makarov  <vmakarov@redhat.com>
2784
2785         PR rtl-optimization/53700
2786
2787         Backport from mainline
2788         2012-03-29  Vladimir Makarov  <vmakarov@redhat.com>
2789
2790         * ira-color.c (setup_left_conflict_sizes_p): Process all
2791         conflicting objects.
2792
2793 2012-06-18  Venkataramanan Kumar <venkataramanan.kumar@amd.com>
2794
2795         Backport from mainline
2796         2012-05-09 Uros Bizjak  <ubizjak@gmail.com>
2797
2798         PR target/52908
2799         * config/i386/sse.md (vec_widen_smult_hi_v4si): Expand using
2800         xop_pmacsdqh insn pattern instead of xop_mulv2div2di3_high.
2801         (vec_widen_smult_lo_v4si): Expand using xop_pmacsdql insn pattern
2802         instead of xop_mulv2div2di3_low.
2803         (xop_p<macs>dql): Fix vec_select selector.
2804         (xop_p<macs>dqh): Ditto.
2805         (xop_mulv2div2di3_low): Remove insn_and_split pattern.
2806         (xop_mulv2div2di3_high): Ditto.
2807
2808 2012-06-17  Uros Bizjak  <ubizjak@gmail.com>
2809
2810         Backport from mainline:
2811         2012-06-17  Uros Bizjak  <ubizjak@gmail.com>
2812
2813         * config/i386/sse.md (vcvtph2ps): Fix vec_select selector.
2814
2815 2012-06-16  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2816
2817         Backport from mainline:
2818         2012-06-03  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2819
2820         * config/pa/pa.h (MAX_PCREL17F_OFFSET): Define.
2821         * config/pa/pa.c (pa_attr_length_millicode_call): Use
2822         MAX_PCREL17F_OFFSET instead of fixed offset.
2823         (pa_attr_length_call): Likewise.
2824         (pa_attr_length_indirect_call): Likewise.
2825
2826 2012-06-15  Walter Lee  <walt@tilera.com>
2827
2828         Backport from mainline:
2829         2012-06-15  Walter Lee  <walt@tilera.com>
2830
2831         * config/tilegx/sync.md (atomic_fetch_<fetchop_name><mode>): Fix typo.
2832
2833         2012-06-14  Maxim Kuvyrkov  <maxim@codesourcery.com>
2834
2835         * config/tilegx/sync.md (atomic_fetch_sub<mode>): Fix typo.
2836
2837 2012-06-15  Aldy Hernandez  <aldyh@redhat.com>
2838
2839         Backport from mainline:
2840
2841         2012-05-31  Aldy Hernandez  <aldyh@redhat.com>
2842         * tree-ssa-loop-im.c (execute_sm): Do not check flag_tm.
2843         * gimple.h (block_in_transaction): Check for flag_tm.
2844
2845 2012-06-14  Aldy Hernandez  <aldyh@redhat.com>
2846
2847         PR tree-optimization/52558
2848
2849         Backport from mainline:
2850         2012-05-21  Aldy Hernandez  <aldyh@redhat.com>
2851         * gimple.h (gimple_set_in_transaction): Remove.
2852         (gimple_in_transaction): Look in BB instead.
2853         (gimple_statement_base): Remove in_transaction field.
2854         * basic-block.h (enum bb_flags): Add BB_IN_TRANSACTION.
2855         * trans-mem.c (compute_transaction_bits): Place transaction bit
2856         information into basic blocks.
2857
2858         2012-05-31  Aldy Hernandez  <aldyh@redhat.com>
2859
2860         PR tree-optimization/52558
2861         * cfg.c (alloc_aux_for_edge): Fix comment.
2862         (alloc_aux_for_edge): Remove static.
2863         * basic-block.h (alloc_aux_for_edge): Protoize.
2864         * tree-ssa-loop-im.c (execute_sm_if_changed): New.
2865         (execute_sm_if_changed_flag): New.
2866         (execute_sm_if_changed_flag_set): New.
2867         (execute_sm): Do not generate data races unless requested.
2868         (tree_ssa_lim_initialize): Call alloc_aux_for_edges.
2869         (tree_ssa_lim_finalize): Call free_aux_for_edges.
2870         * gimple.h (block_in_transaction): New.
2871         (gimple_in_transaction): Use block_in_transaction.
2872
2873 2012-06-14  Jakub Jelinek  <jakub@redhat.com>
2874
2875         Backported from mainline
2876         2012-06-12  Jakub Jelinek  <jakub@redhat.com>
2877
2878         PR rtl-optimization/53589
2879         * cfgrtl.c (force_nonfallthru_and_redirect): Do asm_goto_edge
2880         discovery even when e->dest != target.  If any LABEL_REF points
2881         to e->dest label, redirect it to target's label.
2882
2883         2012-06-07  Jakub Jelinek  <jakub@redhat.com>
2884
2885         PR middle-end/53580
2886         * omp-low.c (scan_omp_1_stmt): If check_omp_nesting_restrictions
2887         returns false, replace stmt with GIMPLE_NOP.
2888         (check_omp_nesting_restrictions): Instead of issuing warnings,
2889         issue errors and return false if any errors were reported.
2890
2891 2012-06-14  Richard Guenther  <rguenther@suse.de>
2892
2893         * BASE-VER: Set to 4.7.2.
2894         * DEV-PHASE: Set to prerelease.
2895
2896 2012-06-12  Christian Bruel  <christian.bruel@st.com>
2897
2898         PR target/53621
2899         * config/sh/sh.c (sh_option_override): Don't force
2900          flag_omit_frame_pointer and maccumulate_outgoing_args.
2901         * config/sh/sh.opt (maccumulate-outgoing-args): Init as Var.
2902
2903 2012-06-14  Release Manager
2904
2905         * GCC 4.7.1 released.
2906
2907 2012-06-13  Uros Bizjak  <ubizjak@gmail.com>
2908
2909         * config/ia64/sync.md (fetchop_name): Change ior attribute to "or".
2910
2911 2012-06-13  Richard Henderson  <rth@redhat.com>
2912
2913         * config/rs6000/sync.md (atomic_load, atomic_store): Use INT1 mode
2914         iterator instead of INT.
2915
2916 2012-06-08  Richard Henderson  <rth@redhat.com>
2917
2918         PR c++/53602
2919         * combine-stack-adj.c (force_move_args_size_note): Add ARGS_SIZE
2920         note to a clobber insn when no other insn is available.
2921
2922 2012-06-04  Paolo Carlini  <paolo.carlini@oracle.com>
2923
2924         PR c++/53524
2925         * doc/invoke.texi (Wenum-compare): Update documentation.
2926
2927 2012-06-04  Edmar Wienskoski  <edmar@freescale.com>
2928
2929         PR target/53559
2930         * config/rs6000/altivec.md (altivec_stvlx): Change machine mode of
2931         operands.
2932         (altivec_stvlxl): Ditto.
2933         (altivec_stvrx): Ditto.
2934         (altivec_stvrxl): Ditto.
2935
2936 2012-06-04  Aldy Hernandez  <aldyh@redhat.com>
2937
2938         PR middle-end/47530
2939         * trans-mem.c (expand_block_edges): Do not skip the first
2940         statement when resetting the BB.
2941
2942 2012-06-04  Richard Guenther  <rguenther@suse.de>
2943
2944         PR middle-end/53471
2945         * dwarf2out.c (dwarf2out_finish): If generating LTO do not
2946         create new assembler names.
2947
2948 2012-06-04  Richard Guenther  <rguenther@suse.de>
2949
2950         Backport from mainline
2951         2012-04-25  Jakub Jelinek  <jakub@redhat.com>
2952
2953         PR middle-end/52979
2954         * stor-layout.c (get_best_mode): Don't return mode with bitsize
2955         larger than maxbits.  Don't compute maxbits modulo align.
2956         Also check that unit bytes long store at bitpos / unit * unit
2957         doesn't affect bits beyond bitregion_end.
2958         * expmed.c (store_bit_field_1): Avoid trying insv if OP_MODE MEM
2959         would not fit into bitregion_start ... bitregion_end + 1 bit
2960         region.
2961         (store_split_bit_field): Decrease unit close to end of bitregion_end
2962         if access is restricted in order to avoid mutual recursion.
2963
2964 2012-06-04  Georg-Johann Lay  <avr@gjlay.de>
2965
2966         Backport from 2012-06-04 mainline r188172
2967
2968         PR target/46261
2969         * config/avr/avr-stdint.h: New file.
2970         * config.gcc (avr-*-*,tm_file): Use avr/avr-stdint.h instead of
2971         newlib-stdint.h
2972
2973 2012-06-04  Jakub Jelinek  <jakub@redhat.com>
2974
2975         PR tree-optimization/53550
2976         * tree-ssa-loop-niter.c (number_of_iterations_cond): If type
2977         is POINTER_TYPE_P, use sizetype as step type instead of type.
2978
2979 2012-06-04  Richard Guenther  <rguenther@suse.de>
2980             Eric Botcazou  <ebotcazou@adacore.com>
2981
2982         Backport from mainline
2983         2012-04-03  Eric Botcazou  <ebotcazou@adacore.com>
2984
2985         * expr.c (get_bit_range): Add OFFSET parameter and adjust BITPOS.
2986         Change type of BITOFFSET to signed.  Make sure the lower bound of
2987         the computed range is non-negative by adjusting OFFSET and BITPOS.
2988         (expand_assignment): Adjust call to get_bit_range.
2989
2990         2012-03-27  Eric Botcazou  <ebotcazou@adacore.com>
2991
2992         * expr.c (get_bit_range): Return the null range if the enclosing record
2993         is part of a larger bit field.
2994
2995         2012-03-20  Richard Guenther  <rguenther@suse.de>
2996
2997         * stor-layout.c (finish_bitfield_representative): Fallback
2998         to conservative maximum size if the padding up to the next
2999         field cannot be computed as a constant.
3000         (finish_bitfield_layout): If we cannot compute the distance
3001         between the start of the bitfield representative and the
3002         bitfield member start a new representative.
3003         * expr.c (get_bit_range): The distance between the start of
3004         the bitfield representative and the bitfield member is zero
3005         if the field offsets are not constants.
3006
3007         2012-03-16  Richard Guenther  <rguenther@suse.de>
3008
3009         * stor-layout.c (finish_bitfield_representative): Fall back
3010         to the conservative maximum size if we cannot compute the
3011         size of the tail padding.
3012
3013         2012-03-14  Richard Guenther  <rguenther@suse.de>
3014
3015         * tree.h (DECL_BIT_FIELD_REPRESENTATIVE): New define.
3016         * stor-layout.c (start_bitfield_representative): New function.
3017         (finish_bitfield_representative): Likewise.
3018         (finish_bitfield_layout): Likewise.
3019         (finish_record_layout): Call finish_bitfield_layout.
3020         * tree.c (free_lang_data_in_decl): Only free DECL_QUALIFIER
3021         for QUAL_UNION_TYPE fields.
3022         * tree-streamer-in.c (lto_input_ts_field_decl_tree_pointers):
3023         Stream DECL_BIT_FIELD_REPRESENTATIVE.
3024         * tree-streamer-out.c (write_ts_field_decl_tree_pointers): Likewise.
3025
3026         PR middle-end/52080
3027         PR middle-end/52097
3028         PR middle-end/48124
3029         * expr.c (get_bit_range): Unconditionally extract bitrange
3030         from DECL_BIT_FIELD_REPRESENTATIVE.
3031         (expand_assignment): Adjust call to get_bit_range.
3032
3033 2012-06-01  Eric Botcazou  <ebotcazou@adacore.com>
3034
3035         PR middle-end/53501
3036         * fold-const.c (fold_binary_loc): Refine previous change.
3037
3038 2012-06-01  Oleg Endo  <olegendo@gcc.gnu.org>
3039
3040         Backport from mainline
3041         2012-03-27  Chung-Lin Tang  <cltang@codesourcery.com>
3042
3043         PR target/52667
3044         * config/sh/sh.c (find_barrier): Add equality check of last_got to
3045         avoid going above orig insn.  Update comments.
3046
3047 2012-06-01  Oleg Endo  <olegendo@gcc.gnu.org>
3048
3049         Backport from mainline
3050         2012-03-21  Kaz Kojima  <kkojima@gcc.gnu.org>
3051
3052         PR target/52642
3053         * config/sh/sh.c (sh_expand_prologue): Emit blockage at the end of
3054         prologue for unwinder and profiler.
3055
3056 2012-06-01  Oleg Endo  <olegendo@gcc.gnu.org>
3057
3058         Backport from mainline
3059         2012-03-03  Kaz Kojima  <kkojima@gcc.gnu.org>
3060
3061         * config/sh/sh.md (abssi2): Add TARGET_SH1 condition.
3062
3063 2012-06-01  Oleg Endo  <olegendo@gcc.gnu.org>
3064
3065         Backport from mainline
3066         2012-03-03  Kaz Kojima  <kkojima@gcc.gnu.org>
3067
3068         * config/sh/sh.c (sh_dwarf_register_span): Don't apply
3069         DBX_REGISTER_NUMBER.
3070
3071 2012-06-01  Oleg Endo  <olegendo@gcc.gnu.org>
3072
3073         Backport from mainline
3074         2012-03-03  Kaz Kojima  <kkojima@gcc.gnu.org>
3075
3076         * config/sh/sh.c (shiftcosts): Return MAX_COST when the first
3077         operand is CONST_INT.  Take COSTS_N_INSNS into account.
3078         (sh_rtx_costs): Don't apply COSTS_N_INSNS to the return value of
3079         shiftcosts.     
3080
3081 2012-05-31  Georg-Johann Lay  <avr@gjlay.de>
3082
3083         * config/avr/avr.opt (-msp8): Document it.
3084         * doc/invoke.texi (AVR Options): Copy from trunk docu.
3085
3086 2012-05-31  Richard Guenther  <rguenther@suse.de>
3087
3088         PR middle-end/48493
3089         * expr.c (expand_assignment): Do not use movmisalign on
3090         non-memory.
3091
3092 2012-05-30  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3093
3094         PR target/52999
3095         * config/pa/pa.c (TARGET_SECTION_TYPE_FLAGS): Define.
3096         (pa_section_type_flags): New.
3097         (pa_legitimate_constant_p): Revert previous change.
3098
3099 2012-05-30  Aldy Hernandez  <aldyh@redhat.com>
3100
3101         Backport from mainline
3102         2012-05-25  Aldy Hernandez  <aldyh@redhat.com>
3103
3104         PR middle-end/53008
3105         * trans-mem.c (ipa_tm_create_version_alias): Output new_node if
3106         accessed indirectly.
3107         (ipa_tm_create_version): Same.
3108
3109 2012-05-30  Jason Merrill  <jason@redhat.com>
3110
3111         PR c++/53220
3112         * c-typeck.c (array_to_pointer_conversion): Give -Wc++-compat warning
3113         about array compound literals.
3114
3115 2012-05-30  Richard Guenther  <rguenther@suse.de>
3116
3117         PR middle-end/53501
3118         * fold-const.c (fold_binary_loc): Make sure to call
3119         fold_plusminus_mult_expr with the original sign of operands.
3120
3121 2012-05-30  Eric Botcazou  <ebotcazou@adacore.com>
3122
3123         * explow.c (probe_stack_range): Restore simple control flow and stop
3124         again when the probe cannot be generated if HAVE_check_stack.
3125
3126 2012-05-30  Jakub Jelinek  <jakub@redhat.com>
3127
3128         PR rtl-optimization/53519
3129         * combine.c (simplify_shift_const_1) <case NOT>: Use constm1_rtx
3130         instead of GEN_INT (GET_MODE_MASK (mode)) as second operand of XOR.
3131
3132 2012-05-29  Richard Guenther  <rguenther@suse.de>
3133
3134         PR tree-optimization/53516
3135         * tree-data-ref.c (stmt_with_adjacent_zero_store_dr_p): Reject
3136         bitfield accesses.
3137         * tree-vect-data-refs.c (vect_analyze_data_refs): Likewise.
3138
3139 2012-05-28  Bill Schmidt  <wschmidt@linux.ibm.com>
3140
3141         Backport from mainline
3142         2012-05-28  Richard Guenther  <rguenther@suse.de>
3143
3144         PR tree-optimization/53438
3145         * tree-sra.c (analyze_access_subtree): Correct bitfield exclusion.
3146
3147 2012-05-26  Eric Botcazou  <ebotcazou@adacore.com>
3148
3149         Backport from mainline
3150         2012-03-10  Chung-Lin Tang  <cltang@codesourcery.com>
3151
3152         PR rtl-optimization/52528
3153         * combine.c (can_combine_p): Add setting of subst_low_luid
3154         before call to expand_field_assignment().
3155
3156 2012-05-26  Martin Jambor  <mjambor@suse.cz>
3157
3158         Backport from mainline
3159         2012-05-23  Martin Jambor  <mjambor@suse.cz>
3160
3161         * ipa-inline-analysis.c (inline_merge_summary): Free operand_map.
3162
3163 2012-05-25  Eric Botcazou  <ebotcazou@adacore.com>
3164
3165         PR lto/52178
3166         * tree-inline.c (remap_gimple_op_r): Fix handling of FIELD_DECL.
3167         * tree.c (RETURN_TRUE_IF_VAR): Do not return true for PLACEHOLDER_EXPR.
3168
3169 2012-05-25  Alexander Ivchenko  <alexander.ivchenko@intel.com>
3170
3171         PR target/53435
3172         * config/i386/i386.c (ix86_expand_vec_perm): Use correct op.
3173         (ix86_expand_vec_perm): Use int mode instead of float.
3174
3175 2012-05-25  Eric Botcazou  <ebotcazou@adacore.com>
3176
3177         PR ada/52362
3178         * config.gcc (i[34567]86-*-mingw* | x86_64-*-mingw*): Set gas and
3179         gnu_ld variables to yes.
3180         * configure.ac (HAVE_GNU_LD): Move to after config.gcc inclusion.
3181         (HAVE_GNU_AS): Likewise.
3182         * config.in: Regenerate.
3183         * configure: Likewise.
3184
3185 2012-05-25  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
3186
3187         Backport from mainline
3188         2012-03-12  Richard Guenther  <rguenther@suse.de>
3189         * config/arm/arm.c (neon_dereference_pointer): Do not call
3190         covert during RTL expansion.
3191
3192 2012-05-24  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
3193
3194         Backport from mainline
3195         2012-05-18  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
3196
3197         PR target/53385
3198         * config/rs6000/rs6000.c (print_operand): Revise code that unsafely
3199         relied on signed overflow behavior.
3200
3201 2012-05-24  Richard Guenther  <rguenther@suse.de>
3202
3203         PR middle-end/53460
3204         * tree-profile.c (tree_profiling): Cleanup the CFG if
3205         execute_fixup_cfg requests it.
3206
3207 2012-05-24  Jakub Jelinek  <jakub@redhat.com>
3208
3209         PR tree-optimization/53465
3210         * tree-vrp.c (extract_range_from_cond_expr): First copy_value_range
3211         vr0 into *vr, then vrp_meet that.
3212         (vrp_meet): If one vr type is VR_UNDEFINED, ensure the result doesn't
3213         have any equivalences.
3214         (vrp_visit_phi_node): Call copy_value_range instead of vrp_meet the
3215         first time.
3216
3217 2012-05-23  Eric Botcazou  <ebotcazou@adacore.com>
3218
3219         * gimple.c (gimple_types_compatible_p_1) <ARRAY_TYPE>: Remove bogus
3220         size handling.
3221         (gimple_canonical_types_compatible_p) <ARRAY_TYPE>: Likewise.
3222         (iterative_hash_gimple_type): Adjust comment.
3223         (iterative_hash_canonical_type): Likewise.  Hash the bounds of the
3224         domain for an array type instead of the domain type itself.
3225
3226 2012-05-23  Georg-Johann Lay  <avr@gjlay.de>
3227
3228         Backport from 2012-05-23 mainline r187803
3229
3230         PR target/53448
3231         * config/avr/avr.h (ASM_OUTPUT_ALIGN): Don't inhibit .p2align 1.
3232         * config/avr/elf.h (ASM_OUTPUT_BEFORE_CASE_LABEL): Use
3233         ASM_OUTPUT_ALIGN.
3234
3235 2012-05-23  Ganesh Gopalasubramanian  <Ganesh.Gopalasubramanian@amd.com>
3236
3237         Backport from 2012-05-03 mainline r187075
3238
3239         * config/i386/driver-i386.c (host_detect_local_cpu): Reset
3240         has_fma4 for AMD processors with both fma3 and fma4 support.
3241
3242 2012-05-22  Richard Guenther  <rguenther@suse.de>
3243
3244         PR tree-optimization/53408
3245         * tree-vect-loop.c (vectorizable_induction): Properly check
3246         the restriction that we cannot handle induction results from
3247         the inner loop outside of the outer loop.
3248
3249 2012-05-21  Jakub Jelinek  <jakub@redhat.com>
3250
3251         PR tree-optimization/53436
3252         * omp-low.c (omp_build_component_ref): New function.
3253         (build_receiver_ref, build_sender_ref, create_task_copyfn): Use it.
3254
3255         PR tree-optimization/53366
3256         * tree-vect-slp.c (vect_supported_load_permutation_p): Don't shortcut
3257         tests if complex_numbers == 2, but there are non-complex number loads
3258         too.
3259
3260         PR tree-optimization/53409
3261         * tree-vect-loop.c (vect_analyze_loop_operations): Don't check
3262         vinfo_for_stmt (op_def_stmt) if op_def_stmt isn't inside loop.
3263
3264         PR tree-optimization/53410
3265         * fold-const.c (fold_binary_loc): Use build_zero_cst (type)
3266         instead of build_int_cst (type, 0) where vector types might be
3267         involved.
3268
3269 2012-05-21  Joseph Myers  <joseph@codesourcery.com>
3270
3271         PR c/53418
3272         * c-typeck.c (build_conditional_expr): Remove C_MAYBE_CONST_EXPR
3273         from folded operands before wrapping another around the
3274         conditional expression.
3275
3276 2012-05-21  Dave Boutcher  <daveboutcher@gmail.com>
3277             Patrick Marlier  <patrick.marlier@gmail.com>
3278
3279         * trans-mem.c (ipa_tm_transform_clone): Transform functions with
3280         indirect calls.
3281
3282 2012-05-21  H.J. Lu  <hongjiu.lu@intel.com>
3283
3284         Backport from mainline
3285         2012-05-21  H.J. Lu  <hongjiu.lu@intel.com>
3286
3287         PR target/53416
3288         * config/i386/i386.md (UNSPEC_RDRAND): Renamed to ...
3289         (UNSPECV_RDRAND): This.
3290         (rdrand<mode>_1): Updated.
3291
3292 2012-05-20  H.J. Lu  <hongjiu.lu@intel.com>
3293
3294         Backport from mainline
3295         2012-05-20  H.J. Lu  <hongjiu.lu@intel.com>
3296
3297         * config/i386/driver-i386.c (host_detect_local_cpu): Support
3298         RDRND, F16C and FSGSBASE.
3299
3300 2012-05-19  Eric Botcazou  <ebotcazou@adacore.com>
3301
3302         Backport from mainline
3303         2012-05-14  Eric Botcazou  <ebotcazou@adacore.com>
3304
3305         * tree-ssa-pre.c (can_value_number_call): Delete.
3306         (compute_avail): Skip all statements with side effects.
3307         <GIMPLE_CALL>: Skip calls to internal functions.
3308
3309 2012-05-18  David S. Miller  <davem@davemloft.net>
3310
3311         Backport r185385 from mainline
3312         2012-03-14  Richard Guenther  <rguenther@suse.de>
3313
3314         PR middle-end/52584
3315         * tree-vect-generic.c (type_for_widest_vector_mode): Take
3316         element type instead of mode, use build_vector_type_for_mode
3317         instead of the langhook, build a vector of proper signedness.
3318         (expand_vector_operations_1): Adjust.
3319
3320 2012-05-18  Olivier Hainque  <hainque@adacore.com>
3321
3322         * Makefile.in (FLAGS_TO_PASS): Pass $(libexecsubdir) instead of
3323         $(libsubdir) as libexecsubdir.
3324
3325 2012-05-16  Andrew Pinski  <apinski@cavium.com>
3326
3327         * gimple-fold.c (get_maxval_strlen): Move COND_EXPR handling under
3328         GIMPLE_ASSIGN.
3329
3330 2012-05-16  David S. Miller  <davem@davemloft.net>
3331
3332         * jump.c (delete_related_insns): If we remove a CALL, make sure
3333         we delete it's NOTE_INSN_CALL_ARG_LOCATION note too.
3334
3335 2012-05-16  Richard Henderson  <rth@redhat.com>
3336
3337         PR debug/52727
3338         * combine-stack-adj.c (prev_active_insn_bb): New.
3339         (next_active_insn_bb): New.
3340         (force_move_args_size_note): New.
3341         (combine_stack_adjustments_for_block): Use it.
3342
3343 2012-05-16  Olivier Hainque  <hainque@adacore.com>
3344
3345         * Makefile.in (install-no-fixedincludes): New target, former toplevel
3346         gcc-no-fixedincludes. Stash "include-fixed" in addition to "include".
3347         Add comments and improve stamp preservation across the whole sequence.
3348         (stmp-int-hdrs): Use move-if-change + cp -p to setup fix_dir/limits.h.
3349
3350 2012-05-16  Richard Guenther  <rguenther@suse.de>
3351
3352         PR tree-optimization/53364
3353         * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Properly
3354         detect a view-conversion of the decl.
3355
3356 2012-05-15  Jakub Jelinek  <jakub@redhat.com>
3357
3358         PR target/53358
3359         * config/i386/i386.md (*addqi_2 peephole with QImode addition): Check
3360         that operands[2] is either immediate, or q_regs_operand.
3361
3362 2012-05-15  Bin Cheng  <bin.cheng@arm.com>
3363
3364         Backport r187139 from mainline.
3365         2012-05-04  Bin Cheng  <bin.cheng@arm.com>
3366
3367         PR rtl-optimization/52804
3368         * reload1.c (reload_reg_reaches_end_p): Check whether successor
3369         reload with type RELOAD_FOR_INPUT_ADDRESS kills reload register
3370         of current one with type RELOAD_FOR_INPADDR_ADDRESS.
3371         Same stands for reloads with type RELOAD_FOR_OUTPUT_ADDRESS and
3372         RELOAD_FOR_OUTADDR_ADDRESS.
3373
3374 2012-05-14  Uros Bizjak  <ubizjak@gmail.com>
3375
3376         PR target/46098
3377         * config/i386/i386.c (ix86_expand_special_args_builtin): Always
3378         generate target register for "load" class builtins.
3379
3380         Revert:
3381         2010-10-22  Uros Bizjak  <ubizjak@gmail.com>
3382
3383         PR target/46098
3384         * config/i386/sse.md (*avx_movu<ssemodesuffix><avxmodesuffix>):
3385         Rename from avx_movu<ssemodesuffix><avxmodesuffix>.
3386         (avx_movu<ssemodesuffix><avxmodesuffix>): New expander.
3387         (*<sse>_movu<ssemodesuffix>): Rename from <sse>_movu<ssemodesuffix>.
3388         (<sse>_movu<ssemodesuffix>): New expander.
3389         (*avx_movdqu<avxmodesuffix>): Rename from avx_movdqu<avxmodesuffix>.
3390         (avx_movdqu<avxmodesuffix>): New expander.
3391         (*sse2_movdqu): Rename from sse2_movdqu.
3392         (sse2_movdqu): New expander.
3393
3394 2012-05-14  Jakub Jelinek  <jakub@redhat.com>
3395
3396         * dwarf2out.c (dwarf2out_define, dwarf2out_undef): Treat
3397         lineno 1 the same as lineno 0 before first start file directive.
3398         (optimize_macinfo_range): Likewise.
3399
3400         * dwarf2out.c (have_macinfo): Define.
3401         (dwarf2out_finish): Don't emit DW_AT_GNU_macros or DW_AT_macro_info
3402         attribute, don't force empty compilation unit and don't emit any
3403         .debug_macinfo/.debug_macro section if macinfo_table is empty.
3404
3405 2012-05-13  Uros Bizjak  <ubizjak@gmail.com>
3406
3407         Backport from mainline
3408         2012-05-12  Uros Bizjak  <ubizjak@gmail.com>
3409
3410         * config/alpha/alpha.c (alpha_emit_conditional_branch): Handle
3411         ORDERED and UNORDERED conditions.
3412
3413 2012-05-12  Eric Botcazou  <ebotcazou@adacore.com>
3414
3415         * function.c (requires_stack_frame_p): If the function can throw
3416         non-call exceptions, return true if the insn can throw internally.
3417
3418 2012-05-10  Eric Botcazou  <ebotcazou@adacore.com>
3419
3420         * gimplify.c (gimplify_decl_expr): For a TYPE_DECL, also gimplify the
3421         DECL_ORIGINAL_TYPE if it is present.
3422
3423 2012-05-09  Georg-Johann Lay  <avr@gjlay.de>
3424
3425         Backport from 2012-05-12 mainline r187342.
3426
3427         PR target/53256
3428         * config/avr/elf.h (ASM_DECLARE_FUNCTION_NAME): Remove.
3429         * config/avr/avr-protos.h (avr_asm_declare_function_name): Remove.
3430         * config/avr/avr.h (struct machine_function): Add attributes_checked_p.
3431         * config/avr/avr.c (avr_asm_declare_function_name): Remove.
3432         (expand_prologue): Move initialization of cfun->machine->is_naked,
3433         is_interrupt, is_signal, is_OS_task, is_OS_main from here to...
3434         (avr_set_current_function): ...this new static function.
3435         (TARGET_SET_CURRENT_FUNCTION): New define.
3436         (avr_function_ok_for_sibcall): Use cfun->machine->is_* instead of
3437         checking attributes of current_function_decl.
3438         (avr_regs_to_save): Ditto.
3439         (signal_function_p): Rename to avr_signal_function_p.
3440         (interrupt_function_p): Rename to avr_interrupt_function_p.
3441
3442         * doc/extend.texi (Function Attributes): Better explanation of
3443         'interrupt' and 'signal' for AVR. Move 'ifunc' down to establish
3444         alphabetical order.
3445
3446 2012-05-09  Matthias Klose  <doko@ubuntu.com>
3447
3448         * gcc-ar.c (main): Don't check for execute bits for the plugin.
3449
3450 2012-05-08  Hans-Peter Nilsson  <hp@axis.com>
3451
3452         PR target/53272
3453         * config/cris/cris.c (cris_normal_notice_update_cc): For TARGET_V32,
3454         when a constant source operand matches an "I" constraint, the "no
3455         CC0 change" applies to a register-destination only, not a
3456         strict_low_part-destination.
3457
3458 2012-05-07  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
3459
3460         Backport from mainline:
3461         2012-04-19  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
3462
3463         * config/arm/sync.md (sync_optab): Change ior attribute to "or".
3464
3465 2012-05-07  Jakub Jelinek  <jakub@redhat.com>
3466
3467         PR tree-optimization/53239
3468         * tree-vrp.c (get_value_range): Set VR of
3469         SSA_NAME_IS_DEFAULT_DEF of DECL_BY_REFERENCE RESULT_DECL
3470         to nonnull.
3471
3472 2012-05-07  Richard Guenther  <rguenther@suse.de>
3473
3474         PR tree-optimization/53195
3475         * tree-inline.c (setup_one_parameter): Properly add referenced
3476         vars from the parameters new known value.
3477
3478 2012-05-06  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3479
3480         Backport from mainline:
3481         2012-04-27  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3482
3483         PR target/52999
3484         * config/pa/pa.c (pa_legitimate_constant_p): Don't put function labels
3485         in constant pool.
3486
3487 2012-05-04  Ian Lance Taylor  <iant@google.com>
3488
3489         * tree-vect-patterns.c (vect_single_imm_use): Correct return
3490         values from false to NULL.
3491
3492 2012-05-04  Uros Bizjak  <ubizjak@gmail.com>
3493
3494         Backport from mainline
3495         2012-05-04  Uros Bizjak  <ubizjak@gmail.com>
3496
3497         PR target/53228
3498         * config/i386/i386.h (X86_ARCH_CMOV): Rename from X86_ARCH_CMOVE.
3499         (TARGET_CMOV): Rename from TARGET_CMOVE.
3500         (TARGET_CMOVE): New define.
3501         * config/i386/i386.c (ix86_option_override_internal): Use TARGET_CMOV.
3502         Do not set TARGET_CMOVE here.
3503
3504 2012-05-04  Ulrich Weigand  <ulrich.weigand@linaro.org>
3505
3506         Backport from mainline:
3507
3508         2012-05-04  Ulrich Weigand  <ulrich.weigand@linaro.org>
3509
3510         PR tree-optimization/52633
3511         * tree-vect-patterns.c (vect_vect_recog_func_ptrs): Swap order of
3512         vect_recog_widen_shift_pattern and vect_recog_over_widening_pattern.
3513         (vect_recog_over_widening_pattern): Remove handling of code that was
3514         already detected as over-widening pattern.  Remove special handling
3515         of "unsigned" cases.  Instead, support general case of conversion
3516         of the shift result to another type.
3517
3518         2012-05-04  Ulrich Weigand  <ulrich.weigand@linaro.org>
3519
3520         * tree-vect-patterns.c (vect_single_imm_use): New function.
3521         (vect_recog_widen_mult_pattern): Use it instead of open-coding loop.
3522         (vect_recog_over_widening_pattern): Likewise.
3523         (vect_recog_widen_shift_pattern): Likewise.
3524
3525         2012-04-10  Ulrich Weigand  <ulrich.weigand@linaro.org>
3526
3527         PR tree-optimization/52870
3528         * tree-vect-patterns.c (vect_recog_widen_mult_pattern): Verify that
3529         presumed pattern statement is within the same loop or basic block.
3530
3531 2012-05-04  Richard Guenther  <rguenther@suse.de>
3532
3533         * common.opt (flto-report): Do not mark as Optimization.
3534
3535 2012-05-04  Eric Botcazou  <ebotcazou@adacore.com>
3536
3537         PR target/48496
3538         * recog.c (constrain_operands): If extra constraints are present, also
3539         accept pseudo-registers with equivalent memory locations during reload.
3540
3541 2012-05-03  Michael Meissner  <meissner@linux.vnet.ibm.com>
3542
3543         Backport from the mainline
3544         2012-05-03  Michael Meissner  <meissner@linux.vnet.ibm.com>
3545
3546         PR target/53199
3547         * config/rs6000/rs6000.md (bswapdi splitters): If
3548         -mavoid-indexed-addresses (or -mcpu=power6 which sets it by
3549         default) is used, generate an alternate sequence that does not
3550         depend on using indexed addressing.
3551
3552 2012-05-03  David S. Miller  <davem@davemloft.net>
3553
3554         PR target/52684
3555         * config/sparc/sparc.c (emit_soft_tfmode_libcall): If we pass a
3556         MEM directly into a libcall, mark it's MEM_EXPR as addressable.
3557         (sparc_emit_float_lib_cmp): Likewise.
3558
3559 2012-05-04  Martin Jambor  <mjambor@suse.cz>
3560
3561         Backport from mainline
3562         2012-05-02  Martin Jambor  <mjambor@suse.cz>
3563
3564         PR lto/52605
3565         * dwarf2out.c (dwarf2out_decl): Only lookup die representing context
3566         of a variable when the contect is a function.
3567
3568 2012-05-03  Jakub Jelinek  <jakub@redhat.com>
3569
3570         PR plugins/53126
3571         * gcc-ar.c (main): If GCC_EXEC_PREFIX is set in env,
3572         append program name to it and pass that as first argument
3573         to make_relative_prefix.  Always pass standard_libexec_prefix
3574         as last argument to make_relative_prefix.  If
3575         make_relative_prefix returns NULL, fall back to
3576         standard_libexec_prefix.
3577
3578         PR debug/53174
3579         * tree-predcom.c (remove_stmt): Call reset_debug_uses on stmts being
3580         removed.
3581
3582         PR target/53187
3583         * config/arm/arm.c (arm_select_cc_mode): If x has MODE_CC class
3584         mode, return that mode.
3585
3586 2012-05-03  Richard Guenther  <rguenther@suse.de>
3587
3588         PR tree-optimization/53144
3589         * tree-ssa-sccvn.c (vn_reference_lookup_or_insert_constant_for_pieces):
3590         Rename to ...
3591         (vn_reference_lookup_or_insert_for_pieces): ... this.  Properly deal
3592         with SSA name values.
3593         (vn_reference_lookup_3): Adjust callers.
3594
3595 2012-05-02  Jakub Jelinek  <jakub@redhat.com>
3596
3597         PR tree-optimization/53163
3598         * tree-ssa-phiopt.c (cond_if_else_store_replacement): Don't ignore
3599         return value from compute_all_dependences.
3600
3601         PR rtl-optimization/53160
3602         * ree.c (combine_reaching_defs): Handle the case where cand->insn
3603         has been modified by ree pass already.
3604
3605 2012-05-01  Uros Bizjak  <ubizjak@gmail.com>
3606
3607         Backport from mainline
3608         2012-04-30  Uros Bizjak  <ubizjak@gmail.com>
3609
3610         PR middle-end/53136
3611         * ipa-prop.c (ipa_print_node_jump_functions): Wrap multiple
3612         calls to cgraph_node_name in xstrdup.
3613         (ipa_make_edge_direct_to_target): Ditto.
3614         * tree-sra.c (convert_callers_for_node): Ditto.
3615         * lto-symtab.c (lto_cgraph_replace_node): Ditto.
3616         * ipa-cp.c (perhaps_add_new_callers): Ditto.
3617         * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Ditto.
3618         (cgraph_materialize_all_clones): Ditto.
3619         * ipa-inline.c (report_inline_failed_reason): Ditto.
3620         (want_early_inline_function_p): Ditto.
3621         (edge_badness): Ditto.
3622         (update_edge_key): Ditto.
3623         (flatten_function): Ditto.
3624         (ipa_inline): Ditto.
3625         (inline_always_inline_functions): Ditto.
3626         (early_inline_small_functions): Ditto.
3627
3628 2012-04-30  Andreas Tobler  <andreast@fgznet.ch>
3629
3630         Backport from mainline
3631         2012-03-21  Andreas Tobler  <andreast@fgznet.ch>
3632
3633         * configure.ac (HAVE_LD_NO_DOT_SYMBOLS): Add powerpc64-*-freebsd*.
3634         Introduce emul_name to select the right linker emulation for
3635         powerpc64-*-freebsd*.
3636         * configure: Regenerate.
3637         * config.gcc: Add bits to support powerpc64-*-freebsd*.
3638         * config/rs6000/freebsd.h (POWERPC_FREEBSD): Define.
3639         * config/rs6000/freebsd64.h: New file.
3640         * config/rs6000/rs6000.c (rs6000_option_override_internal): Use
3641         POWERPC_FREEBSD.
3642         (rs6000_savres_strategy): Likewise.
3643         (rs6000_savres_routine_name): Likewise.
3644         (rs6000_elf_file_end): Likewise.
3645         * config/rs6000/t-freebsd64: New file.
3646         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Set the
3647         rs6000_current_abi for 64-bit FreeBSD to ABI_AIX.
3648
3649 2012-04-30  Uros Bizjak  <ubizjak@gmail.com>
3650
3651         Backport from mainline
3652         2012-04-27  Paolo Bonzini  <bonzini@gnu.org>
3653
3654         PR target/53138
3655         * config/i386/i386.md (x86_mov<mode>cc_0_m1_neg): Add clobber.
3656
3657 2012-04-30  Eric Botcazou  <ebotcazou@adacore.com>
3658
3659         * config/i386/i386.c (ix86_handle_struct_attribute): Use the proper
3660         predicate to discriminate types.
3661
3662 2012-04-27  Richard Guenther  <rguenther@suse.de>
3663
3664         PR c/51527
3665         * convert.c (convert_to_integer): Avoid infinite recursion for
3666         target-defined built-in types.
3667
3668 2012-04-26  Hans-Peter Nilsson  <hp@axis.com>
3669
3670         PR target/53120
3671         * config/cris/cris.md ("*andhi_lowpart_v32")
3672         ("*andqi_lowpart_v32"): Change first input-only operand from
3673         a (match_operand ...) to (match_dup 0).  Drop alternatives with
3674         const_int-matching constraints for redundancy.
3675         ("*andhi_lowpart_non_v32", "*andqi_lowpart_non_v32"): Ditto.  Drop
3676         three-operand alternative.
3677
3678 2012-04-26  Uros Bizjak  <ubizjak@gmail.com>
3679
3680         Backport from mainline
3681         2012-04-23  Uros Bizjak  <ubizjak@gmail.com>
3682
3683         * config/i386/i386.md (*add<mode>_2): Add r/r/0 alternative.
3684         (*addsi_2_zext): Ditto.
3685         (*add<mode>_3): Ditto.
3686         (*addsi_3_zext): Ditto.
3687         (*add<mode>_5): Ditto.
3688
3689 2012-04-25  Jakub Jelinek  <jakub@redhat.com>
3690
3691         PR c/52880
3692         * c-typeck.c (set_nonincremental_init,
3693         set_nonincremental_init_from_string): Pass true instead of false
3694         as IMPLICIT to add_pending_init.
3695
3696 2012-04-24  Georg-Johann Lay  <avr@gjlay.de>
3697
3698         Backport from 2012-04-24 mainline r186768.
3699
3700         PR target/53065
3701         * config/avr/avr.h (HARD_REGNO_CALL_PART_CLOBBERED): New hook define.
3702
3703 2012-04-24  Richard Guenther  <rguenther@suse.de>
3704
3705         PR tree-optimization/53085
3706         * tree-ssa-pre.c (eliminate): Do not eliminate volatile redundant
3707         stores.
3708
3709 2012-04-24  Jakub Jelinek  <jakub@redhat.com>
3710
3711         PR middle-end/53084
3712         * varasm.c (compute_reloc_for_constant): Handle ADDR_EXPR
3713         of MEM_REF.
3714         (output_addressed_constants): Likewise.
3715
3716         PR middle-end/52999
3717         * varasm.c (get_section): Don't ICE for section conflicts with
3718         built-in section kinds.
3719
3720 2012-04-23  David Edelsohn  <dje.gcc@gmail.com>
3721
3722         * config/rs6000/sync.md (fetchop_name): Change ior attribute to "or".
3723
3724 2012-04-23  Georg-Johann Lay  <avr@gjlay.de>
3725
3726         * doc/extend.texi (AVR Named Address Spaces): Fix typos.
3727
3728 2012-04-23  Richard Guenther  <rguenther@suse.de>
3729
3730         PR c/53060
3731         * c-typeck.c (build_binary_op): Fix typo.
3732
3733 2012-04-23  Jakub Jelinek  <jakub@redhat.com>
3734
3735         PR tree-optimizations/52891
3736         * tree-vect-patterns.c (adjust_bool_pattern): Use
3737         build_nonstandard_type even if rhs1 has unsigned INTEGER_TYPE,
3738         but with non-standard precision.
3739
3740 2012-04-22  Ian Lance Taylor  <iant@google.com>
3741
3742         * godump.c (go_output_typedef): Dump size of structs.
3743
3744 2012-04-20  Ulrich Weigand  <ulrich.weigand@linaro.org>
3745
3746         Backport from mainline:
3747
3748         * config/arm/arm.c (arm_print_operand): Fix invalid alignment
3749         hints for 'A' operand types.
3750
3751 2012-04-19  Georg-Johann Lay  <avr@gjlay.de>
3752
3753         Backport from 2012-04-19 mainline r186588.
3754
3755         PR target/53033
3756         * config/avr/avr.c (avr_out_load_psi): Fix assembler template for
3757         the case *(X+const).
3758
3759 2012-04-18  Uros Bizjak  <ubizjak@gmail.com>
3760
3761         * config/alpha/sync.md (fetchop_name): Change ior attribute to "or".
3762
3763 2012-04-17  Uros Bizjak  <ubizjak@gmail.com>
3764
3765         PR target/53020
3766         * config/i386/sync.md (atomic_<code><mode>): Rename to
3767         atomic_<logic><mode>.
3768
3769 2012-04-16  Uros Bizjak  <ubizjak@gmail.com>
3770
3771         Backport from mainline
3772         2012-04-12  Uros Bizjak  <ubizjak@gmail.com>
3773
3774         PR target/52932
3775         * config/i386/avx2intrin.h (_mm256_permutevar8x32_ps): Change second
3776         argument type to __m256i.  Update call to __builtin_ia32_permvarsf256.
3777         * config/i386/sse.md (avx2_permvarv8sf): Change operand 1 to V8SI.
3778         (avx2_permvarv8sf, avx2_permvarv8si): Switch operands 1 and 2.
3779         * config/i386/i386.c (bdesc_args) <__builtin_ia32_permvarsf256>:
3780         Update builtin type to V8SF_FTYPE_V8SF_V8SI.
3781         (ix86_expand_vec_perm): Update calls to gen_avx2_permvarv8si and
3782         gen_avx2_permvarv8sf.
3783
3784 2012-04-16  Martin Jambor  <mjambor@suse.cz>
3785
3786         Backported from mainline
3787
3788         2012-04-13  Martin Jambor  <mjambor@suse.cz>
3789         PR middle-end/52939
3790
3791         * gimple-fold.c (gimple_get_virt_method_for_binfo): Bail out if
3792         fold_ctor_reference returns a zero constant.
3793
3794 2012-04-13  H.J. Lu  <hongjiu.lu@intel.com>
3795
3796         Backported from mainline
3797         2012-04-13  H.J. Lu  <hongjiu.lu@intel.com>
3798
3799         * config/i386/i386-c.c (ix86_target_macros): Define _ILP32
3800         and __ILP32__ for x32.
3801
3802 2012-04-13  Tom de Vries  <tom@codesourcery.com>
3803
3804         Backport from mainline r186418.
3805
3806         2012-04-13  Tom de Vries  <tom@codesourcery.com>
3807
3808         * tree-ssa-tail-merge.c (gsi_advance_bw_nondebug_nonlocal): Add
3809         parameters vuse and vuse_escaped.
3810         (find_duplicate): Init vuse1, vuse2 and vuse_escaped.  Pass to
3811         gsi_advance_bw_nondebug_nonlocal.  Return if vuse_escaped and
3812         vuse1 != vuse2.
3813
3814 2012-04-13  Richard Guenther  <rguenther@suse.de>
3815
3816         PR tree-optimization/52969
3817         * tree-if-conv.c (predicate_mem_writes): Properly gimplify
3818         the condition for the COND_EXPR and handle predicate negation
3819         by swapping the COND_EXPR arms.
3820
3821 2012-04-13  Richard Guenther  <rguenther@suse.de>
3822
3823         PR c/52862
3824         * convert.c (convert_to_pointer): Remove special-casing of
3825         zero.
3826
3827 2012-04-12  Michael Meissner  <meissner@linux.vnet.ibm.com>
3828
3829         Backport from mainline
3830         2012-04-12  Michael Meissner  <meissner@linux.vnet.ibm.com>
3831
3832         PR target/52775
3833         * config/rs6000/rs6000.h (TARGET_FCFID): Add TARGET_PPC_GPOPT to
3834         the list of options to enable the FCFID instruction.
3835         (TARGET_EXTRA_BUILTINS): Adjust comment.
3836
3837 2012-04-12  Richard Guenther  <rguenther@suse.de>
3838
3839         PR tree-optimization/52943
3840         * tree-chrec.h (chrec_is_positive): Remove.
3841         * tree-scalar-evolution.c (chrec_is_positive): Move ...
3842         * tree-data-ref.c (chrec_is_positive): ... here.  Make static.
3843         Return false for a constant zero instead of negative.
3844         (analyze_siv_subscript_cst_affine): Handle zero difference
3845         in the initial condition explicitely.
3846
3847 2012-04-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3848
3849         PR middle-end/52894
3850         * varasm.c (process_pending_assemble_externals): Set
3851         pending_assemble_externals_processed true.
3852         (assemble_external): Call assemble_external_real if the pending
3853         assemble externals have been processed.
3854
3855 2012-04-09  Eric Botcazou  <ebotcazou@adacore.com>
3856
3857         PR target/52717
3858         * config/sparc/sparc.c (sparc_file_end): Set TREE_PUBLIC explicitly on
3859         the DECL generated for the special GOT helper.
3860
3861 2012-04-06  Walter Lee  <walt@tilera.com>
3862
3863         Backport from mainline
3864         2012-03-07  Walter Lee  <walt@tilera.com>
3865
3866         * config/tilegx/tilegx.c (tilegx_expand_prologue): Don't generate
3867         REG_CFA_* notes for the stack pointer.
3868         (tilegx_expand_epilogue): Restore stack pointer by adjusting it by
3869         EH_RETURN_STACKADJ_RTX.
3870         * config/tilepro/tilepro.c (tilepro_expand_prologue): Don't
3871         generate REG_CFA_* notes for the stack pointer.
3872         (tilepro_expand_epilogue): Restore stack pointer by adjusting it
3873         by EH_RETURN_STACKADJ_RTX.
3874
3875 2012-04-06  Matt Turner  <mattst88@gmail.com>
3876
3877         * doc/install.texi: Correct typo "-mno-lsc" -> "-mno-llsc".
3878
3879 2012-04-06  Eric Botcazou  <ebotcazou@adacore.com>
3880
3881         * config/ia64/ia64.c (ia64_load_pair_ok): Return 0 if the second member
3882         of the destination isn't also a FP_REGS register.
3883
3884 2012-04-03  Richard Guenther  <rguenther@suse.de>
3885
3886         Backport from mainline
3887         2012-03-02  Richard Guenther  <rguenther@suse.de>
3888
3889         PR tree-optimization/52406
3890         * tree-data-ref.h: Update documentation about DR_BASE_OBJECT.
3891         (struct indices): Add unconstrained_base member.
3892         (struct dr_alias): Remove unused vops member.
3893         (DR_UNCONSTRAINED_BASE): New define.
3894         * tree-data-ref.c (dr_analyze_indices): For COMPONENT_REFs
3895         add indices to allow their disambiguation.  Make DR_BASE_OBJECT
3896         be an artificial access that covers the whole indexed object,
3897         or mark it with DR_UNCONSTRAINED_BASE if we cannot do so.  Canonicalize
3898         plain decl base-objects to their MEM_REF variant.
3899         (dr_may_alias_p): When the base-object of either data reference
3900         has unknown size use only points-to information.
3901         (compute_affine_dependence): Make dumps easier to read and
3902         more verbose.
3903         * tree-vect-data-ref.c (vector_alignment_reachable_p): Use
3904         DR_REF when looking for packed references.
3905         (vect_supportable_dr_alignment): Likewise.
3906
3907 2012-04-03  Richard Guenther  <rguenther@suse.de>
3908
3909         Backport from mainline
3910         2012-03-15  Richard Guenther  <rguenther@suse.de>
3911
3912         PR middle-end/52580
3913         * tree-data-ref.c (subscript_dependence_tester_1): Check
3914         all dimensions for non-conflicting access functions.
3915
3916 2012-04-03  Richard Guenther  <rguenther@suse.de>
3917
3918         Backport from mainline
3919         2012-03-06  Richard Guenther  <rguenther@suse.de>
3920
3921         PR middle-end/52493
3922         * tree-ssa-alias.c (ptr_derefs_may_alias_p): Robustify.
3923
3924         2012-03-23  Richard Guenther  <rguenther@suse.de>
3925
3926         PR tree-optimization/52678
3927         * tree-vectorizer.h (struct _stmt_vec_info): Add
3928         loop_phi_evolution_part member.
3929         (STMT_VINFO_LOOP_PHI_EVOLUTION_PART): New define.
3930         * tree-vect-loop.c (vect_analyze_scalar_cycles_1): Initialize
3931         STMT_VINFO_LOOP_PHI_EVOLUTION_PART.
3932         * tree-vect-loop-manip.c (vect_update_ivs_after_vectorizer):
3933         Use the cached evolution part and the PHI nodes value from
3934         the loop preheader edge instead of re-analyzing the evolution.
3935
3936         2012-03-26  Richard Guenther  <rguenther@suse.de>
3937
3938         PR tree-optimization/52701
3939         * tree-vect-loop.c (vect_analyze_scalar_cycles_1): Always
3940         compute and set the evolution part of PHI nodes.
3941
3942         2012-03-30  Richard Guenther  <rguenther@suse.de>
3943
3944         PR tree-optimization/52754
3945         * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Only
3946         propagate arbitrary addresses into really plain dereferences.
3947
3948 2012-04-03  Jakub Jelinek  <jakub@redhat.com>
3949
3950         PR tree-optimization/52835
3951         * tree-data-ref.c (build_rdg): Return NULL if
3952         compute_data_dependences_for_loop failed.
3953
3954 2012-03-31  Eric Botcazou  <ebotcazou@adacore.com>
3955
3956         * tree-cfg.c (call_can_make_abnormal_goto): New predicate.
3957         (stmt_can_make_abnormal_goto): Use it.
3958         (is_ctrl_altering_stmt): Likewise.
3959
3960 2012-03-31  Martin Jambor  <mjambor@suse.cz>
3961
3962         Backported from mainline
3963         2012-03-30  Martin Jambor  <mjambor@suse.cz>
3964
3965         * tree-ssa-ccp.c (insert_clobbers_for_var): Do not assert that there
3966         is a builtin_stack_save in a dominating BB.
3967
3968 2012-03-29  Uros Bizjak  <ubizjak@gmail.com>
3969
3970         * config/i386/sse.md (avx_h<plusminus_insn>v4df3): Fix results
3971         crossing 128bit lane boundary.
3972
3973 2012-03-29  Uros Bizjak  <ubizjak@gmail.com>
3974
3975         Backported from mainline
3976         2012-03-27  Uros Bizjak  <ubizjak@gmail.com>
3977
3978         PR target/52698
3979         * config/i386/i386-protos.h (ix86_legitimize_reload_address):
3980         New prototype.
3981         * config/i386/i386.h (LEGITIMIZE_RELOAD_ADDRESS): New define.
3982         * config/i386/i386.c: Include reload.h.
3983         (ix86_legitimize_reload_address): New function.
3984
3985 2012-03-28  Martin Jambor  <mjambor@suse.cz>
3986
3987         Backported from mainline
3988         2012-03-27  Martin Jambor  <mjambor@suse.cz>
3989
3990         PR middle-end/52693
3991         * tree-sra.c (sra_modify_assign): Do not call
3992         load_assign_lhs_subreplacements when working with an unscalarizable
3993         region.
3994
3995 2012-03-28  Jakub Jelinek  <jakub@redhat.com>
3996
3997         PR middle-end/52691
3998         * tree-ssa-ccp.c (optimize_stdarg_builtin): Optimize
3999         __builtin_va_start to __builtin_next_arg if the latter is
4000         builtin_decl_explicit_p rather than when it is not.
4001
4002         PR middle-end/52750
4003         * tree-vect-generic.c (vector_element): Perform multiplication
4004         for pos in bitsizetype type instead of idx type.
4005
4006 2012-03-28  Georg-Johann Lay  <avr@gjlay.de>
4007
4008         Backport from 2012-03-28 mainline r185910.
4009
4010         PR target/52692
4011         * config/avr/avr.c (TARGET_BUILTIN_DECL): New define.
4012         (avr_builtin_decl): New static function.
4013         (struct avr_builtin_description, avr_bdesc): Move up.
4014         Add GTY marker. Add field fndecl. Remove redundant field id.
4015         (avr_init_builtins): Initialize avr_bdesc[ID].fndecl.
4016         (avr_expand_builtin): Code cleanup because .id is removed.
4017
4018 2012-03-28  Aurelien Buhrig  <aurelien.buhrig.gcc@gmail.com>
4019
4020         PR middle-end/51893
4021         * expmed.c (store_bit_field_1): Fix wordnum value for big-endian
4022         targets.
4023
4024 2012-03-28  Georg-Johann Lay  <avr@gjlay.de>
4025
4026         Backport from 2012-03-28 mainline r185907.
4027
4028         PR target/52737
4029         * config.gcc (tm_file): Remove avr/multilib.h.
4030
4031         * doc/invoke.texi (AVR Options): Adjust
4032         documentation of -mtiny-stack.
4033
4034         * config/avr/genmultilib.awk: Remove code to generate multilib.h.
4035         (BEGIN): Use -msp8 as multilib option instead of -mtiny-stack.
4036         * config/avr/t-avr: Remove generation of multilib.h.
4037         * config/avr/t-multilib: Regenerate.
4038         * config/avr/multilib.h: Remove.
4039         * config/avr/avr.opt (-msp8): New option.
4040         (avr_sp8): New variable.
4041         * config/avr/driver-avr.c (avr_device_to_sp8): New function.
4042         * config/avr/avr.h (AVR_HAVE_SPH): New define.
4043         (AVR_HAVE_8BIT_SP): Also set by avr_sp8 i.e. -msp8.
4044         (avr_device_to_sp8): New prototype.
4045         (EXTRA_SPEC_FUNCTIONS): Add { "device_to_sp8", avr_device_to_sp8 }
4046         (DRIVER_SELF_SPECS): New define.
4047         * config/avr/avr-c.c (avr_cpu_cpp_builtins): New built-in defines:
4048         __AVR_SP8__, __AVR_HAVE_SPH__.
4049         * config/avr/avr.c (output_movhi): Use AVR_HAVE_SPH instead of
4050         AVR_HAVE_8BIT_SP to decide if SP_H is present.
4051         (avr_file_start): Ditto.
4052
4053 2012-03-28  Jakub Jelinek  <jakub@redhat.com>
4054
4055         PR target/52736
4056         * config/i386/sse.md (sse2_loadlpd splitter): Use offset 0
4057         instead of 8 in adjust_address.
4058
4059 2012-03-27  Eric Botcazou  <ebotcazou@adacore.com>
4060
4061         * expmed.c (store_bit_field): Assert that BITREGION_START is a multiple
4062         of a unit before computing the offset in units.
4063
4064 2012-03-27  Richard Guenther  <rguenther@suse.de>
4065
4066         PR middle-end/52720
4067         * fold-const.c (try_move_mult_to_index): Handle &x.array more
4068         explicitely.
4069
4070 2012-03-24  Eric Botcazou  <ebotcazou@adacore.com>
4071
4072         PR target/52610
4073         * config/sparc/sparc.h (ASM_CPU_SPEC): Pass -Av8 if -mcpu=leon.
4074
4075 2012-03-24  Steven Bosscher  <steven@gcc.gnu.org>
4076
4077         PR middle-end/52640
4078         * varasm.c: Include pointer-set.h.
4079         (pending_assemble_externals_set): New pointer set.
4080         (process_pending_assemble_externals): Destroy the pointer set.
4081         (assemble_external): See if decl is in pending_assemble_externals_set,
4082         and add it to pending_assemble_externals if necessary.
4083         (init_varasm_once): Allocate pending_assemble_externals_set.
4084
4085 2012-03-23  Michael Meissner  <meissner@linux.vnet.ibm.com>
4086
4087         Backported from mainline
4088         2012-03-06  Michael Meissner  <meissner@linux.vnet.ibm.com>
4089
4090         PR target/50310
4091         * config/rs6000/vector.md (vector_uneq<mode>): Add support for
4092         UNEQ, LTGT, ORDERED, and UNORDERED IEEE vector comparisons.
4093         (vector_ltgt<mode>): Likewise.
4094         (vector_ordered<mode>): Likewise.
4095         (vector_unordered<mode>): Likewise.
4096         * config/rs6000/rs6000.c (rs6000_emit_vector_compare_inner): Likewise.
4097
4098 2012-03-23  Joern Rennecke  <joern.rennecke@embecosm.com>
4099
4100         * config/epiphany/epiphany.c (epiphany_function_value_regno_p):
4101         Make static.
4102
4103 2012-03-22  Kaz Kojima  <kkojima@gcc.gnu.org>
4104
4105         Backported from mainline
4106         2012-03-02  Kaz Kojima  <kkojima@gcc.gnu.org>
4107
4108         PR target/48596
4109         PR target/48806
4110         * config/sh/sh.c (sh_register_move_cost): Increase cost between
4111         GENERAL_REGS and FP_REGS for SImode.
4112
4113 2012-03-22  Jakub Jelinek  <jakub@redhat.com>
4114
4115         PR middle-end/52547
4116         * tree-nested.c (convert_tramp_reference_stmt): Call declare_vars
4117         on any new_local_var_chain vars declared during recursing on
4118         GIMPLE_OMP_PARALLEL or GIMPLE_OMP_TASK body.
4119
4120 2012-03-22  Georg-Johann Lay  <avr@gjlay.de>
4121
4122         Backport from 2012-03-22 mainline r185692.
4123
4124         PR target/52496
4125         * config/avr/avr.md (unspec): Remove UNSPEC_MEMORY_BARRIER.
4126         (unspecv): Add UNSPECV_MEMORY_BARRIER.
4127         (cli_sei): Use unspec_volatile instead of unspec for memory barrier.
4128         (delay_cycles_1, delay_cycles_2): Ditto.
4129         (delay_cycles_3, delay_cycles_4): Ditto.
4130         (nopv, *nopv): Ditto.
4131         (sleep, *sleep): Ditto.
4132         (wdr, *wdr): Ditto.
4133
4134         Backport from 2012-03-21 mainline r185605.
4135
4136         PR rtl-optimization/52543
4137         PR target/52461
4138         * config/avr/avr-protos.h (avr_load_lpm): New prototype.
4139         * config/avr/avr.c (avr_mode_dependent_address_p): New function.
4140         (TARGET_MODE_DEPENDENT_ADDRESS_P): New define.
4141         (avr_load_libgcc_p): Restrict to __flash loads.
4142         (avr_out_lpm): Only handle 1-byte loads from __flash.
4143         (avr_load_lpm): New function.
4144         (avr_find_unused_d_reg): Remove.
4145         (avr_out_lpm_no_lpmx): Remove.
4146         (adjust_insn_length): Handle ADJUST_LEN_LOAD_LPM.
4147         * config/avr/avr.md (unspec): Add UNSPEC_LPM.
4148         (load_<mode>_libgcc): Use UNSPEC_LPM instead of MEM.
4149         (load_<mode>, load_<mode>_clobber): New insns.
4150         (mov<mode>): For multi-byte move from non-generic
4151         16-bit address spaces: Expand to load_<mode> resp.
4152         load_<mode>_clobber.
4153         (load<mode>_libgcc): Remove expander.
4154         (split-lpmx): Remove split.
4155
4156         Backport from 2012-03-13 mainline r185329.
4157
4158         PR target/52488
4159         * config/avr/avr.c (avr_prologue_setup_frame): Cut down stack
4160         offset (size) to a value the insns can deal with.
4161         (expand_epilogue): Ditto.
4162
4163         Backport from 2012-03-12 mainline r185256.
4164
4165         PR target/52499
4166         * config/avr/avr.c (avr_mode_code_base_reg_class): Change return
4167         type from reg_class_t to enum reg_class.
4168         * config/avr/avr-protos.h (avr_mode_code_base_reg_class): Ditto.
4169
4170         Backport from 2012-03-12 mainline r185253.
4171
4172         PR target/52148
4173         * config/avr/avr.c (avr_out_movmem): Fix typo in output template
4174         for the case ADDR_SPACE_FLASH and AVR_HAVE_LPMX introduced in
4175         r184615 from 2012-02-28.
4176
4177         Backport from 2012-03-08 mainline r185105.
4178
4179         * config/avr/avr.md (*addhi3, addhi3_clobber): Add "w" alternative
4180         for constants in [-63,63].
4181
4182         Backport from 2012-03-08 mainline r185100.
4183
4184         PR target/52496
4185         * config/avr/avr.c (avr_mem_clobber): New static function.
4186         (avr_expand_delay_cycles): Add memory clobber operand to
4187         delay_cycles_1, delay_cycles_2, delay_cycles_3, delay_cycles_4.
4188         * config/avr/avr.md (unspec): Add UNSPEC_MEMORY_BARRIER.
4189         (enable_interrupt, disable_interrupt): New expander.
4190         (nopv, sleep, wdr): New expanders.
4191         (delay_cycles_1): Add memory clobber.
4192         (delay_cycles_2): Add memory clobber.
4193         (delay_cycles_3): Add memory clobber.
4194         (delay_cycles_4): Add memory clobber.
4195         (cli_sei): New insn from former "enable_interrupt",
4196         "disable_interrupt" with memory clobber.
4197         (*wdt): New insn from former "wdt" with memory clobber.
4198         (*nopv): Similar, but for "nopv".
4199         (*sleep): Similar, but for "sleep".
4200
4201         Backport from 2012-03-07 mainline r185043.
4202
4203         PR target/52484
4204         * config/avr/avr.md (xload<mode>_A): Add R22... to register footprint.
4205
4206         Backport from 2012-03-07 mainline r185032.
4207
4208         PR target/52506
4209         * gcc/config/avr/avr.c (expand_epilogue): Fix order of restoration
4210         to: RAMPZ, RAMPY, RAMPX, RAMPD.
4211         (expand_prologue): Only clear RAMPZ if it has effect on RAM-read.
4212
4213         Backport from 2012-03-07 mainline r185031.
4214
4215         PR target/52505
4216         * config/avr/avr.c (avr_out_xload): Don't read unintentionally
4217         from RAM.
4218         * config/avr/avr.md (xload_8): Adjust insn length.
4219
4220         Backport from 2012-03-07 mainline r185030.
4221
4222         PR target/52461
4223         * gcc/config/avr/avr.c (avr_out_lpm): Clear RAMPZ after usage
4224         if RAMPZ affects reading from RAM.
4225
4226         Backport from 2012-03-05 mainline r184919.
4227
4228         * config/avr/avr.md (*umaddqihi4.2): New insn-and-split.
4229
4230 2012-03-22  Georg-Johann Lay  <avr@gjlay.de>
4231
4232         Backport from mainline r185259.
4233
4234         PR other/52545
4235         * output.h (SECTION_EXCLUDE, SECTION_MACH_DEP): Don't use
4236         SECTION_MACH_DEP reserved bits for SECTION_EXCLUDE.
4237
4238 2012-03-22  Jakub Jelinek  <jakub@redhat.com>
4239
4240         Backported from mainline
4241         2012-03-13  Jakub Jelinek  <jakub@redhat.com>
4242
4243         PR c/52577
4244         * c-parser.c (c_parser_postfix_expression)
4245         <case RID_BUILTIN_SHUFFLE>: Call mark_exp_read on argument values.
4246
4247         * config/i386/smmintrin.h: Avoid /* within a comment.
4248         * config/i386/nmmintrin.h: Likewise.
4249
4250 2012-03-22  Richard Guenther  <rguenther@suse.de>
4251
4252         * BASE-VER: Set to 4.7.1.
4253         * DEV-PHASE: Set to prerelease.
4254
4255 2012-03-22  Release Manager
4256
4257         * GCC 4.7.0 released.
4258
4259 2012-03-16  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4260
4261         * doc/install.texi (Specific, *-*-solaris2*): Improve wording.
4262
4263 2012-03-15  Jakub Jelinek  <jakub@redhat.com>
4264             Andrew Pinski  <apinski@cavium.com>
4265
4266         PR middle-end/52592
4267         * builtins.c (expand_builtin_int_roundingfn_2): If expanding
4268         BUILT_IN_IR{INT,OUND}* using optab fails, emit lr{int,ound}*
4269         calls instead of __builtin_ir{int,ound}*.
4270
4271 2012-03-14  Jakub Jelinek  <jakub@redhat.com>
4272
4273         PR c++/52582
4274         * config/rs6000/rs6000.c (call_ABI_of_interest): Return true
4275         if c_node is NULL.
4276
4277 2012-03-13  Joseph Myers  <joseph@codesourcery.com>
4278
4279         * doc/invoke.texi (-std=c99), doc/standards.texi (C language):
4280         Refer to GCC 4.7 version of c99status.html.
4281
4282 2012-03-12  Michael Meissner  <meissner@linux.vnet.ibm.com>
4283
4284         Backport from mainline
4285         2012-03-09  Michael Meissner  <meissner@linux.vnet.ibm.com>
4286
4287         * config/rs6000/linux64.h (OPTION_TARGET_CPU_DEFAULT): Do not
4288         redefine to be NULL if the current bit-size is different from the
4289         configured bit-size.
4290
4291         * config/rs6000/rs6000.c (rs6000_option_override_internal): If the
4292         cpu is defaulted, use PROCESSOR_DEFAULT and PROCESSOR_DEFAULT64 to
4293         set the default tuning.  Add asserts to make sure the cpu and tune
4294         indexes are defined.  Fix tests for cpu/tune index to use >= 0 to
4295         test whether the index is set, instead of > 0.
4296         (rs6000_file_start): Do not reset the default cpu if the current
4297         bit-size is different from the configured bit-size.
4298
4299 2012-03-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4300
4301         * doc/install.texi (Specific, i?86-*-solaris2.[89]): Update
4302         binutils reference.
4303         (Specific, i?86-*-solaris2.10): Remove GCC 4.0 reference.
4304         Update binutils references.
4305         (Specific, *-*-solaris2*): Mention bundled GCC in Solaris 10 and 11.
4306         Update binutils reference.
4307         Update Sun as/GNU ld caveat.
4308         Document binutils largefile requirement for LTO plugin.
4309         Remove reference to alternate libpthread.
4310
4311 2012-03-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4312
4313         * doc/install.texi (Specific, alpha*-dec-osf5.1): Update binutils
4314         reference.
4315         (Specific, mips-sgi-irix6): Likewise.
4316
4317 2012-03-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4318
4319         * configure.ac (gcc_cv_as_ix86_tlsldmplt): Add label.
4320         * configure: Regenerate.
4321
4322 2012-03-07  Richard Henderson  <rth@redhat.com>
4323
4324         * config/m68k/m68k.h (ISA_HAS_TAS): New.
4325         * config/m68k/sync.md (atomic_test_and_set): Use it.
4326         (atomic_test_and_set_1): Likewise.
4327
4328 2012-03-07  Ralf Corsépius  <ralf.corsepius@rtems.org>
4329
4330         PR target/51417
4331         * Makefile.in: Let install-gcc-ar depend on installdirs,
4332         gcc-ar$(exeext), gcc-nm$(exeext), gcc-ranlib$(exeext).
4333         Don't double canonicalize if cross-compiling.
4334
4335 2012-03-06  Aldy Hernandez  <aldyh@redhat.com>
4336
4337         * trans-mem.c: New typedef for tm_region_p.
4338         Define vector types for tm_region_p.
4339         (tm_region_init): Replace region_worklist to a vector called
4340         bb_regions.
4341
4342 2012-03-06  Aldy Hernandez  <aldyh@redhat.com>
4343
4344         PR middle-end/52463
4345         * trans-mem.c (tm_region_init): Use last_basic_block.
4346
4347 2012-03-05  Richard Henderson  <rth@redhat.com>
4348
4349         PR tree-opt/52242
4350         Revert: 2011-11-26  Richard Henderson  <rth@redhat.com>
4351         * omp-low.c (expand_omp_atomic): Assume anything aligned to
4352         BIGGEST_ALIGNMENT is aligned.
4353
4354 2012-03-05  Oleg Endo  <olegendo@gcc.gnu.org>
4355
4356         * config/sh/sh.c (TARGET_ATOMIC_TEST_AND_SET_TRUEVAL): New hook.
4357
4358 2012-03-05  Richard Henderson  <rth@redhat.com>
4359
4360         PR target/52481
4361         * config/m68k/sync.md (atomic_test_and_set): Use expand_simple_unop
4362         instead of calling negqi2 directly.
4363
4364 2012-03-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4365
4366         * config/mips/iris6.h [!USED_FOR_TARGET] (long_intmax): Declare.
4367         (INTMAX_TYPE): Use it.
4368         (UINTMAX_TYPE): Likewise.
4369         (SUBTARGET_OVERRIDE_OPTIONS): Define.
4370         (irix6_c_common_override_options): Declare.
4371         (C_COMMON_OVERRIDE_OPTIONS): Define.
4372         * config/mips/mips.c [TARGET_IRIX6] (long_intmax): Define.
4373         * config/mips/irix6-c.c: New file.
4374         * config/mips/t-irix6 (irix6-c.o): New target.
4375         * config.gcc (mips-sgi-irix6.5): Set c_target_objs,
4376         cxx_target_objs.
4377
4378 2012-03-02  Richard Henderson  <rth@redhat.com>
4379
4380         * optabs.c (expand_atomic_test_and_set): Honor
4381         atomic_test_and_set_trueval even when atomic_test_and_set
4382         optab is not in use.
4383
4384 2012-03-02  Peter Bergner  <bergner@vnet.ibm.com>
4385
4386         Backport from mainline
4387         2012-03-02  Peter Bergner  <bergner@vnet.ibm.com>
4388
4389         * config/rs6000/vsx.md (vsx_set_<mode>): Reorder operands.
4390
4391 2012-03-02  Richard Guenther  <rguenther@suse.de>
4392
4393         * DEV-PHASE: Set to prerelease.
4394
4395 2012-03-01  Richard Earnshaw  <rearnsha@arm.com>
4396
4397         * config.gcc (obsolete): Add all ARM targets using the FPA.
4398         (with_fpu): Obsolete selection of the FPA or Maverick on ARM.
4399         * doc/install.texi: Avoid references to obsolete ARM ports.
4400
4401 2012-03-01  Joern Rennecke  <joern.rennecke@embecosm.com>
4402
4403         * config/epiphany/epiphany.md (movmisalign<mode>): New patterns.
4404
4405 2012-03-01  Jeremy Bennett  <jeremy.bennett@embecosm.com>
4406             Joern Rennecke  <joern.rennecke@embecosm.com>
4407
4408         * doc/extend.texi: Expand and update information on interrupt
4409         attribute for Epiphany.
4410
4411 2012-03-01  Oleg Endo  <olegendo@gcc.gnu.org>
4412
4413         * config/sh/sh-protos.h: Update copyright notice dates.
4414         * config/sh/sh.h: Likewise.
4415         * config/sh/sh.md: Likewise.
4416         * config/sh/constraints.md: Likewise.
4417         * config/sh/predicates.md: Likewise.
4418
4419 2012-03-01  Oleg Endo  <olegendo@gcc.gnu.org>
4420
4421         * config/sh/sh-protos.h (tertiary_reload_operand): Remove dead function.
4422         * config/sh/sh.c (tertiary_reload_operand): Likewise.
4423
4424 2012-03-01  Oleg Endo  <olegendo@gcc.gnu.org>
4425
4426         * config/sh/constraints.md: Fix comment typo.
4427
4428 2012-03-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4429
4430         PR target/52408
4431         * config/pa/pa.md (zvdep_imm32): Change type of variable x from int to
4432         unsigned HOST_WIDE_INT.
4433         (zvdep_imm64): Likewise.
4434         (vdepi_ior): Change type of variable x from int to HOST_WIDE_INT.
4435         (vdepi_and): Likewise.
4436         Likewise for unamed 64-bit patterns.
4437         * config/pa/predicates.md (lhs_lshift_cint_operand): Update comment.
4438
4439 2012-03-01  Alexandre Oliva  <aoliva@redhat.com>
4440
4441         PR debug/52001
4442         PR rtl-optimization/52417
4443         * cselib.c (cselib_any_perm_equivs): New variable.
4444         (cselib_reset_table): Check that it's not set when not
4445         preserving constants.
4446         (cselib_add_permanent_equiv): Set it.
4447         (cselib_have_permanent_equivalences): New.
4448         (cselib_init, cselib_finish): Reset it.
4449         * cselib.h (cselib_have_permanent_equivalences): Declare.
4450         * alias.c (get_addr): Restore earlier behavior when there
4451         aren't permanent equivalences.
4452
4453 2012-03-01  Steven Bosscher  <steven@gcc.gnu.org>
4454
4455         * config/mn10300/mn10300-modes.def: Fix copyright notice.
4456         * config/v850/v850-modes.def: Fix copyright notice.
4457
4458 2012-03-01  Georg-Johann Lay  <avr@gjlay.de>
4459
4460         * doc/extend.texi (AVR Built-in Functions): Document
4461         __builtin_avr_flash_segment.
4462
4463         * config/avr/builtins.def (__builtin_avr_flash_segment): New entry.
4464         * config/avr/avr.md (flash_segment, flash_segment1): New expanders.
4465         (*split.flash_segment): New insn-and-split.
4466         * config/avr/avr.c (avr_init_builtins): Add local variables:
4467         const_memx_void_node, const_memx_ptr_type_node,
4468         char_ftype_const_memx_ptr.
4469
4470 2012-03-01  Jakub Jelinek  <jakub@redhat.com>
4471
4472         PR tree-optimization/52445
4473         * tree-ssa-phiopt.c (struct name_to_bb): Remove ssa_name field,
4474         add ssa_name_ver, offset and size fields and change store field
4475         to bool.
4476         (name_to_bb_hash, name_to_bb_eq): Adjust for the above changes.
4477         (add_or_mark_expr): Likewise.  Only consider previous stores
4478         with the same size and offset.
4479         (nt_init_block): Only look at gimple_assign_single_p stmts,
4480         doesn't look at rhs2.
4481
4482 2012-03-01  Richard Guenther  <rguenther@suse.de>
4483
4484         PR middle-end/52443
4485         * tree-cfg.c (verify_gimple_assign_unary): Allow any
4486         conversions from integral types to pointer types.
4487
4488 2012-03-01  Georg-Johann Lay  <avr@gjlay.de>
4489
4490         * config/avr/avr-c.c (avr_cpu_cpp_builtins): Restore built-in
4491         defines for __UINT24_MAX__, __INT24_MAX__, __INT24_MIN__
4492         unintentionally removed in r184616.
4493
4494 2012-03-01  Venkataramanan Kumar  <venkataramanan.kumar@amd.com>
4495
4496         * doc/invoke.texi: Document AMD bdver2 and remove mentioning
4497         3DNow from bdver1.
4498
4499 2012-02-29  Jakub Jelinek  <jakub@redhat.com>
4500             Uros Bizjak  <ubizjak@gmail.com>
4501
4502         PR target/52437
4503         * config/i386/sse.md (vec_set<mode>_0): Swap "*r" and "fF"
4504         alternatives, add "e" constraint to the new last alternative
4505         and ! to last 3 alternatives.
4506
4507 2012-02-29  Eric Botcazou  <ebotcazou@adacore.com>
4508
4509         * dwarf2out.c (modified_type_die): Set DW_AT_GNAT_descriptive_type and
4510         DW_AT_artificial attributes at the end of the processing.
4511         (gen_array_type_die): Likewise.
4512         (gen_enumeration_type_die): Likewise.
4513         (gen_struct_or_union_type_die): Likewise.
4514         (add_gnat_descriptive_type_attribute): Do not suppress debug info for
4515         the parent type.
4516
4517 2012-02-29  Jakub Jelinek  <jakub@redhat.com>
4518
4519         PR middle-end/52419
4520         * expr.c (expand_assignment): If doing misaligned store that doesn't
4521         cover all mode bits, perform a RMW cycle.
4522
4523         PR tree-optimization/52429
4524         * tree-parloops.c (separate_decls_in_region_debug): Return early
4525         if var is LABEL_DECL.
4526
4527 2012-02-29  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
4528
4529         PR tree-optimization/52424
4530         * tree-ssa-dom.c (dom_opt_leave_block): Push a marker before
4531         calling dom_thread_across_edge.
4532
4533 2012-02-29  Georg-Johann Lay  <avr@gjlay.de>
4534
4535         * config/avr/avr.c: Move definition of TARGET macros to end of file.
4536
4537 2012-02-29  Georg-Johann Lay  <avr@gjlay.de>
4538
4539         * config/avr/avr-protos.h (avr_output_bld): Remove unused prototype.
4540         * config/avr/avr.c (avr_output_bld): Remove unused function.
4541         (avr_out_sbxx_branch): Use "%T" to print bit position.
4542
4543 2012-02-29  Georg-Johann Lay  <avr@gjlay.de>
4544
4545         * config/avr/avr.md: Untabify.
4546
4547 2012-02-29  Georg-Johann Lay  <avr@gjlay.de>
4548
4549         * config/avr/avr.md (eqne): New code iterator.
4550         (*dec-and-branchsi): Use it in text peephole's condition.
4551         (*dec-and-branchhi): Ditto.
4552         (*dec-and-branchqi): Ditto.
4553
4554 2012-02-29  Georg-Johann Lay  <avr@gjlay.de>
4555
4556         PR target/49939
4557         * config/avr/avr.h (ASM_SPEC): Add -mno-skip-bug if we know that
4558         the device does not have the skip-bug.
4559
4560 2012-02-29  Oleg Endo  <olegendo@gcc.gnu.org>
4561
4562         * doc/invoke.texi (-msoft-atomic): Add more detailed description.
4563         (-mbranch-cost, -mcbranchdi -mcmpeqdi -mfused-madd
4564         -mpretend-cmove): New.
4565
4566 2012-02-29  Jakub Jelinek  <jakub@redhat.com>
4567
4568         PR bootstrap/52397
4569         * df.h (struct df_d): Adjust comment that hard_regs_live_count
4570         doesn't count DEBUG_INSN refs.
4571         * df-scan.c (df_ref_create_structure): Don't set DF_HARD_REG_LIVE
4572         for DEBUG_INSN refs.
4573
4574 2012-02-28  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
4575
4576         Partially revert:
4577
4578         2012-02-20  Richard Guenther  <rguenther@suse.de>
4579         PR tree-optimization/52298
4580         * tree-vect-stmts.c (vectorizable_load): Properly use
4581         STMT_VINFO_DR_STEP instead of DR_STEP when vectorizing
4582         outer loops.
4583
4584 2012-02-28  Aldy Hernandez  <aldyh@redhat.com>
4585
4586         PR middle-end/51752
4587         * gimple.h (gimple_in_transaction): New.
4588         (gimple_set_in_transaction): New.
4589         (struct gimple_statement_base): Add in_transaction field.
4590         * tree-ssa-loop-im.c: (movement_possibility): Restrict movement of
4591         transaction loads.
4592         (tree_ssa_lim_initialize): Compute transaction bits.
4593         * tree.h (compute_transaction_bits): Protoize.
4594         * trans-mem.c (tm_region_init): Use the heap to store BB
4595         auxilliary data.
4596         (compute_transaction_bits): New.
4597
4598 2012-02-28  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
4599
4600         * gcc.c (display_help): Document --help=common and sort entries
4601         alphabetically.
4602
4603 2012-02-28  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
4604
4605         * doc/install.texi: Document check-$LANG specific shortcuts
4606
4607 2012-02-28  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
4608
4609         PR target/51534
4610         * config/arm/arm.c (neon_builtin_data): Add entries for vcgeu
4611         and vcgtu.
4612         * config/arm/arm_neon.h: Regenerate.
4613         * config/arm/neon.md (unspec): Add UNSPEC_VCGEU, and UNSPEC_VCGTU.
4614         (neon_vcgeu): New insn.
4615         (neon_vcgtu): Likewise.
4616         * config/arm/neon.ml (s_8_32, u_8_32): New lists.
4617         (ops): Unsigned comparison intrinsics call a different
4618         builtin.
4619
4620 2012-02-28  Richard Guenther  <rguenther@suse.de>
4621
4622         PR target/52407
4623         * config/i386/i386.c (ix86_expand_vector_set): Fix element
4624         ordering for the VEC_CONCAT for two element vectors for
4625         V2SFmode, V2SImode and V2DImode.
4626
4627 2012-02-28  Richard Earnshaw  <rearnsha@arm.com>
4628
4629         PR target/49448
4630         * config.gcc (arm*-*-linux*): Use an unambiguous pattern for
4631         detecting big-endian triplets.
4632
4633 2012-02-28  Richard Earnshaw  <rearnsha@arm.com>
4634
4635         * arm.c (aapcs_vfp_is_call_or_return_candidate): Only use the machine
4636         mode if there is no type information available.
4637
4638 2012-02-28  Thomas Koenig  <tkoenig@gcc.gnu.org>
4639
4640         PR tree-optimization/53207
4641         * doc/invoke.texi: Document as experimental and relying on graphite.
4642
4643 2012-02-28  Georg-Johann Lay  <avr@gjlay.de>
4644
4645         * config/avr/avr-devices.c (avr_mcu_type): Adjust NULL part
4646         of initializer to changes from r184614.
4647
4648 2012-02-28  Richard Guenther  <rguenther@suse.de>
4649
4650         PR tree-optimization/52395
4651         * tree-sra.c (build_ref_for_offset): Also look at the base
4652         TYPE_ALIGN when figuring out the alignment of the replacement.
4653
4654 2012-02-28  Richard Guenther  <rguenther@suse.de>
4655
4656         PR tree-optimization/52402
4657         * ipa-prop.c (ipa_modify_call_arguments): Properly use
4658         mis-aligned types when creating the accesses at the call site.
4659
4660 2012-02-28  Georg-Johann Lay  <avr@gjlay.de>
4661
4662         * config/avr/builtins.def: New file.
4663         * config/avr/t-avr (avr.o, avr-c.o): Depend on it.
4664         * config/avr/avr.c (enum avr_builtin_id): Use it.
4665         (avr_init_builtins): Use it. And use avr_bdesc.
4666         (bdesc_1arg): Remove.
4667         (bdesc_2arg): Remove.
4668         (bdesc_3arg): Remove.
4669         (struct avr_builtin_description): Add field n_args.
4670         (avr_bdesc): New static variable using builtins.def.
4671         (avr_expand_builtin): Use it.
4672         Don't call avr_expand_delay_cycles if op0 is not CONST_INT.
4673         (avr_fold_builtin): Fold AVR_BUILTIN_SWAP.
4674         Don't fold AVR_BUILTIN_INSERT_BITS if arg0 is not INTEGER_CST.
4675
4676 2012-02-28  Georg-Johann Lay  <avr@gjlay.de>
4677
4678         PR target/52148
4679         * config/avr/avr.md (movmem_<mode>): Replace match_operand that
4680         match only one single hard register with respective hard reg rtx.
4681         (movmemx_<mode>): Ditto.
4682         * config/avr/avr.c (avr_emit_movmemhi): Adapt expanding to new
4683         insn anatomy of movmem[x]_<mode>.
4684         (avr_out_movmem): Same for printing assembler and operand usage.
4685
4686 2012-02-28  Georg-Johann Lay  <avr@gjlay.de>
4687
4688         PR target/49868
4689         PR target/52261
4690         * doc/extend.texi (AVR Named Address Spaces): No more try to fix
4691         address spaces located outside of device flash.
4692
4693         * config/avr/avr.h (base_arch_s): Remove field n_segments.
4694         (mcu_type_s): Add field n_flash.
4695         * config/avr/avr-devices.c (avr_arch_types): Remove .n_segments.
4696         Set .have_elpm and .have_elpmx to 1 for avrxmega4 and avrxmega5.
4697         (AVR_MCU): Add N_FLASH argument.
4698         * config/avr/avr-mcus.def (AVR_MCU): Add initializer for .n_flash.
4699         * config/avr/avr-c.c (avr_cpu_cpp_builtins): Only define built-in
4700         macro __FLASH<n> if that address space makes sense for the device.
4701         * config/avr/avr.c (avr_out_lpm): Don't try to fix address spaces
4702         outside of target flash.
4703         (avr_asm_named_section): Ditto.
4704         (avr_asm_select_section): Ditto.
4705         (avr_addr_space_convert): Ditto.
4706         (avr_emit_movmemhi): Ditto.
4707         (avr_nonconst_pointer_addrspace, avr_pgm_check_var_decl): Error if
4708         address space is outside of device flash.
4709         (avr_insert_attributes): Ditto.
4710         (avr_xload_libgcc_p): Use avr_current_device->n_flash instead of
4711         avr_current_arch->n_segments.
4712
4713 2012-02-27  H.J. Lu  <hongjiu.lu@intel.com>
4714
4715         PR target/52352
4716         * config/i386/i386.md (*movabs<mode>_1): Enable only for
4717         TARGET_LP64.
4718         (*movabs<mode>_2): Likewise.
4719
4720 2012-02-27  Jakub Jelinek  <jakub@redhat.com>
4721
4722         PR target/52375
4723         * config/arm/neon.md (vashr<mode>3, vlshr<mode>3): Use
4724         s_register_operand in the test instead of REG_P.  Don't call
4725         gen_reg_rtx if it won't be used.
4726
4727         PR tree-optimization/52376
4728         * ipa-split.c (split_function): Ignore CLOBBER stmts.
4729
4730 2012-02-27  Stuart Henderson  <shenders@gcc.gnu.org>
4731
4732         * ifcvt.c (noce_get_condition): Check condition variable is not
4733         small_register_classes_for_mode_p before accepting.
4734
4735 2012-02-27  Uros Bizjak  <ubizjak@gmail.com>
4736
4737         * config/i386/i386.md (*movabs<mode>_1): Fix operand 1 constraints.
4738
4739 2012-02-27  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
4740
4741         Revert:
4742         2012-01-09  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
4743         * config/arm/arm-cores.def (cortex-a15): Use cortex_a15_tune for
4744         tuning parameters.
4745         * config/arm/arm.c (arm_cortex_a15_tune): New static variable.
4746
4747 2012-02-27  Oleg Endo  <olegendo@gcc.gnu.org>
4748
4749         * config/sh/sh.h: Delete dead GO_IF_LEGITIMATE_INDEX macro.
4750
4751 2012-02-26  Oleg Endo  <olegendo@gcc.gnu.org>
4752
4753         * config/sh/predicates.md: Remove blank lines.
4754         * config/sh/sh.c: Fix typos in comments.
4755         * config/sh/constraints.md: Likewise.
4756         * config/sh/sh.md: Remove blank lines.
4757         Fix typos in comments.  Use ;; as comment characters.
4758
4759 2012-02-26  Walter Lee  <walt@tilera.com>
4760
4761         * config/tilegx/tilegx.c (match_pcrel_step2): Fix instruction pattern.
4762         (replace_mov_pcrel_step2): Ditto.
4763
4764 2012-02-25  Alexandre Oliva  <aoliva@redhat.com>
4765
4766         PR debug/52001
4767         * alias.c (refs_newer_value_cb, refs_newer_value_p): New.
4768         (get_addr): Walk canonical value's locs.  Avoid returning VALUEs
4769         and locs that reference values newer than the non-canonical value
4770         at hand.  Return the canonical value as a worst case.
4771         (memrefs_conflict_p): Walk canonical value's locs.
4772
4773         PR debug/52001
4774         * cselib.c (preserve_only_constants): Rename to...
4775         (preserve_constants_and_equivs): ... this.  Split out...
4776         (invariant_or_equiv_p): ... this.  Preserve plus expressions
4777         of other preserved expressions too.
4778         (cselib_reset_table): Adjust.
4779         * var-tracking.c (reverse_op): Use canonical value to build
4780         reverse operation.
4781
4782 2012-02-23  Kai Tietz  <ktietz@redhat.com>
4783
4784         * config/i386/i386.c (ix86_delegitimize_address): Handle
4785         UNSPEC_PCREL plus displacement.
4786
4787 2012-02-24  Georg-Johann Lay  <avr@gjlay.de>
4788
4789         PR target/52261
4790         * config/avr/avr.c (avr_out_movhi_mr_r_xmega): Use base
4791         to test for unusedness in st X addressing.
4792
4793 2012-02-24  Richard Guenther  <rguenther@suse.de>
4794
4795         PR middle-end/52361
4796         * gimple.c (walk_gimple_op): Use predicates with less redundant tests.
4797         (is_gimple_reg_type): Move inline ...
4798         * gimple.h (is_gimple_reg_type): ... here.
4799
4800 2012-02-24  Richard Guenther  <rguenther@suse.de>
4801
4802         PR middle-end/52361
4803         * passes.c (execute_function_todo): When verifying SSA form
4804         verify gimple form first.
4805         * tree-ssa.c (verify_ssa): Do not verify gimple form here.
4806
4807 2012-02-24  Richard Guenther  <rguenther@suse.de>
4808
4809         PR middle-end/52355
4810         * fold-const.c (fold_addr_of_array_ref_difference): New function.
4811         (fold_binary_loc): Use it to extend the existing &a[i] - &a[j] folding.
4812
4813 2012-02-13  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
4814
4815         * tree-if-conv (predicate_scalar_phi): Commentary typo fix.
4816
4817 2012-02-23  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
4818
4819         * tree-phinodes.c (make_phi_node): Mark static.
4820         * tree-flow.h (make_phi_node): Remove extern decl.
4821         * doc/gimple.texi (make_phi_node): Remove documentation.
4822
4823 2012-02-23  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
4824
4825         * tree-into-ssa (update_ssa): Avoid trailing whitespace in dump_file.
4826         * tree-ssa-sccvn.c (print_scc): Ditto.
4827
4828 2012-02-23  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
4829
4830         * doc/passes.texi (Full redundancy elimination): Fix typo.
4831
4832 2012-02-23  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
4833
4834         * doc/invoke.texi (-fdse, -fdce): Remove duplicate entries.
4835
4836 2012-02-23  Eric Botcazou  <ebotcazou@adacore.com>
4837
4838         PR bootstrap/52287
4839         * haifa-sched.c (rank_for_schedule): Stabilize sort for debug insns.
4840
4841 2012-02-23  Uros Bizjak  <ubizjak@gmail.com>
4842
4843         PR c/52290
4844         * c-decl.c (start_function): Exit early if decl1 is not FUNTION_DECL.
4845
4846 2012-02-23  Georg-Johann Lay  <avr@gjlay.de>
4847
4848         * config/avr/avr.md (code_stdname): Add ior, xor.
4849         (xior): New code iterator.
4850         (*<code_stdname><mode>qi.byte0): Use xior instead of ior.
4851         (*<code_stdname><mode>qi.byte1-3): Ditto.
4852
4853 2012-02-23  Jakub Jelinek  <jakub@redhat.com>
4854
4855         PR tree-optimization/52019
4856         * ipa-split.c (find_return_bb, find_retval, visit_bb): Ignore
4857         CLOBBER stmts.
4858
4859 2012-02-23  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
4860
4861         * acinclude.m4: Use HAVE_INITFINI_ARRAY_SUPPORT instead of
4862         HAVE_INITFINI_ARRAY to work around namespace pollution in
4863         certain versions of newlib system headers.
4864         * config.in: Regenerate.
4865         * configure: Regenerate.
4866         * config/initfini-array.h: Use HAVE_INITFINI_ARRAY_SUPPORT
4867         instead of HAVE_INITFINI_ARRAY.
4868
4869 2012-02-22  Uros Bizjak  <ubizjak@gmail.com>
4870
4871         PR target/52330
4872         * config/i386/i386.c (ix86_print_operand) <case 'H'>: Error out if x
4873         is not offsettable memory reference.
4874
4875 2012-02-22  Georg-Johann Lay  <avr@gjlay.de>
4876
4877         PR target/18145
4878         * config/avr/avr.c (avr_asm_output_aligned_decl_common): Skip
4879         setting avr_need_clear_bss_p for __gnu_lto* symbols.
4880
4881 2012-02-22  Georg-Johann Lay  <avr@gjlay.de>
4882
4883         * config/avr/avr.h (avr_accumulate_outgoing_args): Return int.
4884         * config/avr/avr.c (avr_accumulate_outgoing_args): Return int.
4885
4886 2012-02-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4887
4888         * configure.ac (LIB_TLS_SPEC): Enforce use of alternate thread
4889         library on Solaris 8 even without TLS support.
4890         * configure: Regenerate.
4891
4892 2012-02-22  Richard Guenther  <rguenther@suse.de>
4893
4894         PR middle-end/52329
4895         * gimple-fold.c (fold_stmt_1): Also canonicalize ADDR_EXPRs
4896         for GIMPLE_DEBUG stmts.
4897
4898 2012-02-22  Martin Jambor  <mjambor@suse.cz>
4899
4900         PR middle-end/51782
4901         * emit-rtl.c (set_mem_attributes_minus_bitpos): Set address space
4902         according to the base object.
4903
4904 2012-02-22  Georg-Johann Lay  <avr@gjlay.de>
4905
4906         PR rtl-optimization/50063
4907         * config/avr/avr.md (movhi_sp_r): Handle -1 (unknown IRQ state)
4908         and 2 (8-bit SP) in operand 2.
4909         * config/avr/avr.c (avr_prologue_setup_frame): Adjust prologue
4910         setup to use movhi_sp_r instead of vanilla move to write SP.
4911         Adjust REG_CFA notes to superseed unspec.
4912         (expand_epilogue): Adjust epilogue setup to use movhi_sp_r instead
4913         of vanilla move.
4914         As function body might contain CLI or SEI: Use irq_state 0 (IRQ
4915         known to be off) only with TARGET_NO_INTERRUPTS. Never use
4916         irq_state 1 (IRQ known to be on) here.
4917
4918 2012-02-21  Bernd Schmidt  <bernds@codesourcery.com>
4919
4920         * ira.c (check_allocation): Use REG_WORDS_BIG_ENDIAN, not
4921         WORDS_BIG_ENDIAN.
4922         * ira-color.c (setup_profitable_hard_regs, check_hard_reg_p,
4923         assign_hard_reg): Likewise.
4924
4925 2012-02-21  Georg-Johann Lay  <avr@gjlay.de>
4926
4927         * config/avr/avr.md (neghi2): Remove "!d,0" alternative. Tweak "r,0".
4928
4929 2012-02-21  Georg-Johann Lay  <avr@gjlay.de>
4930
4931         * config/avr/avr.md
4932         (*dec-and-branchhi!=-1.d.clobber): New text peephole.
4933         (*dec-and-branchhi!=-1.l.clobber): New text peephole.
4934
4935 2012-02-21  Georg-Johann Lay  <avr@gjlay.de>
4936
4937         * config/avr/avr-protos.h (avr_accumulate_outgoing_args): Move
4938         prototype from here to...
4939         * config/avr/avr.h: ...here.
4940
4941 2012-02-21  Richard Earnshaw  <rearnsha@arm.com>
4942
4943         PR target/52294
4944         * thumb2.md (thumb2_shiftsi3_short): Split register and
4945         immediate shifts.  For register shifts tie operands 0 and 1.
4946         (peephole2 for above): Check that register-controlled shifts
4947         have suitably tied operands.
4948
4949 2012-02-21  Quentin Neill  <quentin.neill@amd.com>
4950
4951         PR target/52137
4952         * config/i386/bdver1.md (bdver1_call, bdver1_push,
4953         bdver1_pop, bdver1_leave, bdver1_lea, bdver1_imul_DI, bdver1_imul,
4954         bdver1_imul_mem_DI, bdver1_imul_mem, bdver1_idiv, bdver1_idiv_mem,
4955         bdver1_str, bdver1_idirect, bdver1_ivector, bdver1_idirect_loadmov,
4956         bdver1_idirect_load, bdver1_ivector_load, bdver1_idirect_movstore,
4957         bdver1_idirect_both, bdver1_ivector_both, bdver1_idirect_store,
4958         bdver1_ivector_store, bdver1_fldxf, bdver1_fld, bdver1_fstxf,
4959         bdver1_fst, bdver1_fist, bdver1_fmov_bdver1, bdver1_fadd_load,
4960         bdver1_fadd, bdver1_fmul_load, bdver1_fmul, bdver1_fsgn,
4961         bdver1_fdiv_load, bdver1_fdiv, bdver1_fpspc_load, bdver1_fpspc,
4962         bdver1_fcmov_load, bdver1_fcmov, bdver1_fcomi_load,
4963         bdver1_fcomi, bdver1_fcom_load, bdver1_fcom,
4964         bdver1_fxch, bdver1_ssevector_avx128_unaligned_load,
4965         bdver1_ssevector_avx256_unaligned_load,
4966         bdver1_ssevector_sse128_unaligned_load,
4967         bdver1_ssevector_avx128_load, bdver1_ssevector_avx256_load,
4968         bdver1_ssevector_sse128_load, bdver1_ssescalar_movq_load,
4969         bdver1_ssescalar_vmovss_load, bdver1_ssescalar_sse128_load,
4970         bdver1_mmxsse_load, bdver1_sse_store_avx256, bdver1_sse_store,
4971         bdver1_mmxsse_store_short, bdver1_ssevector_avx256,
4972         bdver1_movss_movsd, bdver1_mmxssemov, bdver1_sselog_load_256,
4973         bdver1_sselog_256, bdver1_sselog_load, bdver1_sselog,
4974         bdver1_ssecmp_load, bdver1_ssecmp, bdver1_ssecomi_load,
4975         bdver1_ssecomi, bdver1_vcvtX2Y_avx256_load, bdver1_vcvtX2Y_avx256,
4976         bdver1_ssecvt_cvtss2sd_load, bdver1_ssecvt_cvtss2sd,
4977         bdver1_sseicvt_cvtsi2sd_load, bdver1_sseicvt_cvtsi2sd,
4978         bdver1_ssecvt_cvtpd2ps_load, bdver1_ssecvt_cvtpd2ps,
4979         bdver1_ssecvt_cvtdq2ps_load, bdver1_ssecvt_cvtdq2ps,
4980         bdver1_ssecvt_cvtdq2pd_load, bdver1_ssecvt_cvtdq2pd,
4981         bdver1_ssecvt_cvtps2pd_load, bdver1_ssecvt_cvtps2pd,
4982         bdver1_ssecvt_cvtsX2si_load, bdver1_ssecvt_cvtsX2si,
4983         bdver1_ssecvt_cvtpd2pi_load, bdver1_ssecvt_cvtpd2pi,
4984         bdver1_ssecvt_cvtpd2dq_load, bdver1_ssecvt_cvtpd2dq,
4985         bdver1_ssecvt_cvtps2pi_load, bdver1_ssecvt_cvtps2pi,
4986         bdver1_ssemuladd_load_256, bdver1_ssemuladd_256,
4987         bdver1_ssemuladd_load, bdver1_ssemuladd, bdver1_sseimul_load,
4988         bdver1_sseimul, bdver1_sseiadd_load, bdver1_sseiadd,
4989         bdver1_ssediv_double_load_256, bdver1_ssediv_double_256,
4990         bdver1_ssediv_single_load_256, bdver1_ssediv_single_256,
4991         bdver1_ssediv_double_load, bdver1_ssediv_double,
4992         bdver1_ssediv_single_load, bdver1_ssediv_single, bdver1_sseins):
4993         Add "bdver2" attribute.
4994
4995 2012-02-21  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
4996
4997         * config/s390/s390.c (s390_option_override): Make -mhard-dfp the
4998         default if possible and not specified otherwise.
4999
5000 2012-02-21  Richard Guenther  <rguenther@suse.de>
5001
5002         PR middle-end/52314
5003         * gimplify.c (create_tmp_from_val): Use the main variant type
5004         for the type of the temporary we create.
5005
5006 2012-02-21  Richard Guenther  <rguenther@suse.de>
5007
5008         PR tree-optimization/52324
5009         * gimplify.c (gimplify_expr): When re-gimplifying expressions
5010         do not gimplify a MEM_REF address operand if it is already
5011         in suitable form.
5012
5013 2012-02-21  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
5014
5015         * config/s390/s390.md ("fixuns_trunc<mode>si2"): Replace
5016         TARGET_HARD_FLOAT with TARGET_HARD_DFP.
5017
5018 2012-02-21  Richard Guenther  <rguenther@suse.de>
5019
5020         * tree-vect-stmts.c (vectorizable_load): Use pre-computed
5021         nested_in_vect_loop.
5022
5023 2012-02-21  Jakub Jelinek  <jakub@redhat.com>
5024
5025         PR tree-optimization/52318
5026         * gimple-fold.c (gimplify_and_update_call_from_tree): Add
5027         vdef also to non-pure/const call stmts in the sequence.
5028
5029 2012-02-20  David S. Miller  <davem@davemloft.net>
5030
5031         * config/sparc/sparc.md (load_pcrel_sym<P:mode>): Explain why we
5032         don't use the "rd %pc" instruction on v9 for PIC register loads.
5033
5034 2012-02-20  Aldy Hernandez  <aldyh@redhat.com>
5035
5036         PR middle-end/52141
5037         * trans-mem.c (ipa_tm_scan_irr_block): Error out on GIMPLE_ASM's
5038         in a transaction safe function.
5039
5040 2012-02-20  Kai Tietz  <ktietz@redhat.com>
5041
5042         PR target/52238
5043         * stor-layout.c (place_field): Handle desired_align for
5044         ms-bitfields, too.
5045
5046 2012-02-20  Richard Guenther  <rguenther@suse.de>
5047
5048         PR tree-optimization/52298
5049         * tree-vect-stmts.c (vectorizable_store): Properly use
5050         STMT_VINFO_DR_STEP instead of DR_STEP when vectorizing
5051         outer loops.
5052         (vectorizable_load): Likewise.
5053         * tree-vect-data-refs.c (vect_analyze_data_ref_access):
5054         Access DR_STEP after ensuring it is not NULL.
5055
5056 2012-02-20  Jakub Jelinek  <jakub@redhat.com>
5057
5058         PR tree-optimization/52286
5059         * fold-const.c (fold_binary_loc): For (X & C1) | C2
5060         optimization use double_int_to_tree instead of build_int_cst_wide,
5061         rewrite to use double_int vars.
5062
5063 2012-02-20  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5064
5065         PR target/50166
5066         * acinclude.m4 (gcc_AC_INITFINI_ARRAY): Require gcc_SUN_LD_VERSION.
5067         Define _start.
5068         Remove -e 0 from $gcc_cv_ld invocation.
5069         Only use __GLIBC_PREREQ if defined.
5070         Enable on Solaris since Solaris 8 patch.
5071         (gcc_SUN_LD_VERSION): New macro.
5072         * configure.ac (ld_ver) <*-*-solaris2*>: Refer to
5073         gcc_SUN_LD_VERSION for version number format.
5074         * configure: Regenerate.
5075         * varasm.c (get_elf_initfini_array_priority_section): Set
5076         SECTION_NOTYPE for non-default priority.
5077         Use get_section instead of get_unnamed_section to emit
5078         .init_array/.fini_array with default priority.
5079
5080 2012-02-19  Richard Sandiford  <rdsandiford@googlemail.com>
5081
5082         * config/mips/mips.c (mips_need_mips16_rdhwr_p): New variable.
5083         (mips_get_tp): Set it.  Record that __mips16_rdhwr binds locally.
5084         (mips_start_unique_function, mips_output_mips16_rdhwr)
5085         (mips_code_end): New functions.
5086         (TARGET_ASM_CODE_END): Define.
5087
5088 2012-02-19  Richard Sandiford  <rdsandiford@googlemail.com>
5089
5090         * config/mips/mips.c (mips16_build_call_stub): Add CFI information
5091         to stubs with non-sibling calls.
5092
5093 2012-02-18  Sandra Loosemore  <sandra@codesourcery.com>
5094
5095         * doc/invoke.texi (-fira-* options): Copy-edit.
5096         (ira-* parameters): Copy-edit.
5097
5098 2012-02-17  Sandra Loosemore  <sandra@codesourcery.com>
5099
5100         * doc/invoke.texi: Minor copy-edits to bring into conformance with
5101         GCC coding conventions.
5102
5103 2012-02-17  Sandra Loosemore  <sandra@codesourcery.com>
5104
5105         * doc/invoke.texi: Consistently hyphenate "big-endian"/"little-endian"
5106         when used as adjectives.
5107
5108 2012-02-16  Sandra Loosemore  <sandra@codesourcery.com>
5109
5110         * doc/invoke.texi: Clean up "that"/"which" confusion.
5111
5112 2012-02-17  Steven Bosscher  <steven@gcc.gnu.org>
5113
5114         * system.h: Poison SMALL_REGISTER_CLASSES
5115         * config/rl78/rl78.h: Replace SMALL_REGISTER_CLASSES with hook.
5116         * config/rx/rx.h: Remove SMALL_REGISTER_CLASSES.
5117
5118 2012-02-16  Jakub Jelinek  <jakub@redhat.com>
5119
5120         PR tree-optimization/52285
5121         * tree-tailcall.c (find_tail_calls): Ignore gimple_clobber_p stmts
5122         when deciding if a call is a tail call or tail recursion.
5123
5124 2012-02-16  Kai Tietz  <ktietz@redhat.com>
5125
5126         * config/i386/i386.c (legitimate_pic_address_disp_p): Allow
5127         interger-constant displacement for UNSPEC_PCREL.
5128
5129 2012-02-16  Jakub Jelinek  <jakub@redhat.com>
5130
5131         PR rtl-optimization/52208
5132         * ira-costs.c (scan_one_insn): Don't decrease mem_cost
5133         for MEMs with REG_EQUIV, if the MEM isn't general_operand.
5134
5135         PR tree-optimization/52255
5136         * tree-vect-loop-manip.c (slpeel_tree_peel_loop_to_edge): If
5137         loop->header has virtual PHI, but exit_e->dest doesn't, add
5138         virtual PHI to exit_e->dest and adjust all uses after the loop.
5139
5140         PR debug/52260
5141         * dwarf2out.c (copy_decls_walk): Fill in *slot before traversing
5142         children with clone_tree_hash, not after it.
5143
5144 2012-02-16  Iain Sandoe  <iains@gcc.gnu.org>
5145
5146         * config/darwin.h (ASM_OUTPUT_LABELREF): Add user label prefix for
5147         extended identifiers.
5148
5149 2012-02-16  Jakub Jelinek  <jakub@redhat.com>
5150
5151         PR middle-end/51929
5152         * cgraphunit.c (verify_edge_corresponds_to_fndecl): If node is
5153         a same_body_alias, also test whether e->callee isn't a former
5154         or current clone of the decl this is a same body alias of.
5155
5156         PR translation/52264
5157         * cgraphunit.c (verify_cgraph_node): Fix a typo.
5158
5159 2012-02-15  Sandra Loosemore  <sandra@codesourcery.com>
5160
5161         * doc/invoke.texi: Clean up "n-bit/byte/word" modifiers.
5162
5163 2012-02-15  Michael Meissner  <meissner@linux.vnet.ibm.com>
5164
5165         PR target/52199
5166         * config/rs6000/rs6000.c (rs6000_expand_vector_init): Use
5167         force_reg instead of copy_to_reg for better optimization.  Force
5168         non-register or memory operands into a register.
5169
5170 2012-02-15  Andrew MacLeod  <amacleod@redhat.com>
5171
5172         * extend.texi: Reserve upper bits of memory model for future use.
5173
5174 2012-01-15  Georg-Johann Lay  <avr@gjlay.de>
5175             Anatoly Sokolov <aesok@post.ru>
5176             Eric Weddington <eric.weddington@atmel.com>
5177
5178         PR target/52261
5179         * config/avr/avr-devices.c (avr_arch_types): Add avrxmega2,
5180         avrxmega4, avrxmega5, avrxmega6, avrxmega7.
5181         Rewrite initializers for .macro.
5182         * config/avr/avr-mcus.def (AVR_MCU): Add known MCUs:
5183         avrxmega2: atxmega16a4, atxmega16d4, atxmega16x1, atxmega32a4
5184         atxmega32d4, atxmega32x1.
5185         avrxmega4: atxmega64a3, atxmega64d3.
5186         avrxmega5: atxmega64a1, atxmega64a1u.
5187         avrxmega6: atxmega128a3, atxmega128d3, atxmega192a3, atxmega192d3,
5188         atxmega256a3, atxmega256a3b, atxmega256a3bu, atxmega256d3.
5189         avrxmega7: atxmega128a1, atxmega128a1u.
5190         * config/avr/avr.h (enum avr_arch): Add: ARCH_AVRXMEGA2,
5191         ARCH_AVRXMEGA4, ARCH_AVRXMEGA5, ARCH_AVRXMEGA6, ARCH_AVRXMEGA7.
5192         (struct base_arch_s): Rename reserved to xmega_p.
5193         Rename reserved2 to have_rampd.
5194         (AVR_XMEGA): New define.
5195         (AVR_HAVE_RAMPD, AVR_HAVE_RAMPX, AVR_HAVE_RAMPY): New defines.
5196         (AVR_HAVE_RAMPZ): Change definition to fit xmega.
5197         * config/avr/predicates.md (io_address_operand): Take into
5198         account SFR offset.
5199         (low_io_address_operand): Ditto.
5200         (high_io_address_operand): Ditto.
5201         * config/avr/avr.md (isa): Add alternatives no_xmega, xmega.
5202         (enabled, movhi_sp_r): Use them.
5203         * config/avr/avr-c.c (avr_cpu_cpp_builtins): Use
5204         cpp_define_formatted to built-in define __AVR_ARCH__.
5205         (__AVR_XMEGA__): New built-in define.
5206         (__AVR_HAVE_RAMPD__): New built-in define.
5207         (__AVR_HAVE_RAMPX__): New built-in define.
5208         (__AVR_HAVE_RAMPY__): New built-in define.
5209         (__AVR_HAVE_RAMPZ__): Change condition when to built-in define it.
5210
5211         * config/avr/avr.c (avr_addr_t): Add ccp, rampd, rampx, rampy.
5212         (avr_option_override): Initialize them.
5213         (sreg_rtx, rampd_rtx, rampx_rtx, rampy_rtx): New GTY rtx.
5214         (avr_init_expanders): Initialize them. No more block several calls.
5215         (emit_push_sfr): New static function.
5216         (avr_prologue_setup_frame): Use it to push SREG, RAMPD/X/Y/Z as needed.
5217         Handle AVR_XMEGA.
5218         (expand_epilogue): Handle AVR_XMEGA. Pop RAMPD/X/Y/Z as needed.
5219         (avr_print_operand): Print addreeses as symbols for
5220         RAMPX, RAMPY, RAMPD, CCP.
5221         (output_movhi): Handle AVR_XMEGA when writing to SP.
5222         (avr_out_movhi_mr_r_xmega): New static function.
5223         (out_movhi_mr_r): Forward to avr_out_movhi_mr_r_xmega for AVR_XMEGA.
5224         (avr_file_start): Print symbol defines for __RAMPX__,  __RAMPY__,
5225         __RAMPD__,  __CCP__ as needed.
5226
5227         * config/avr/multilib.h: Regenerate.
5228         * config/avr/t-multilib: Regenerate.
5229         * config/avr/avr-tables.opt: Regenerate.
5230
5231 2012-02-15  Tobias Grosser <grosser@fim.uni-passau.de>
5232
5233         PR tree-optimization/50561
5234         * graphite-flattening.c (lst_project_loop): Do not
5235         remove old scattering dimensions after flattening.
5236         (lst_do_flatten): Likewise.
5237
5238 2012-02-15  Georg-Johann Lay  <avr@gjlay.de>
5239
5240         * doc/extend.texi (AVR Built-in Functions): Remove doc for
5241         __builtin_avr_map8, __builtin_avr_map16.
5242         Document __builtin_avr_insert_bits.
5243
5244         * config/avr/avr.md (map_bitsqi, map_bitshi): Remove.
5245         (insert_bits): New insn.
5246         (adjust_len.map_bits): Rename to insert_bits.
5247         (UNSPEC_MAP_BITS): Rename to UNSPEC_INSERT_BITS.
5248         * avr-protos.h (avr_out_map_bits): Remove.
5249         (avr_out_insert_bits, avr_has_nibble_0xf): New.
5250         * config/avr/constraints.md (Cxf,C0f): New.
5251         * config/avr/avr.c (avr_cpu_cpp_builtins): Remove built-in
5252         defines __BUILTIN_AVR_MAP8, __BUILTIN_AVR_MAP16.
5253         New built-in define __BUILTIN_AVR_INSERT_BITS.
5254         * config/avr/avr.c (TARGET_FOLD_BUILTIN): New define.
5255         (enum avr_builtin_id): Add AVR_BUILTIN_INSERT_BITS.
5256         (avr_move_bits): Rewrite.
5257         (avr_fold_builtin, avr_map_metric, avr_map_decompose): New static
5258         functions.
5259         (avr_map_op_t): New typedef.
5260         (avr_map_op): New static variable.
5261         (avr_out_insert_bits, avr_has_nibble_0xf): New functions.
5262         (adjust_insn_length): Handle ADJUST_LEN_INSERT_BITS.
5263         (avr_init_builtins): Add definition for __builtin_avr_insert_bits.
5264         (bdesc_3arg, avr_expand_triop_builtin): New.
5265         (avr_expand_builtin): Use them. And handle AVR_BUILTIN_INSERT_BITS.
5266         (avr_revert_map, avr_swap_map, avr_id_map, avr_sig_map): Remove.
5267         (avr_map_hamming_byte, avr_map_hamming_nonstrict): Remove.
5268         (avr_map_equal_p, avr_map_sig_p): Remove.
5269         (avr_out_swap_bits, avr_out_revert_bits, avr_out_map_bits): Remove.
5270         (bdesc_2arg): Remove AVR_BUILTIN_MAP8, AVR_BUILTIN_MAP16.
5271         (adjust_insn_length): Remove handling for ADJUST_LEN_MAP_BITS.
5272         (enum avr_builtin_id): Remove AVR_BUILTIN_MAP8, AVR_BUILTIN_MAP16.
5273         (avr_init_builtins): Remove __builtin_avr_map8, __builtin_avr_map16.
5274         (avr_expand_builtin): Remove AVR_BUILTIN_MAP8, AVR_BUILTIN_MAP16.
5275
5276 2012-02-14  Bernd Schmidt  <bernds@codesourcery.com>
5277
5278         * config/c6x/c6x.md (reserve_cycles): New attribute.
5279         * config/c6x/c6x.c (c6x_sched_reorder_1): Ensure insns we predicate
5280         don't reserve functional units after the branch occurs.
5281
5282 2012-02-14  Aldy Hernandez  <aldyh@redhat.com>
5283
5284         PR middle-end/52142
5285         * ipa-inline.c (can_inline_edge_p): Do not inline tm_pure
5286         functions into non-tm_pure functions.
5287
5288 2012-02-14  Eric Botcazou  <ebotcazou@adacore.com>
5289
5290         PR lto/52178
5291         * gimple.c (iterative_hash_gimple_type): Use RECORD_OR_UNION_TYPE_P.
5292         (iterative_hash_canonical_type): Likewise.
5293         * tree-ssa-pre.c (fini_pre): Clean up the CFG only after purging all
5294         the dead edges.
5295
5296 2012-02-14  Bernd Schmidt  <bernds@codesourcery.com>
5297
5298         * haifa-sched.c (prune_ready_list): Ensure that if there is a
5299         sched-group insn, it either remains alone or the entire list is pruned.
5300
5301 2012-02-14  Jonathan Wakely  <jwakely.gcc@gmail.com>
5302
5303         * doc/install.texi (Prerequisites): Fix grammar.
5304         (Configuration): Likewise.
5305
5306 2012-02-14  Jonathan Wakely  <jwakely.gcc@gmail.com>
5307
5308         * doc/install.texi (Prerequisites): Suggest building GMP, MPFR and
5309         MPC as part of GCC before describing configuring with --with-gmp etc.
5310         (Installing GCC: Configuration): --with-gmp etc. aren't needed if
5311         sources are present.
5312
5313 2012-02-14  Jakub Jelinek  <jakub@redhat.com>
5314
5315         PR debug/51950
5316         * dwarf2out.c (clone_tree_hash): New function.
5317         (copy_decls_walk): Use it instead of clone_tree.
5318
5319 2012-02-14  Richard Guenther  <rguenther@suse.de>
5320
5321         PR tree-optimization/52244
5322         PR tree-optimization/51528
5323         * tree-sra.c (analyze_access_subtree): Only create INTEGER_TYPE
5324         replacements for integral types.
5325
5326 2012-02-14  Walter Lee  <walt@tilera.com>
5327
5328         * config.gcc: Handle tilegx and tilepro.
5329         * configure.ac (gcc_cv_as_dwarf2_debug_line): Enable test for
5330         tilegx and tilepro.
5331         Add HAVE_AS_TLS check for tilegx and tilepro.
5332         * configure: Regenerate.
5333         * doc/contrib.texi: Add Mat Hostetter and self.
5334         * doc/extend.texi (TILE-Gx Built-in Functions): New node.
5335         Document instruction intrinsics and network accessing intrinsics.
5336         (TILEPro Built-in Functions): New node.  Document instruction
5337         intrinsics and network accessing intrinsics.
5338         * doc/install.texi (Specific, tilegx-*-linux*): Document it.
5339         (Specific, tilepro-*-linux*): Likewise.
5340         * doc/invoke.texi (TILE-Gx Options): New section.
5341         (TILEPro Options): New section.
5342         * doc/md.texi (TILE-Gx): New section.
5343         (TILEPro): New section.
5344         * common/config/tilegx/tilegx-common.c: New file.
5345         * common/config/tilepro/tilepro-common.c: New file.
5346         * config/tilegx/constraints.md: New file.
5347         * config/tilegx/linux.h: New file.
5348         * config/tilegx/mul-tables.c: New file.
5349         * config/tilegx/predicates.md: New file.
5350         * config/tilegx/sync.md: New file.
5351         * config/tilegx/t-tilegx: New file.
5352         * config/tilegx/tilegx-builtins.h: New file.
5353         * config/tilegx/tilegx-c.c: New file.
5354         * config/tilegx/tilegx-generic.md: New file.
5355         * config/tilegx/tilegx-modes.def: New file.
5356         * config/tilegx/tilegx-multiply.h: New file.
5357         * config/tilegx/tilegx-protos.h: New file.
5358         * config/tilegx/tilegx.c: New file.
5359         * config/tilegx/tilegx.h: New file.
5360         * config/tilegx/tilegx.md: New file.
5361         * config/tilegx/tilegx.opt: New file.
5362         * config/tilepro/constraints.md: New file.
5363         * config/tilepro/gen-mul-tables.cc: New file.
5364         * config/tilepro/linux.h: New file.
5365         * config/tilepro/mul-tables.c: New file.
5366         * config/tilepro/predicates.md: New file.
5367         * config/tilepro/t-tilepro: New file.
5368         * config/tilepro/tilepro-builtins.h: New file.
5369         * config/tilepro/tilepro-c.c: New file.
5370         * config/tilepro/tilepro-generic.md: New file.
5371         * config/tilepro/tilepro-modes.def: New file.
5372         * config/tilepro/tilepro-multiply.h: New file.
5373         * config/tilepro/tilepro-protos.h: New file.
5374         * config/tilepro/tilepro.c: New file.
5375         * config/tilepro/tilepro.h: New file.
5376         * config/tilepro/tilepro.md: New file.
5377         * config/tilepro/tilepro.opt: New file.
5378
5379 2012-02-14  Jakub Jelinek  <jakub@redhat.com>
5380
5381         PR tree-optimization/52210
5382         * tree-vect-slp.c (vect_get_and_check_slp_defs): Call
5383         vect_model_simple_cost with two entry vect_def_type array instead
5384         of an address of dt.
5385
5386 2012-02-14  Richard Guenther  <rguenther@suse.de>
5387
5388         PR lto/52178
5389         * tree-streamer-in.c (lto_input_ts_field_decl_tree_pointers):
5390         Do not stream DECL_QUALIFIER.
5391         * tree-streamer-out.c (write_ts_field_decl_tree_pointers): Likewise.
5392         * tree.c (free_lang_data_in_decl): Free DECL_QUALIFIER.
5393         (find_decls_types_r): Do not walk DECL_QUALIFIER.
5394
5395 2012-02-14  Jakub Jelinek  <jakub@redhat.com>
5396
5397         PR c/52181
5398         * c-decl.c (merge_decls): Copy DECL_USER_ALIGN bit from olddecl to
5399         newdecl.
5400
5401 2012-02-13  Jakub Jelinek  <jakub@redhat.com>
5402
5403         PR bootstrap/52172
5404         * cselib.h (cselib_subst_to_values_from_insn): New prototype.
5405         * cselib.c (cselib_subst_to_values_from_insn): New function.
5406         * sched-deps.c (add_insn_mem_dependence,
5407         sched_analyze_1, sched_analyze_2): Use it.
5408
5409 2012-02-13  Jan Hubicka  <jh@suse.cz>
5410
5411         PR middle-end/52214
5412         * predict.c (predict_paths_for_bb): Fix thinko in prevoius patch.
5413
5414 2012-02-13  Eric Botcazou  <ebotcazou@adacore.com>
5415
5416         * gcc.c (LINK_COMMAND_SPEC): Deal with -fgnu-tm.
5417         (GTM_SELF_SPECS): Define if not already defined.
5418         (driver_self_specs): Add GTM_SELF_SPECS.
5419         * config/darwin.h (LINK_COMMAND_SPEC_A): Deal with -fgnu-tm.
5420         (GTM_SELF_SPECS): Define.
5421         * config/i386/cygwin.h (GTM_SELF_SPECS): Likewise.
5422         * config/i386/mingw32.h (GTM_SELF_SPECS): Likewise.
5423
5424 2012-02-13  Jakub Jelinek  <jakub@redhat.com>
5425
5426         * cselib.c (expand_loc): Return sp, fp, hfp or cfa base reg right
5427         away if seen.
5428
5429         * cselib.c (dump_cselib_val): Don't assume l->setting_insn is non-NULL.
5430
5431         PR middle-end/52230
5432         * omp-low.c (expand_omp_for): If a static schedule without chunk size
5433         has NULL region->cont, force fd.chunk_size to be integer_zero_node.
5434
5435 2012-02-13  Andrew MacLeod  <amacleod@redhat.com>
5436
5437         PR c/52190
5438         * doc/extend.texi : Fix another __atomic_compare_exchange typo.
5439
5440 2012-02-13  Richard Guenther  <rguenther@suse.de>
5441
5442         PR translation/52211
5443         * passes.c (enable_disable_pass): Fix typo.
5444
5445 2012-02-13  Jakub Jelinek  <jakub@redhat.com>
5446
5447         PR middle-end/52209
5448         * expr.c (expand_expr_real_2) <case BIT_NOT_EXPR>: Only expand using
5449         XOR for reduce_bit_field if type is unsigned.
5450
5451 2012-02-12  Eric Botcazou  <ebotcazou@adacore.com>
5452
5453         * config/sparc/sparc.h (CANNOT_CHANGE_MODE_CLASS): In 64-bit mode,
5454         disallow changes from SFmode to mode with different size in FP regs.
5455
5456 2012-02-12  Robert Millan  <rmh@gnu.org>
5457             Gerald Pfeifer <gerald@pfeifer.com>
5458
5459         * ginclude/stddef.h [__FreeBSD_kernel__] (__size_t): Do not define.
5460         Tweak comment.
5461
5462 2012-02-11  Richard Sandiford  <rdsandiford@googlemail.com>
5463
5464         PR rtl-optimization/52175
5465         * reorg.c (fill_slots_from_thread): Don't apply add/sub optimization
5466         to frame-related instructions.
5467
5468 2012-02-10  Jason Merrill  <jason@redhat.com>
5469
5470         PR c++/51910
5471         * tlink.c (demangled_hash_entry): Change mangled to a VEC.
5472         (demangle_new_symbols): Fill it.
5473         (scan_linker_output): Walk it.
5474         (start_tweaking): Split out from scan_linker_output.
5475         (maybe_tweak): Update sym->chosen.
5476         * Makefile.in (COLLECT2_OBJS): Add vec.o and gcc-none.o
5477
5478 2012-02-11  Jakub Jelinek  <jakub@redhat.com>
5479
5480         PR debug/52132
5481         * reg-stack.c (subst_stack_regs_in_debug_insn): Don't use get_true_reg.
5482
5483 2012-02-11  Uros Bizjak  <ubizjak@gmail.com>
5484
5485         * compare-elim.c (find_comparisons_in_bb): Eliminate only compares
5486         having the same mode as previous compare.
5487
5488 2012-02-10  Eric Botcazou  <ebotcazou@adacore.com>
5489
5490         * config/sparc/sparc.c (sparc_flat_expand_prologue): Use emit_use.
5491         * config/sparc/sparc.md (UNSPECV_GOTO): Delete.
5492         (nonlocal_goto_internal): Likewise.
5493         (nonlocal_goto): Emit a use and an indirect jump directly.
5494
5495 2012-02-10  Andrew MacLeod  <amacleod@redhat.com>
5496
5497         PR c/52190
5498         * doc/extend.texi : Update comments for __atomic_compare_exchange and
5499         __atomic_{is,always}_lock_free.
5500
5501 2012-02-10  Uros Bizjak  <ubizjak@gmail.com>
5502
5503         PR target/52146
5504         * config/i386/i386.c (ix86_legitimate_address_p): Disallow
5505         negative constant address for x32.
5506
5507 2012-02-10  Richard Henderson  <rth@redhat.com>
5508
5509         * tree-ssa-dce.c (propagate_necessity): Handle GIMPLE_TRANSACTION.
5510         * tree-ssa-operands.c (parse_ssa_operands): Add virtual operands
5511         for GIMPLE_TRANSACTION.  Tidy if's into a switch.
5512
5513 2012-02-10  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
5514             Ira Rosen  <irar@il.ibm.com>
5515
5516         PR tree-optimization/50031
5517         * targhooks.c (default_builtin_vectorization_cost): Handle
5518         vec_promote_demote.
5519         * target.h (enum vect_cost_for_stmt): Add vec_promote_demote.
5520         * tree-vect-loop.c (vect_get_single_scalar_iteraion_cost): Handle
5521         all types of reduction and pattern statements.
5522         (vect_estimate_min_profitable_iters): Likewise.
5523         * tree-vect-stmts.c (vect_model_promotion_demotion_cost): New function.
5524         (vect_get_load_cost): Use vec_perm for permutations; add dump logic
5525         for explicit realigns.
5526         (vectorizable_conversion): Call vect_model_promotion_demotion_cost.
5527         * config/spu/spu.c (spu_builtin_vectorization_cost): Handle
5528         vec_promote_demote.
5529         * config/i386/i386.c (ix86_builtin_vectorization_cost): Likewise.
5530         * config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost): Update
5531         vec_perm for VSX and handle vec_promote_demote.
5532
5533 2012-02-10  Jakub Jelinek  <jakub@redhat.com>
5534
5535         PR middle-end/52177
5536         * builtins.c (fold_builtin_atomic_always_lock_free,
5537         expand_builtin_atomic_always_lock_free,
5538         fold_builtin_atomic_is_lock_free, expand_builtin_atomic_is_lock_free):
5539         Return and/or test boolean_true_node/boolean_false_node instead of
5540         integer_one_node/integer_zero_node.
5541
5542 2012-02-10  Jan Hubicka  <jh@suse.cz>
5543
5544         PR middle-end/48600
5545         * predict.c (predict_paths_for_bb): Prevent looping.
5546         (predict_paths_leading_to_edge, predict_paths_leading_to): Update.
5547
5548 2012-02-10  Roman Zhuykov  <zhroma@ispras.ru>
5549
5550         * config/arm/arm.c (output_move_double): In one case properly
5551         count number of instructions that will be emitted.
5552
5553 2012-02-10  Richard Guenther  <rguenther@suse.de>
5554
5555         PR translation/52193
5556         * cgraphunit.c (cgraph_mark_functions_to_output): Fix typo.
5557
5558 2012-02-09  Peter Bergner  <bergner@vnet.ibm.com>
5559
5560         PR middle-end/52140
5561         * dojump.c (do_compare_rtx_and_jump): Use SCALAR_FLOAT_MODE_P.
5562
5563 2012-02-09  Jakub Jelinek  <jakub@redhat.com>
5564
5565         PR debug/52165
5566         * var-tracking.c (emit_note_insn_var_location): If
5567         EMIT_NOTE_BEFORE_INSN and insn is NOTE_INSN_CALL_ARG_LOCATION,
5568         emit it before next non-NOTE_INSN_CALL_ARG_LOCATION
5569         non-NOTE_DURING_CALL_P insn.
5570
5571 2012-02-09  Bin Cheng  <bin.cheng@arm.com>
5572
5573         PR middle-end/51867
5574         * builtins.c (expand_builtin): Don't check DECL_ASSEMBLER_NAME_SET_P.
5575
5576 2012-02-08  Magnus Granberg  <zorry@gentoo.org>
5577
5578         PR driver/48524
5579         * gcc.c (switch_matches) Support switches with separated form,
5580         -D and -U.
5581
5582 2012-02-08  Georg-Johann Lay  <avr@gjlay.de>
5583
5584         * config/avr/avr.md (SREG_ADDR): Remove constant definition.
5585         (SP_ADDR): Ditto.
5586         (RAMPZ_ADDR): Ditto.
5587         * config/avr/avr.c (avr_addr_t): New typedef.
5588         (avr_addr): New struct to hold RAM address of SPL, SPH, RAMPZ, SREG.
5589         (avr_init_expanders): Initialize it.
5590         (expand_prologue): Use avr_addr instead of RAMPZ_ADDR, SP_ADDR,
5591         SREG_ADDR.
5592         (expand_epilogue): Ditto.
5593         (avr_print_operand): Ditto.
5594         (avr_file_start): Ditto.
5595         (avr_emit_movmemhi): Ditto.
5596
5597 2012-02-08  Richard Guenther  <rguenther@suse.de>
5598
5599         PR tree-optimization/46886
5600         * tree-flow.h (do_while_loop_p): Declare.
5601         * tree-ssa-loop-ch.c (do_while_loop_p): Export.
5602         * tree-parloops.c (parallelize_loops): Only parallelize do-while loops.
5603
5604 2012-02-08  Andrew MacLeod  <amacleod@redhat.com>
5605
5606         * optabs.c (expand_atomic_load): Do not assume compare_and_swap will
5607         always succeed for integers larger than a native word.
5608
5609 2012-02-08  Richard Guenther  <rguenther@suse.de>
5610
5611         PR rtl-optimization/52170
5612         * simplify-rtx.c (simplify_plus_minus): Use CONSTM1_RTX to
5613         properly handle integer vector modes.
5614
5615 2012-02-08  Jakub Jelinek  <jakub@redhat.com>
5616
5617         PR gcov-profile/52150
5618         * coverage.c: Include target.h.
5619         (build_var): Call targetm.strip_name_encoding on the assembler name.
5620         Change one _ into . or $ if the target allows it.
5621         * Makefile.in (coverage.o): Depend on $(TARGET_H).
5622
5623         PR rtl-optimization/52139
5624         * cfgrtl.c (cfg_layout_merge_blocks): If BB_END
5625         is a BARRIER after emit_insn_after_noloc, move BB_END
5626         to the last non-BARRIER insn before it.
5627
5628 2012-02-07  Richard Sandiford  <rdsandiford@googlemail.com>
5629
5630         PR middle-end/24306
5631         * config/mips/mips.c (mips_std_gimplify_va_arg_expr): New function.
5632         (mips_gimplify_va_arg_expr): Call it instead of
5633         std_gimplify_va_arg_expr.
5634
5635 2012-02-07  Michael Meissner  <meissner@linux.vnet.ibm.com>
5636
5637         * config/rs6000/rs6000.c (rs6000_trampoline_init): Fix error
5638         message for -mno-pointers-to-nested-function.
5639
5640 2012-02-07  Eric Botcazou  <ebotcazou@adacore.com>
5641
5642         PR middle-end/51994
5643         * expr.c (get_inner_reference): If there is an offset, add a negative
5644         bit position to it (if any).
5645
5646 2012-02-07  Jakub Jelinek  <jakub@redhat.com>
5647
5648         PR rtl-optimization/52060
5649         * combine.c (try_combine): Add i0src_copy and i0src_copy2 variables,
5650         copy i1src to i1src_copy whenever added_sets_2 && i1_feeds_i2_n already
5651         before i1dest -> i1src substitution in newpat, copy i0src to i0src_copy
5652         and/or i0src_copy2 when needed.
5653
5654 2012-02-07  Jakub Jelinek  <jakub@redhat.com>
5655
5656         * gcc.c (main): Don't look for lto-wrapper or lto-wrapper
5657         or LTOPLUGINSONAME if have_c.
5658
5659         * config/freebsd-spec.h: Add comment about what macros can be defined
5660         in this header.
5661         (LINK_EH_SPEC, LINK_SSP_SPEC, USE_LD_AS_NEEDED): Don't define here.
5662         * config/freebsd.h (LINK_EH_SPEC, LINK_SSP_SPEC, USE_LD_AS_NEEDED): But
5663         here instead.
5664
5665 2012-02-07  Richard Guenther  <rguenther@suse.de>
5666
5667         * gimple-pretty-print.c (dump_gimple_phi): Avoid excessive
5668         newline in -alias dumps.
5669
5670 2012-02-07  Kai Tietz  <ktietz@redhat.com>
5671             Dave Korn  <dave.korn.cygwin@gmail.com>
5672
5673         PR target/40068
5674         * config/i386/winnt-cxx.c (i386_pe_adjust_class_at_definition):
5675         Take care that typinfo gets dllexport-attribute.
5676
5677 2012-02-07  Jakub Jelinek  <jakub@redhat.com>
5678
5679         PR middle-end/52074
5680         * expr.c (expand_expr_addr_expr_1): For CONSTANT_CLASS_P or CONST_DECL
5681         if modifier < EXPAND_SUM call force_operand on the result.
5682
5683 2012-02-07  Joern Rennecke  <joern.rennecke@embecosm.com>
5684
5685         * config/epiphany/epiphany.h (ASM_DECLARE_FUNCTION_SIZE): Redefine,
5686         adding __forwarder_dst__ prefix if a forwarder_section attribute is
5687         present.
5688         (epiphany_function_type): Replace types for specific interrupts with
5689         EPIPHANY_FUNCTION_INTERRUPT.
5690         (EPIPHANY_INTERRUPT_P): Update.
5691         * config/epiphany/epiphany.c (epiphany_handle_forwarder_attribute):
5692         New static function.
5693         (epiphany_attribute_table) <interrupt>: min_len is 0, max_len is 9.
5694         <disinterrupt>: Affects type identity.
5695         (epiphany_handle_interrupt_attribute): Handle variable number of
5696         arguments.
5697         (epiphany_compute_function_type): Update for new
5698         epiphany_function_type definition.
5699         (epiphany_expand_prologue): Don't save (reg:DI GPR_0) for interrupt
5700         handlers with a longcall forwarder.
5701         (epiphany_start_function): Handle multiple interrupt arguments and/or
5702         forwarder_section attribute.
5703
5704         * config/epiphany/epiphany.h (LIB_SPEC): Link libc again after
5705         libgloss.
5706
5707 2012-02-07  Alan Modra  <amodra@gmail.com>
5708
5709         PR target/52107
5710         * config/rs6000/rs6000.c (rs6000_emit_move): Don't create DImode
5711         subregs of TFmode.
5712
5713 2012-02-06  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
5714
5715         PR tree-optimization/50969
5716         * tree-vect-stmts.c (vect_model_store_cost): Correct statement cost to
5717         use vec_perm rather than vector_stmt.
5718         (vect_model_load_cost): Likewise.
5719         * config/i386/i386.c (ix86_builtin_vectorization_cost): Change cost of
5720         vec_perm to be the same as other vector statements.
5721         * config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost): Revise
5722         cost of vec_perm for TARGET_VSX.
5723
5724 2012-02-06  Richard Guenther  <rguenther@suse.de>
5725
5726         PR tree-optimization/52115
5727         * tree-sra.c (access_has_replacements_p): New function.
5728         (sra_modify_assign): Use it to decide whether a use is uninitialized.
5729
5730 2012-02-06  Patrick Marlier  <patrick.marlier@gmail.com>
5731
5732         PR middle-end/52047
5733         * trans-mem.c (expand_call_tm): Add an assertion.
5734         * calls.c (flags_from_decl_or_type): Add ECF_TM_PURE to 'no vops'
5735         functions.
5736
5737 2012-02-06  Richard Guenther  <rguenther@suse.de>
5738
5739         PR tree-optimization/50955
5740         * tree-ssa-loop-ivopts.c (get_computation_cost_at): Artificially
5741         raise cost of expressions that replace an address with an
5742         expression based on a different pointer.
5743
5744 2012-02-06  Jakub Jelinek  <jakub@redhat.com>
5745
5746         PR target/52129
5747         * calls.c (mem_overlaps_already_clobbered_arg_p): If val is
5748         CONST_INT_P, subtract resp. add crtl->args.pretend_args_size to it.
5749
5750 2012-02-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
5751
5752         PR c++/48680
5753         * doc/invoke.texi (C++ Dialect Options): Use @option markup for
5754         -Weffc++ and specify guidelines come from second edition.
5755
5756 2012-02-05  Richard Sandiford  <rdsandiford@googlemail.com>
5757
5758         * config/mips/mips.md (sibcall_internal, sibcall_value_internal)
5759         (sibcall_value_multiple_internal, call_split, call_internal_direct)
5760         (call_direct_split, call_value_split, call_value_internal_direct)
5761         (call_value_direct_split, call_value_multiple_split): Use jal and
5762         jal_macro attributes.
5763
5764 2012-02-05  Richard Sandiford  <rdsandiford@googlemail.com>
5765
5766         * reload1.c (reload_regs_reach_end_p): Replace with...
5767         (reload_reg_rtx_reaches_end_p): ...this function.
5768         (new_spill_reg_store): Update commentary.
5769         (emit_input_reload_insns): Don't clear new_spill_reg_store here.
5770         (emit_output_reload_insns): Check reload_reg_rtx_reaches_end_p
5771         before setting new_spill_reg_store.
5772         (emit_reload_insns): Use a separate loop to clear new_spill_reg_store.
5773         Use reload_reg_rtx_reaches_end_p instead of reload_regs_reach_end_p.
5774         Also use reload_reg_rtx_reaches_end_p when reading new_spill_reg_store
5775         for non-spill reload registers.
5776
5777 2012-02-05  Ira Rosen  <irar@il.ibm.com>
5778
5779         PR tree-optimization/52091
5780         * tree-vectorizer.h (vect_is_simple_use): Add an argument.
5781         (vect_is_simple_use_1): Likewise.
5782         * tree-vect-loop.c (vectorizable_reduction): Update calls
5783         to vect_is_simple_use_1 and vect_is_simple_use.
5784         (vectorizable_live_operation): Likewise.
5785         * tree-vect-patterns.c (widened_name_p,
5786         vect_recog_vector_vector_shift_pattern, check_bool_pattern): Likewise.
5787         * tree-vect-stmts.c (process_use, vect_get_vec_def_for_operand,
5788         vectorizable_call, vectorizable_conversion, vectorizable_assignment,
5789         vectorizable_shift,vectorizable_operation, vectorizable_store,
5790         vectorizable_load): Likewise.
5791         (vect_is_simple_cond): Add an argument, pass it to
5792         vect_is_simple_use_1.
5793         (vectorizable_condition): Update calls to vect_is_simple_cond,
5794         vect_is_simple_use.
5795         (vect_is_simple_use): Add an argument, the statement in which
5796         OPERAND is used.  Check that if OPERAND's def stmt is a double
5797         reduction phi node, the use is a phi node too.
5798         (vect_is_simple_use_1): Add an argument, pass it to
5799         vect_is_simple_use.
5800         * tree-vect-slp.c (vect_get_and_check_slp_defs): Update a call
5801         to vect_is_simple_use.
5802
5803 2012-02-04  Jakub Jelinek  <jakub@redhat.com>
5804
5805         PR rtl-optimization/52095
5806         * modulo-sched.c (dump_insn_locator): New function.
5807         (loop_canon_p, sms_schedule): Use it.
5808
5809         PR rtl-optimization/52113
5810         * lower-subreg.c (decompose_multiword_subregs): Call recog_memoized
5811         even for decomposable shift/zext insns.
5812
5813 2012-02-03  Jakub Jelinek  <jakub@redhat.com>
5814             Zdenek Dvorak  <ook@ucw.cz>
5815
5816         PR rtl-optimization/52092
5817         * loop-unswitch.c (unswitch_single_loop): Call copy_rtx_if_shared
5818         on get_iv_value result.
5819
5820 2012-02-02  Andrew Pinski  <apinski@cavium.com>
5821
5822         PR middle-end/47982
5823         PR middle-end/43967
5824         * doc/libgcc.texi (__udivmoddi4/__udivmodti4): Fix documentation typo.
5825
5826 2012-02-02  Jakub Jelinek  <jakub@redhat.com>
5827
5828         PR middle-end/48071
5829         * diagnostic.c (diagnostic_finish): Remove trailing newlines.
5830
5831 2012-02-02  Vladimir Makarov  <vmakarov@redhat.com>
5832
5833         PR rtl-optimization/49800
5834         * haifa-sched.c (sched_init): Call regstat_init_n_sets_and_refs.
5835         (sched_finish): Call regstat_free_n_sets_and_refs.
5836
5837 2012-02-02  Jia Liu  <proljc@gmail.com>
5838
5839         * config/mips/mips-dspr2.md (mips_prepend): Mask operand 3 rather
5840         than operand 2.
5841
5842 2012-02-02  Jan Hubicka  <jh@suse.cz>
5843             Tom de Vries  <tom@codesourcery.com>
5844
5845         PR middle-end/51998
5846         * cgraphunit.c (cgraph_analyze_function): Break cyclic aliases.
5847         * varpool.c (varpool_analyze_pending_decls): Likewise.
5848
5849 2012-02-02  Sumanth G <sumanth.gundapaneni@kpitcummins.com>
5850             Jayant R Sonar <jayant.sonar@kpitcummins.com>
5851
5852         * config.gcc: Add cr16-* support.
5853
5854         * doc/extend.texi: Document cr16 extensions.
5855         * doc/install.texi: Document cr16 install.
5856         * doc/invoke.texi: Document cr16 options.
5857         * doc/md.texi: Document cr16 constraints.
5858
5859         * common/config/cr16/cr16-common.c: New file.
5860         * config/cr16/cr16.c: New file.
5861         * config/cr16/cr16.h: New file.
5862         * config/cr16/cr16.md: New file.
5863         * config/cr16/cr16.opt: New file.
5864         * config/cr16/cr16-protos.h: New file.
5865         * config/cr16/predicates.md: New file.
5866         * config/cr16/constraints.md: New file.
5867         * config/cr16/t-cr16: New file.
5868
5869 2012-02-02  Jakub Jelinek  <jakub@redhat.com>
5870
5871         PR target/52086
5872         * config/i386/i386.md (*addqi_2 peephole with SImode addition): Check
5873         that operands[2] is either immediate, or q_regs_operand.
5874
5875         PR tree-optimization/52073
5876         * tree-vect-stmts.c (vect_mark_relevant): When checking uses of
5877         a pattern stmt for pattern uses, ignore uses outside of the loop.
5878
5879 2012-02-01  Georg-Johann Lay  <avr@gjlay.de>
5880
5881         * config/avr/avr.c: Resolve all AS1 and AS2 macros.
5882         * config/avr/avr.h (AS1, AS2, AS2C, AS3): Remove.
5883         (OUT_AS1, OUT_AS2): Remove.
5884
5885 2012-02-01  Georg-Johann Lay  <avr@gjlay.de>
5886
5887         PR rtl-optimization/51374
5888         * combine.c (can_combine_p): Don't allow volatile_refs_p insns
5889         to cross other volatile_refs_p insns.
5890
5891 2012-02-01  Richard Guenther  <rguenther@suse.de>
5892
5893         * doc/invoke.texi (fno-inline): Clarify documentation.
5894         (finline-small-functions): Likewise.
5895         (finline-functions): Likewise.
5896         * common.opt (finline): Adjust comment and documentation.
5897         (finline-small-functions): Clarify documentation.
5898         (finline-functions): Likewise.
5899         (finline-functions-called-once): Likewise.
5900
5901 2012-02-01  Tristan Gingold  <gingold@adacore.com>
5902
5903         * c-typeck.c (composite_type): Keep mode for pointers.
5904
5905 2012-01-31  Richard Sandiford  <rdsandiford@googlemail.com>
5906
5907         * function.h (regno_reg_rtx): Adjust comment.
5908         * reginfo.c (init_reg_modes_target): Only use the previous mode
5909         if it fits within one register.  Remove MIPS comment.
5910
5911 2012-01-31  Jakub Jelinek  <jakub@redhat.com>
5912
5913         PR bootstrap/52058
5914         * combine.c (do_SUBST_LINK, SUBST_LINK): Guard with #ifndef HAVE_cc0.
5915
5916 2012-01-31  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
5917
5918         * config/s390/s390.md ("*ashr<mode>3_and"): Add missing z196 flag
5919         to srak instruction.
5920
5921 2012-01-31  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
5922
5923         * config/arm/thumb2.md (thumb2_mov_notscc): Use MVN for true condition.
5924
5925 2012-01-31  Jakub Jelinek  <jakub@redhat.com>
5926
5927         PR bootstrap/52041
5928         PR bootstrap/52039
5929         PR target/51974
5930         * ipa-prop.c (detect_type_change_1): Call ao_ref_init.
5931
5932 2012-01-31  Richard Guenther  <rguenther@suse.de>
5933
5934         PR tree-optimization/51528
5935         * tree-sra.c (sra_modify_assign): Avoid copy-in/out for aggregate
5936         assigns.
5937
5938 2012-01-31  Jakub Jelinek  <jakub@redhat.com>
5939
5940         PR bootstrap/52041
5941         PR bootstrap/52039
5942         PR target/51974
5943         * ree.c (add_removable_extension): Change def_map argument
5944         to unsigned *, store in def_map 1 + offset into *insn_list vector
5945         instead of pointers into the vector.
5946         (find_removable_extensions): Adjust caller.
5947
5948 2012-01-30  Georg-Johann Lay  <avr@gjlay.de>
5949
5950         * config/avr/avr.md: Resolve all AS1 and AS2 macros.
5951         Transform all "* quoted-c-code" to { c-code }.
5952         Remove redundant test for "optimize" in combine patterns.
5953         Move (include "avr-dimode.md") to end of file.
5954
5955 2012-01-30  Bin Cheng  <bin.cheng@arm.com>
5956
5957         PR target/51835
5958         * config/arm/arm.c (arm_libcall_uses_aapcs_base): Use correct ABI
5959         for __aeabi_d2iz/__aeabi_d2uiz with hard-float.
5960
5961 2012-01-30  Richard Guenther  <rguenther@suse.de>
5962
5963         PR tree-optimization/52028
5964         * tree-loop-distribution.c (ldist_gen): Properly update
5965         virtual SSA form.
5966
5967 2012-01-30  Jakub Jelinek  <jakub@redhat.com>
5968
5969         PR debug/52027
5970         * dwarf2out.c (dwarf2out_switch_text_section): Don't call
5971         set_cur_line_info_table if not emitting debug info.
5972
5973         PR tree-optimization/52046
5974         * tree-vect-patterns.c (check_bool_pattern): Give up if
5975         a comparison could throw.
5976
5977         PR debug/52048
5978         * tree-ssa-tail-merge.c (local_def): Ignore debug uses.
5979
5980 2012-01-30  Richard Guenther  <rguenther@suse.de>
5981
5982         PR tree-optimization/52045
5983         * tree-optimize.c (execute_cleanup_cfg_post_optimizing): Update
5984         SSA form if cfgcleanup did anything.
5985
5986 2012-01-30  Richard Guenther  <rguenther@suse.de>
5987
5988         PR tree-optimization/52045
5989         * ipa-inline-transform.c (inline_transform): Call execute_fixup_cfg
5990         before computing final todo.
5991
5992 2012-01-30  Richard Guenther  <rguenther@suse.de>
5993
5994         PR tree-optimization/51528
5995         * tree-sra.c (sra_modify_assign): Re-factor in preparation
5996         for PR51528 fix.
5997
5998 2012-01-30  Paolo Bonzini  <bonzini@gnu.org>
5999
6000         * df-problems.c (df_kill_notes): Check that the use refers
6001         to the note under examination.
6002
6003 2012-01-30  Eric Botcazou  <ebotcazou@adacore.com>
6004
6005         PR target/51920
6006         * config/sparc/sparc.c (vector_init_fpmerge): Remove INNER_MODE
6007         parameter and use short-lived pseudos.
6008         (vector_init_faligndata): Remove INNER_MODE parameter and use loop.
6009         (sparc_expand_vector_init): Const-ify local variables and adjust
6010         calls to above functions.
6011
6012 2012-01-30  Georg-Johann Lay  <avr@gjlay.de>
6013
6014         * config/avr/avr.c (out_movqi_mr_r): Fix length computation.
6015
6016 2012-01-29  Sandra Loosemore  <sandra@codesourcery.com>
6017
6018         * doc/invoke.texi: Make usage of "compile time" and
6019         "run time"/"runtime" consistent throughout the file.
6020
6021 2012-01-29  Uros Bizjak  <ubizjak@gmail.com>
6022
6023         * config/alpha/alpha.c (alpha_option_override): Default to
6024         full IEEE compliance mode for Go language.
6025
6026 2011-01-29  Tijl Coosemans  <tijl@coosemans.org>
6027
6028         * config/freebsd-spec.h [TARGET_LIBC_PROVIDES_SSP]
6029         (LINK_SSP_SPEC): Define.
6030
6031 2012-01-28  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
6032
6033         PR target/51871
6034         * config/pa/pa.c (pa_return_addr_rtx): Add support for PA2.0 export
6035         stubs.
6036
6037 2012-01-28  Sandra Loosemore  <sandra@codesourcery.com>
6038
6039         * doc/invoke.texi: Correct hyphenation of "floating point",
6040         "double precision", and related terminology throughout the file.
6041
6042 2012-01-28  Jakub Jelinek  <jakub@redhat.com>
6043
6044         PR target/52006
6045         * config/arm/arm.md (pic_add_dot_plus_eight peephole2): Use
6046         arm_general_register_operand predicate for operand 2 instead of
6047         register_operand.
6048
6049 2012-01-27  Ian Lance Taylor  <iant@google.com>
6050
6051         PR go/47656
6052         * builtins.def (BUILT_IN_INIT_HEAP_TRAMPOLINE): Define.
6053         * builtins.c (expand_builtin_init_trampoline): Add onstack
6054         parameter.  Change caller.
6055         (expand_builtin): Handle BUILT_IN_INIT_HEAP_TRAMPOLINE.
6056         * tree.c (build_common_builtin_nodes): Declare
6057         __builtin_init_heap_trampoline.
6058
6059 2012-01-27  Georg-Johann Lay  <avr@gjlay.de>
6060
6061         * config/avr/avr-protos.h (lpm_reg_rtx, lpm_addr_reg_rtx,
6062         tmp_reg_rtx, zero_reg_rtx, all_regs_rtx, rampz_rtx): Make global.
6063         * config/avr/avr.c: Ditto.
6064         (avr_regnames): Remove because unused.
6065         * config/avr/avr.md (*cpse.ne): New peephole.
6066         (*cpse.eq): New peephole from former cpse peepholes.
6067
6068 2012-01-27  Michael Eager  <eager@eagercon.com>
6069
6070         * config/microblaze.c (microblaze_emit_compare): Correct
6071         test after pcmp instruction.
6072
6073 2012-01-27  Richard Guenther  <rguenther@suse.de>
6074
6075         PR tree-optimization/52020
6076         * tree-sra.c (sra_modify_assign): Do not transform clobbers.
6077
6078 2012-01-27  Richard Guenther  <rguenther@suse.de>
6079
6080         * ipa-pure-const.c (check_stmt): Clobbers do not make a
6081         function non-const/pure.
6082
6083 2012-01-27  Richard Guenther  <rguenther@suse.de>
6084
6085         PR tree-optimization/50444
6086         * tree-sra.c (build_ref_for_offset): Properly adjust the
6087         MEM_REF type for unaligned accesses.
6088
6089 2012-01-27  Richard Guenther  <rguenther@suse.de>
6090
6091         PR tree-optimization/50444
6092         * expr.c (mem_ref_refers_to_non_mem_p): New function.
6093         (expand_assignment): Use it.  Properly handle misaligned
6094         bases when expanding stores to component references.
6095         (expand_expr_real_1): Use mem_ref_refers_to_non_mem_p and
6096         refactor that case.
6097
6098 2012-01-27  Andrey Belevantsev  <abel@ispras.ru>
6099
6100         PR middle-end/51389
6101         * Makefile.in (tree-data-ref.o): Depend on $(PARAMS_H).
6102         * tree-data-ref.h (find_data_references_in_loop): Remove declaration.
6103         * tree-data-ref.c (find_data_references_in_loop): Make static.
6104         (compute_all_dependences): Change return type to bool.  Bail out
6105         for too many datarefs in a loop.  Move the hunk resetting the data
6106         dependences vector from ...
6107         (compute_data_dependences_for_loop): ... here.  Account for
6108         compute_all_dependences returning false.
6109         (compute_data_dependences_for_bb): Likewise.
6110         * params.def (PARAM_LOOP_MAX_DATAREFS_FOR_DATADEPS): New param.
6111         * doc/invoke.texi (loop-max-datarefs-for-datadeps): Document it.
6112
6113 2012-01-27  Richard Guenther  <rguenther@suse.de>
6114
6115         PR middle-end/51959
6116         * expr.c (store_field): Use the alias-set of the scratch memory
6117         for storing to it.
6118
6119 2012-01-27  Tom de Vries  <tom@codesourcery.com>
6120
6121         PR tree-optimization/51990
6122         * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Handle
6123         WITH_SIZE_EXPR.
6124         * tree-ssa-pre.c (create_component_ref_by_pieces_1): Same.
6125
6126 2012-01-27  Jakub Jelinek  <jakub@redhat.com>
6127
6128         PR debug/52001
6129         * var-tracking.c (reverse_op): Don't add any reverse operation
6130         if V already has any constant locations.
6131
6132 2012-01-27  Sandra Loosemore  <sandra@codesourcery.com>
6133
6134         * doc/invoke.texi: Correct usage of "command line" (noun)
6135         vs "command-line" (adjective) throughout.
6136
6137 2012-01-27  Sandra Loosemore  <sandra@codesourcery.com>
6138
6139         * doc/invoke.texi (Language Independent Options): Move
6140         -Wcoverage-mismatch blurb from here....
6141         (Warning Options): ...to here.
6142
6143 2012-01-27  Peter Bergner  <bergner@vnet.ibm.com>
6144
6145         * config/rs6000/rs6000.c (rs6000_option_override_internal):
6146         Set rs6000_always_hint to false for 476.
6147
6148 2012-01-27  Matthias Klose  <doko@ubuntu.com>
6149
6150         * gcc.c (add_sysrooted_prefix): Remove trailing dir separator from
6151           system root.
6152         * incpath.c (add_standard_paths): Likewise.
6153
6154 2012-01-27  Richard Henderson  <rth@redhat.com>
6155
6156         * config/m68k/m68k.c (TARGET_ATOMIC_TEST_AND_SET_TRUEVAL): New.
6157         * config/m68k/sync.md (atomic_test_and_set): Rename from
6158         sync_test_and_setqi and adjust the operands.
6159         (atomic_test_and_set_1): Rename from sync_test_and_setqi_1
6160         and unconditionally enable.
6161
6162 2012-01-27  Richard Henderson  <rth@redhat.com>
6163
6164         * config/sparc/sparc.c (TARGET_ATOMIC_TEST_AND_SET_TRUEVAL): New.
6165         * config/sparc/sync.md (atomic_test_and_set): Only handle QImode.
6166         (ldstub): Rename from ldstubqi.
6167         (ldstub<I24MODE>): Remove.
6168
6169 2012-01-27  Richard Henderson  <rth@redhat.com>
6170
6171         * target.def (TARGET_ATOMIC_TEST_AND_SET_TRUEVAL): New.
6172         * c-cppbuiltin.c (cpp_atomic_builtins): Define
6173         __GCC_ATOMIC_TEST_AND_SET_TRUEVAL.
6174         * doc/tm.texi.in (TARGET_ATOMIC_TEST_AND_SET_TRUEVAL): Add doc hook.
6175         * doc/tm.texi: Rebuild.
6176
6177 2012-01-27  Richard Henderson  <rth@redhat.com>
6178
6179         * optabs.c (gen_atomic_test_and_set): Remove default.
6180         (maybe_emit_atomic_test_and_set): Use maybe_expand_insn.
6181
6182 2012-01-26  Jakub Jelinek  <jakub@redhat.com>
6183
6184         PR rtl-optimization/51978
6185         * ree.c (make_defs_and_copies_lists): Change set_pat type to const_rtx.
6186         (combine_reaching_defs): Likewise.
6187         (struct re_info): Remove.
6188         (add_removable_extension): Remove x and data arguments,
6189         add insn, insn_list and def_map.  Use the arguments directly
6190         instead of using struct re_info.
6191         (find_removable_extensions): Don't call add_removable_extension
6192         through note_stores, instead just call it with single_set
6193         result if non-NULL.
6194         (find_and_remove_re): Pass curr_cand->expr instead of
6195         PATTERN (curr_cand->insn) as set_pat argument to combine_reaching_defs.
6196
6197 2012-01-26  Michael Matz  <matz@suse.de>
6198
6199         PR tree-optimization/46590
6200         * cfgexpand.c: Revert last change (r183305).
6201         * gimplify.c (gimplify_bind_expr): Add clobbers for all non-gimple
6202         regs.
6203         * tree-eh.c (cleanup_empty_eh): Try to optimize clobbers before
6204         checking for emptiness.
6205
6206 2012-01-26  Jakub Jelinek  <jakub@redhat.com>
6207
6208         PR middle-end/51895
6209         * expr.c (expand_expr_real_1): Handle BLKmode MEM_REF of
6210         non-addressable non-BLKmode base correctly.
6211
6212 2012-01-26  Michael Matz  <matz@suse.de>
6213
6214         PR tree-optimization/48794
6215         * tree-eh.c (remove_unreachable_handlers_no_lp): Don't remove
6216         regions referenced from RESX/EH_DISPATCH.
6217
6218 2012-01-26  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
6219
6220         * config/s390/s390.h: Make BRANCH_COST an option.
6221         * config/s390/s390.opt: New option -mbranch-cost.
6222
6223 2012-01-26  Richard Henderson  <rth@redhat.com>
6224
6225         Revert 2012-01-24 change:
6226         * trans-mem.c (requires_barrier): Do not instrument thread local
6227         variables and emit save/restore for them.
6228
6229 2012-01-25  Jakub Jelinek  <jakub@redhat.com>
6230
6231         PR middle-end/51986
6232         * sched-deps.c (sched_get_condition_with_rev_uncached): Don't test
6233         for pat == 0.
6234
6235 2012-01-25  Richard Sandiford  <rdsandiford@googlemail.com>
6236
6237         * config/mips/mips.c (mips_small_data_pattern_1): Don't process
6238         ASM_OPERANDS.
6239
6240 2012-01-25  Georg-Johann Lay  <avr@gjlay.de>
6241
6242         PR target/49868
6243         Rename __pgm to __flash.
6244         Rename __pgm1 to __flash1.
6245         Rename __pgm2 to __flash2.
6246         Rename __pgm3 to __flash3.
6247         Rename __pgm4 to __flash4.
6248         Rename __pgm5 to __flash5.
6249         Rename __pgmx to __memx.
6250         * doc/extend.texi (AVR Named Address Spaces)
6251         Rename address space names as indicated above.
6252         * config/avr/avr.c (avr_addrspace): Ditto.
6253
6254         * config/avr/avr-protos.h
6255         (avr_mem_pgmx_p): Rename to avr_mem_memx_p.
6256         (avr_mem_pgm_p): Rename to avr_mem_flash_p.
6257         * config/avr/predicates.md: Ditto.
6258         * config/avr/avr.c Ditto, and
6259         (avr_decl_pgmx_p): Rename to avr_decl_memx_p.
6260         (avr_decl_pgm_p): Rename to avr_decl_flash_p.
6261
6262         * config/avr/avr.h (ADDR_SPACE_PGM): Rename to ADDR_SPACE_FLASH.
6263         (ADDR_SPACE_PGM1): Rename to ADDR_SPACE_FLASH1.
6264         (ADDR_SPACE_PGM2): Rename to ADDR_SPACE_FLASH2.
6265         (ADDR_SPACE_PGM3): Rename to ADDR_SPACE_FLASH3.
6266         (ADDR_SPACE_PGM4): Rename to ADDR_SPACE_FLASH4.
6267         (ADDR_SPACE_PGM5): Rename to ADDR_SPACE_FLASH5.
6268         (ADDR_SPACE_PGMX): Rename to ADDR_SPACE_MEMX.
6269         * config/avr/avr.c: Ditto.
6270         * config/avr/avr.md: Ditto.
6271
6272 2012-01-25  Jason Merrill  <jason@redhat.com>
6273
6274         PR c++/51992
6275         * tree.c (find_decls_types_in_node): Walk gimple_call_fntype.
6276
6277 2012-01-25  Jakub Jelinek  <jakub@redhat.com>
6278
6279         PR tree-optimization/51987
6280         * tree-data-ref.c (get_references_in_stmt): Handle references in
6281         non-volatile GIMPLE_ASM.
6282
6283 2012-01-25  Richard Guenther  <rguenther@suse.de>
6284
6285         * tree-ssa-sccvn.c (vn_reference_eq): Also compare if both
6286         bases are dereferenced.
6287
6288 2012-01-25  Andrey Belevantsev  <abel@ispras.ru>
6289
6290         PR rtl-optimization/48374
6291         * sel-sched-ir.h (get_all_loop_exits): Check for zero successors.
6292
6293 2012-01-25  Andrey Belevantsev  <abel@ispras.ru>
6294
6295         * tree-predcom.c (tree_predictive_commoning_loop): Bail out when
6296         compute_data_dependences_for_loop returns false.
6297         * tree-parloops.c (loop_parallel_p): Likewise.
6298
6299 2012-01-25  Richard Guenther  <rguenther@suse.de>
6300
6301         * tree.h (get_pointer_alignment_1): Declare.
6302         * builtins.c (get_pointer_alignment_1): New function.
6303         (get_pointer_alignment): Use it.
6304
6305 2012-01-25  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
6306
6307         PR rtl-optimization/48308
6308         * combine.c (enum undo_kind): Add UNDO_LINKS.
6309         (struct undo): Add member l to other_contents and where.
6310         (do_SUBST_LINK): New.
6311         (SUBST_LINK): New.
6312         (try_combine): Handle LOG_LINKS for the dummy i1 case.
6313         (undo_all): Handle UNDO_LINKS.
6314
6315 2012-01-25  Richard Henderson  <rth@redhat.com>
6316
6317         * optabs.c (maybe_emit_atomic_test_and_set): Allow non-QImode
6318         mem inputs.
6319
6320 2012-01-24  Richard Sandiford  <rdsandiford@googlemail.com>
6321
6322         * optabs.c (gen_atomic_test_and_set): Use each argument.
6323
6324 2012-01-24  Richard Sandiford  <rdsandiford@googlemail.com>
6325
6326         * config/mips/mips-ps-3d.md (mips_addr_ps, reduc_splus_v2sf)
6327         (mips_cvt_pw_ps, mips_cvt_ps_pw, mips_mulr_ps, mips_cabs_cond_<fmt>)
6328         (mips_cabs_cond_4s, mips_cabs_cond_ps, bc1any4t, bc1any4f, bc1any2t)
6329         (bc1any2f, mips_rsqrt1_<fmt>, mips_rsqrt2_<fmt>, mips_recip1_<fmt>)
6330         (mips_recip2_<fmt>): Require TARGET_MIPS3D rather than
6331         TARGET_PAIRED_SINGLE_FLOAT.
6332
6333 2012-01-24  Richard Sandiford  <rdsandiford@googlemail.com>
6334
6335         * doc/rtl.texi (MEM_IN_STRUCT_P, MEM_SCALAR_P): Delete.
6336         (in_struct, return_val): Remove MEM documentation.
6337         * rtl.h (rtx_def): Remove MEM meanings from in_struct and return_val.
6338         (MEM_IN_STRUCT_P, MEM_SCALAR_P): Delete.
6339         (MEM_COPY_ATTRIBUTES): Remove references to MEM_IN_STRUCT_P
6340         and MEM_SCALAR.
6341         * emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
6342         * cfgexpand.c (add_alias_set_conflicts): Likewise.
6343         * expr.c (store_field): Likewise.
6344         * function.c (assign_stack_temp_for_type): Likewise.
6345         * ifcvt.c (noce_try_cmove_arith): Likewise.
6346         * reload1.c (reload): Likewise.
6347         * config/alpha/alpha.c (alpha_set_memflags_1): Likewise.
6348         (alpha_set_memflags): Likewise.
6349         * config/m32c/m32c.c (m32c_immd_dbl_mov): Nullify.
6350
6351 2012-01-24  Richard Sandiford  <rdsandiford@googlemail.com>
6352
6353         * rtl.h (true_dependence, canon_true_dependence): Remove varies
6354         parameter.
6355         * alias.c (fixed_scalar_and_varying_struct_p): Delete.
6356         (true_dependence_1, write_dependence_p, may_alias_p): Don't call it.
6357         (true_dependence_1, true_dependence, canon_true_dependence): Remove
6358         varies parameter.
6359         * cselib.c (cselib_rtx_varies_p): Delete.
6360         (cselib_invalidate_mem): Update call to canon_true_dependence.
6361         * dse.c (record_store, check_mem_read_rtx): Likewise.
6362         (scan_reads_nospill): Likewise.
6363         * cse.c (check_dependence): Likewise.
6364         (cse_rtx_varies_p): Delete.
6365         * expr.c (safe_from_p): Update call to true_dependence.
6366         * ira.c (validate_equiv_mem_from_store): Likewise.
6367         (memref_referenced_p): Likewise.
6368         * postreload-gcse.c (find_mem_conflicts): Likewise.
6369         * sched-deps.c (sched_analyze_2): Likewise.
6370         * store-motion.c (load_kills_store): Likewise.
6371         * config/frv/frv.c (frv_registers_conflict_p_1): Likewise.
6372         * gcse.c (mems_conflict_for_gcse_p): Likewise.
6373         (compute_transp): Update call to canon_true_dependence.
6374
6375 2012-01-25  Richard Henderson  <rth@redhat.com>
6376
6377         * optabs.c (CODE_FOR_atomic_test_and_set): Provide default.
6378         (maybe_emit_atomic_test_and_set): New.
6379         (expand_sync_lock_test_and_set): Use it.
6380         (expand_atomic_test_and_set): Likewise.
6381         * doc/extend.texi (__atomic_test_and_set): Adjust the docs to match
6382         the implementation; clarify implementation defined details.
6383         * doc/md.texi (atomic_test_and_set): Document.
6384
6385 2012-01-25  Richard Henderson  <rth@redhat.com>
6386
6387         * config/sparc/predicates.md (zero_or_v7_operand): Use match_code.
6388
6389 2012-01-25  Richard Henderson  <rth@redhat.com>
6390
6391         PR target/51968
6392         * config/arm/arm.c (neon_split_vcombine): Emit deleted note
6393         to effect no-op split.
6394
6395 2012-01-24  Aldy Hernandez  <aldyh@redhat.com>
6396
6397         PR lto/51698
6398         * builtin-types.def: (BT_CONST_DOUBLE_PTR): New.
6399         (BT_FN_VOID_PTR_CONST_PTR_SIZE): New.
6400         (BT_FN_VOID_PTR_INT_SIZE): New.
6401         (BT_FN_UINT_UINT_VAR): Remove.
6402         (BT_FN_UINT32_UINT32_VAR): New.
6403         (BT_FN_DOUBLE_VPTR): Remove.
6404         (BT_FN_DOUBLE_CONST_DOUBLE_PTR): New.
6405
6406         * gtm-builtins.def (_ITM_abortTransaction): Set return type to void.
6407         (_ITM_changeTransactionMode): Same.
6408         (_ITM_memmoveRtWt): Change return type to void.
6409         (_ITM_memcpyRtWt): Same.
6410         (_ITM_memsetW): Same.
6411         (_ITM_RaRD): Change types to double.
6412         (_ITM_RD): Same.
6413         (_ITM_RaWD): Same.
6414         (_ITM_RfWD): Same.
6415
6416         * builtins.def (DEF_TM_BUILTIN): Set BOTH_P to true.
6417
6418 2012-01-24  Aldy Hernandez  <aldyh@redhat.com>
6419             Patrick Marlier  <patrick.marlier@gmail.com>
6420
6421         * trans-mem.c (requires_barrier): Do not instrument thread local
6422         variables and emit save/restore for them.
6423
6424 2012-01-24  Jason Merrill  <jason@redhat.com>
6425
6426         PR c++/51812
6427         * cgraphunit.c (cgraph_decide_is_function_needed): Don't always
6428         output static aliases.
6429
6430 2012-01-24  Jakub Jelinek  <jakub@redhat.com>
6431
6432         PR driver/47249
6433         * common.opt (-pie, -shared, pie, shared): Change from Common to
6434         Driver.
6435         * gcc.c (display_help): Display help for -pie and -shared.
6436
6437 2012-01-24  Georg-Johann Lay  <avr@gjlay.de>
6438
6439         PR target/49868
6440         * doc/extend.texi (AVR Named Address Spaces): Move sample code up.
6441         Remove note on size/offset limitation.
6442         (AVR Variable Attributes): Add example how to read data located
6443         with progmem.  Refer to named address spaces.
6444         * doc/invoke.texi (AVR Options): Fix typo.
6445
6446 2012-01-24  Richard Guenther  <rguenther@suse.de>
6447
6448         Forward-port to trunk
6449         2010-09-21  Jakub Jelinek  <jakub@redhat.com>
6450
6451         PR middle-end/45678
6452         * expr.c (expand_expr_real_1) <case VIEW_CONVERT_EXPR>: If
6453         op0 isn't sufficiently aligned and there is movmisalignM
6454         insn for mode, use it to load op0 into a temporary register.
6455
6456 2012-01-24  Jakub Jelinek  <jakub@redhat.com>
6457
6458         PR target/51957
6459         * target.def (const_not_ok_for_debug_p): New hook.
6460         * doc/tm.texi.in (TARGET_CONST_NOT_OK_FOR_DEBUG_P): New hook
6461         documentation.
6462         * doc/tm.texi: Regenerated.
6463         * dwarf2out.c (const_ok_for_output_1): If
6464         targetm.const_not_ok_for_debug_p returns true, fail.
6465         * config/rs6000/rs6000.c (rs6000_const_not_ok_for_debug_p): New
6466         function.
6467         (TARGET_CONST_NOT_OK_FOR_DEBUG_P): Redefine.
6468
6469 2012-01-23  Kai Tietz  <ktietz@redhat.com>
6470
6471         PR target/51900
6472         * config/i386/predicates.md (symbolic_operand): Allow
6473         UNSPEC_PCREL as PIC expression for lea.
6474         * config/i386/winnt.c (i386_pe_binds_local_p): Reworked.
6475         * config/i386/i386.c (ix86_delegitimize_address): Handle
6476         UNSPEC_PCREL for none-MEM, too.
6477
6478 2012-01-23  Aldy Hernandez  <aldyh@redhat.com>
6479
6480         * trans-mem.c (ipa_tm_create_version): Set externally_visible.
6481         (ipa_tm_create_version_alias): Same.
6482
6483 2012-01-23  Uros Bizjak  <ubizjak@gmail.com>
6484
6485         PR libitm/51830
6486         * builtin-types.def (BT_FN_UINT_UINT_VAR): New.
6487         * gtm-builtins.def (BUILT_IN_TM_START): Declare as BT_FN_UINT_UINT_VAR.
6488
6489 2012-01-23  Aldy Hernandez  <aldyh@redhat.com>
6490             Patrick Marlier  <patrick.marlier@gmail.com>
6491             Iain Sandoe  <developer@sandoe-acoustics.co.uk>
6492
6493         PR lto/51916
6494         * lto-wrapper.c (run_gcc): Pass the LTO section name to
6495         simple_object_start_read.
6496
6497 2012-01-23  Richard Guenther  <rguenther@suse.de>
6498
6499
6500         PR tree-optimization/51895
6501         * tree-sra.c (decide_one_param_reduction): Avoid sub-optimal
6502         parameter decomposition into BLKmode components.
6503
6504 2012-01-23  Eric Botcazou  <ebotcazou@adacore.com>
6505
6506         * tree-ssa-structalias.c (intra_create_variable_infos): Do not create
6507         fake variables for restrict-qualified pointers whose pointed-to type
6508         contains a placeholder.
6509
6510 2012-01-23  Richard Guenther  <rguenther@suse.de>
6511
6512         PR tree-optimization/51949
6513         * ipa-split.c (execute_split_functions): Do not split malloc functions.
6514
6515 2012-01-23  Jakub Jelinek  <jakub@redhat.com>
6516
6517         PR rtl-optimization/51933
6518         * ree.c (transform_ifelse): Return true right away if dstreg is
6519         already wider or equal to cand->mode.
6520         (enum ext_modified_kind, struct ext_modified, ext_state): New types.
6521         (make_defs_and_copies_lists): Remove defs_list and copies_list
6522         arguments, add state argument, just truncate state->work_list
6523         instead of always allocating and freeing the vector.  Assert that
6524         get_defs succeeds instead of returning 2.  Changed return type to bool.
6525         (merge_def_and_ext): Add state argument.  If SET_DEST doesn't
6526         have ext_src_mode, see if it has been modified already with the
6527         right kind of extension and has been extended before from the
6528         ext_src_mode.  If SET_DEST is already wider or equal to cand->mode,
6529         just return true.  Remember the original mode in state->modified array.
6530         (combine_reaching_defs): Add state argument.  Don't allocate and
6531         free here def_list, copied_list and vec vectors, instead just
6532         VEC_truncate the vectors in *state.  Don't handle outcome == 2 here.
6533         (find_and_remove_re): Set DF_DEFER_INSN_RESCAN df flag.
6534         Add state variable, clear vectors in it, initialize state.modified
6535         if needed.  Free all the vectors at the end and state.modified too.
6536         Don't skip a candidate if the extension expression has been modified.
6537
6538 2012-01-22  Douglas B Rupp  <rupp@gnat.com>
6539
6540         PR target/47096
6541         * config.gcc: (i[34567]86-*-interix3*): Remove from obsolete
6542          configurations. Change triplet to i[34567]86-*-interix[3-9]*.
6543         (extra_options) interix.opt -> i386/interix.opt"
6544         (extra_objs):Add winnt-stubs.o
6545         * configure.ac: Add interix to target_os .comm on PE check.
6546         * configure: Regenerate.
6547         * config/interix3.h: Delete and move bits to..
6548         * config/interix.h: Delete and move bits to..
6549         * config/i386/i386-interix3.h: Delete and move bits to..
6550         * config/i386/i386-interix.h: ..here.
6551         (TARGET_CPU_DEFAULT): Remove redefinition.
6552         (TARGET_ASM_CONSTRUCTOR): Undefine.
6553         (SUBTARGET_SWITCHES): Define for ms-bitfields.
6554         (TARGET_OS_CPP_BUILTINS): Remove __OPENNT. Add __declspec.
6555         (PTRDIFF_TYPE): Define.
6556         (LONG_DOUBLE_TYPE_SIZE): Define.
6557         (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define.
6558         (SUBTARGET_OVERRIDE_OPTIONS): Remove.
6559         (TARGET_SECTION_TYPE_FLAGS): Define.
6560         (ASM_DECLARE_FUNCTION_NAME): Define.
6561         (ASM_OUTPUT_EXTERNAL): Define.
6562         (ASM_OUTPUT_EXTERNAL_LIBCALL): Define.
6563         (ASM_OUTPUT_ALIGNED_BSS): Define.
6564         (PCC_BITFIELD_TYPE_MATTERS): Define.
6565         (USE_CONST_SECTION): Define.
6566         (SUBTARGET_ENCODE_SECTION_INFO): Remove.
6567         (TARGET_ASM_FUNCTION_RODATA_SECTION): Remove.
6568         (SUPPORTS_ONE_ONLY): Remove.
6569         (I386_PE_STRIP_ENCODING): Define.
6570         * config/interix.opt: Delete and move bits to..
6571         * config/i386/interix.opt: ..here. New.
6572         (mpe-aligned-commons): Add.
6573         * config/i386/t-interix: Add copyright header.
6574         (winnt-stubs.o): Add rule.
6575
6576 2012-01-22  Jason Merrill  <jason@redhat.com>
6577
6578         PR c++/51832
6579         * varpool.c (varpool_analyze_pending_decls): Copy DECL_EXTERNAL
6580         for extra name aliases.
6581
6582 2012-01-22  Eric Botcazou  <ebotcazou@adacore.com>
6583
6584         PR rtl-optimization/51924
6585         * ree.c (combine_set_extension): Improve debugging message.
6586         (combine_reaching_defs): Likewise.
6587         (get_defs): Rename confusingly named variable.
6588         (find_and_remove_re): Skip a candidate if the extension expression has
6589         been modified.
6590
6591 2012-01-21  Robert Millan  <rmh@gnu.org>
6592             Gerald Pfeifer  <gerald@pfeifer.com>
6593
6594         * config/kfreebsd-gnu.h (GNU_USER_DYNAMIC_LINKERX32): New macro.
6595         (GNU_USER_DYNAMIC_LINKER): Adjust indentation.
6596
6597 2012-01-20  Jakub Jelinek  <jakub@redhat.com>
6598
6599         PR tree-optimization/51914
6600         * tree-vect-stmts.c (vectorizable_conversion): For
6601         cvt_type && modifier == WIDEN, put temporary with cvt_type
6602         at the beginning of vec_dsts and set vec_dest to temporary
6603         with vectype_out.
6604
6605 2012-01-20  Eric Botcazou  <ebotcazou@adacore.com>
6606
6607         * cfgrtl.c (rtl_dump_bb): Do not dump insns for {ENTRY|EXIT}_BLOCK.
6608
6609 2011-01-20  Tijl Coosemans  <tijl@coosemans.org>
6610
6611         * config/i386/i386.c: Fix checks for !TARGET_MACHO.
6612         * config/rs6000/rs6000.c: Likewise.
6613
6614 2012-01-20  Jakub Jelinek  <jakub@redhat.com>
6615
6616         PR target/51915
6617         * config/arm/arm.c (arm_count_output_move_double_insns): Call
6618         output_move_double on a copy of operands array.
6619
6620 2012-01-20  Cary Coutant  <ccoutant@google.com>
6621             Dodji Seketeli  <dodji@redhat.com>
6622
6623         PR debug/45682
6624         * dwarf2out.c (copy_declaration_context): Return ref to parent
6625         of declaration DIE, if necessary.
6626         (remove_child_or_replace_with_skeleton): Add new parameter; update
6627         caller.  Place skeleton DIE under parent DIE of original declaration.
6628         Move call to copy_declaration_context to here ...
6629         (break_out_comdat_types): ... from here.
6630
6631 2012-01-20  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
6632
6633         PR rtl-optimization/51856
6634         * reload.c (find_reloads_subreg_address): Set the address_reloaded
6635         flag to reloaded.
6636
6637 2012-01-20  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
6638
6639         PR target/51819
6640         * config/arm/arm.c (arm_print_operand): Correct output of alignment
6641         hints for neon loads and stores.
6642
6643 2012-01-20  Georg-Johann Lay  <avr@gjlay.de>
6644
6645         PR target/49868
6646         PR target/50887
6647         * doc/extend.texi (Named Address Spaces): Split into subsections.
6648         (AVR Named Address Spaces): New subsection.
6649         (M32C Named Address Spaces): New subsection.
6650         (RL78 Named Address Spaces): New subsection.
6651         (SPU Named Address Spaces): New subsection.
6652         (Variable Attributes): New anchor "AVR Variable Attributes".
6653         (AVR Variable Attributes): Rewrite and avoid wording
6654         "address space" in this context.
6655         * doc/invoke.texi (AVR Options): Rewrite and add documentation
6656         for -maccumulate-args, -mbranch-cost=, -mrelax, -mshort-calls.
6657         (AVR Built-in Macros): New subsubsection therein.
6658         * doc/md.texi (AVR constraints): Remove "C04", "R".
6659
6660 2012-01-20  Richard Guenther  <rguenther@suse.de>
6661
6662         PR tree-optimization/51903
6663         * tree-ssa-pre.c (eliminate): Properly purging of EH edges
6664         when removing stmts.
6665
6666 2012-01-20  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
6667
6668         PR target/50313
6669         * config/arm/arm.c (arm_load_pic_register): Use
6670         gen_pic_load_addr_unified. Delete calls to gen_pic_load_addr_32bit
6671         , gen_pic_add_dot_plus_eight and gen_pic_add_dot_plus_four.
6672         (arm_pic_static_addr): Likewise.
6673         (arm_rtx_costs_1): Adjust cost for UNSPEC_PIC_UNIFIED.
6674         (arm_note_pic_base): Handle UNSPEC_PIC_UNIFIED.
6675         * config/arm/arm.md (UNSPEC_PIC_UNIFIED): Define.
6676         (pic_load_addr_unified): New.
6677
6678 2012-01-20  Andrey Belevantsev  <abel@ispras.ru>
6679
6680         PR target/51106
6681         * function.c (instantiate_virtual_regs_in_insn): Use
6682         delete_insn_and_edges when removing a wrong asm insn.
6683
6684 2012-01-19  Vladimir Makarov  <vmakarov@redhat.com>
6685
6686         PR rtl-optimization/40761
6687         * ira-int.h (struct ira_loop_tree_node): Add comment for member loop.
6688         Add new member loop_num.
6689         (IRA_LOOP_NODE_BY_INDEX): Modify the check.
6690         (ira_build): Remove the parameter.
6691
6692         * ira.c (ira_print_disposition): Use loop_num instead of loop->num.
6693         (ira.c): Do not build CFG loops for one region allocation.  Remove
6694         argument from ira_build call.
6695
6696         * ira-build.c (init_loop_tree_node): New function.
6697         (create_loop_tree_nodes): Use it.  Separate the case when CFG
6698         loops are not built.
6699         (more_one_region_p): Check current_loops.
6700         (finish_loop_tree_nodes): Separate the case when CFG loops are not
6701         built.
6702         (add_loop_to_tree): Process loop equal to NULL too.
6703         (form_loop_tree): Separate the case when CFG loops are not built.
6704         Use explicitly number for the root.
6705         (rebuild_regno_allocno_maps, create_loop_tree_node_allocnos): Add
6706         an assertion.
6707         (ira_print_expanded_allocno, loop_compare_func): Use loop_num
6708         instead of loop->num.
6709         (mark_loops_for_removal): Ditto.  Use loop_num instead of loop->num.
6710         (mark_all_loops_for_removal): Ditto.
6711         (remove_unnecessary_regions): Separate the case when CFG loops
6712         are not built.
6713         (ira_build): Remove the parameter.  Use explicit number of regions
6714         when CFG loops are not built.
6715
6716         * ira-color.c (print_loop_title): Separate the case for the root node.
6717         Use loop_num instead of loop->num.
6718         (move_spill_restore): Use loop_num instead of loop->num.
6719
6720         * ira-emit.c (setup_entered_from_non_parent_p): Add an assertion.
6721         (change_loop): Ditto.
6722         (change_loop): Use loop_num instead of loop->num.
6723
6724         * ira-lives.c (process_bb_node_lives): Ditto.
6725
6726         * ira-costs.c (print_allocno_costs, find_costs_and_classes): Ditto.
6727
6728         * ira-conflicts.c (print_allocno_conflicts): Ditto.
6729
6730 2012-01-19  Jakub Jelinek  <jakub@redhat.com>
6731
6732         PR libmudflap/40778
6733         * tree-mudflap.c (mf_artificial): New function.
6734         (execute_mudflap_function_ops, execute_mudflap_function_decls,
6735         mx_register_decls, mudflap_enqueue_decl): Use it.
6736
6737         PR target/51876
6738         * config/arm/neon.md (*neon_vswp<mode>): Fix up operand
6739         numbers in the insn pattern.
6740
6741 2012-01-19  Michael Matz  <matz@suse.de>
6742
6743         PR tree-optimization/46590
6744         * cfgexpand.c (add_scope_conflicts_1): New old_conflicts argument,
6745         use it in remembering which conflicts we already created.
6746         (add_scope_conflicts): Adjust call to above, (de)allocate helper
6747         bitmap.
6748
6749 2012-01-19  Aldy Hernandez  <aldyh@redhat.com>
6750
6751         PR lto/51280
6752         * lto-wrapper.c (run_gcc): Pass -fgnu_tm on.
6753         (merge_and_complain): Same.
6754
6755 2012-01-19  Jakub Jelinek  <jakub@redhat.com>
6756
6757         PR bootstrap/50237
6758         * config/initfini-array.h: Guard content of the header
6759         with #ifdef HAVE_INITFINI_ARRAY.
6760         * configure.ac: Move gcc_AC_INITFINI_ARRAY much later into the file.
6761         Add initfini-array.h to tm_file here.
6762         * acinclude.m4 (gcc_AC_INITFINI_ARRAY): For non-ia64 do a linker test.
6763         * config.gcc: Don't add initfini-array.h to tm_file here.
6764         * configure: Regenerated.
6765
6766 2012-01-19  Andrey Belevantsev  <abel@ispras.ru>
6767
6768         PR rtl-optimization/51505
6769         * df-problems.c (df_kill_notes): New parameter live. Update comment.
6770         Remove REG_EQUAL/REG_EQUIV notes referring to dead registers.
6771         (df_note_bb_compute): Update the call to df_kill_notes.
6772
6773 2012-01-18  Aldy Hernandez  <aldyh@redhat.com>
6774
6775         * trans-mem.c (requires_barrier): Remove call to is_global_var.
6776
6777 2012-01-18  Richard Guenther  <rguenther@suse.de>
6778
6779         * tree-ssa.c (useless_type_conversion_p): Remove special-casing
6780         of conversions to void *.
6781
6782 2012-01-17  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
6783             Richard Sandiford  <rdsandiford@googlemail.com>
6784
6785         PR middle-end/50325
6786         PR middle-end/51192
6787         * optabs.h (simplify_expand_binop): Declare.
6788         * optabs.c (simplify_expand_binop): Make global.
6789         * expmed.c (store_bit_field_1): Use simplify_expand_binop on big
6790         endian targets if the source cannot be exactly covered by word
6791         mode chunks.
6792
6793 2012-01-17  Jakub Jelinek  <jakub@redhat.com>
6794
6795         PR bootstrap/51872
6796         * hard-reg-set.h (struct hard_reg_set_container): New type.
6797         * target.h (struct hard_reg_set_container): Forward declare.
6798         * target.def (set_up_by_prologue): New target hook.
6799         * doc/tm.texi.in (TARGET_SET_UP_BY_PROLOGUE): Document it.
6800         * doc/tm.texi: Regenerated.
6801         * function.c (thread_prologue_and_epilogue_insns): Change
6802         set_up_by_prologue HARD_REG_SET into struct hard_reg_set_container.
6803         Call targetm.set_up_by_prologue on it.
6804         * config/rs6000/rs6000.c (rs6000_set_up_by_prologue): New function.
6805         (TARGET_SET_UP_BY_PROLOGUE): Redefine to it.
6806
6807 2012-01-17  Nick Clifton  <nickc@redhat.com>
6808
6809         * config/rx/rx.c (rx_can_use_simple_return): New function.
6810         * config/rx/rx-protos.h (rx_can_use_simple_return): Prototype.
6811         * config/rx/rx.md (return): Predicate on rx_can_use_simple_return.
6812
6813 2012-01-17  Richard Guenther  <rguenther@suse.de>
6814
6815         PR middle-end/51782
6816         * expr.c (expand_assignment): Take address-space information
6817         from the address operand of MEM_REF and TARGET_MEM_REF.
6818         (expand_expr_real_1): Likewise.
6819
6820 2012-01-17  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
6821
6822         * ira.c (do_reload): Make sure ira_dump_file is re-set if no
6823         reload dump is requested.
6824
6825 2012-01-17  Aldy Hernandez  <aldyh@redhat.com>
6826
6827         PR other/51165
6828         * trans-mem.c (requires_barrier): Call may_be_aliased.
6829
6830 2012-01-17  Jakub Jelinek  <jakub@redhat.com>
6831
6832         PR tree-optimization/51877
6833         * tree-ssa-tail-merge.c (gimple_equal_p): Don't return true whenever
6834         call arguments and fndecls compare equal, instead return false if they
6835         don't.  Return true only if lhs1 and lhs2 are either both NULL, or
6836         both SSA_NAMEs that are valueized the same, or they satisfy
6837         operand_equal_p.
6838
6839 2012-01-17  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
6840
6841         * configure.ac (gcc_cv_target_dl_iterate_phdr): Only check on
6842         Solaris 11+.
6843         * configure: Regenerate.
6844
6845 2012-01-16  Jan Hubicka  <jh@suse.cz>
6846
6847         PR c/12245
6848         PR c++/14179
6849         * convert.c (convert_to_integer): Use fold_convert for
6850         converting an INTEGER_CST to integer type.
6851
6852 2012-01-16  Jason Merrill  <jason@redhat.com>
6853
6854         PR c++/14179
6855         * vec.c (vec_gc_o_reserve_1): Use ggc_round_alloc_size.
6856
6857 2012-01-16  Jakub Jelinek  <jakub@redhat.com>
6858
6859         PR bootstrap/51860
6860         * config/s390/s390.c (s390_chunkify_start): Don't skip
6861         call insns followed by NOTE_INSN_CALL_ARG_LOCATION note.  Skip
6862         NOTE_INSN_VAR_LOCATION and NOTE_INSN_CALL_ARG_LOCATION notes.
6863         If insn is followed by NOTE_INSN_VAR_LOCATION or
6864         NOTE_INSN_CALL_ARG_LOCATION notes, insert jump after all those notes.
6865         Don't use location of note insns.
6866
6867         PR tree-optimization/51865
6868         * tree-inline.c (tree_function_versioning): Call remap_decl
6869         on DECL_RESULT whenever it has VOID_TYPE_P type.
6870
6871 2012-01-15  Richard Sandiford  <rdsandiford@googlemail.com>
6872
6873         * config/mips/mips.c (mips16_build_call_stub): Don't use a stub
6874         for calls to locally-binding MIPS16 functions if only the return
6875         type uses float regs.
6876
6877 2012-01-15  Chung-Lin Tang  <cltang@codesourcery.com>
6878             Richard Sandiford  <rdsandiford@googlemail.com>
6879
6880         * config/mips/mips-protos.h (SYMBOL_FORCE_TO_MEM): Delete.
6881         (SYMBOL_32_HIGH): Likewise.
6882         (mips_output_tls_reloc_directive): Declare.
6883         * config/mips/mips.h (PIC_FUNCTION_ADDR_REGNUM): Move to mips.md.
6884         (mips_use_pcrel_pool_p, mips_lo_relocs, mips_hi_relocs): Declare.
6885         * config/mips/mips.c (mips_use_pcrel_pool_p): New variable.
6886         (mips_lo_relocs, mips_hi_relocs): Make extern.
6887         (mips16_stub_function): Move up file.
6888         (mips_classify_symbol): Remove SYMBOL_FORCE_TO_MEM handling.
6889         (mips_symbolic_constant_p): Likewise.  Remove SYMBOL_32_HIGH too.
6890         (mips_symbol_insns_1): Likewise.  Check mips_use_pcrel_pool_p.
6891         (mips_cannot_force_const_mem): Use mips_use_pcrel_pool_p instead of
6892         SYMBOL_FORCE_TO_MEM.  Only check mips_tls_symbol_ref_1 if it's false.
6893         (mips_get_tp): Add MIPS16 support.
6894         (mips_legitimize_tls_address): Remove MIPS16 sorry().
6895         Generalize DTPREL and TPREL handling.
6896         (mips_init_relocs): Initialize mips_use_pcrel_pool_p.
6897         Add MIPS16 TLS support.
6898         (mips_output_tls_reloc_directive): New function.
6899         (mips16_rewrite_pool_refs): Ignore UNSPEC_TLS_GET_TPs.
6900         * config/mips/predicates.md (symbolic_operand_with_high)
6901         (tls_reloc_operand): New predicates.
6902         (force_to_mem_operand): Use mips_use_pcrel_pool_p.
6903         * config/mips/mips.md (UNSPEC_UNSHIFTED_HIGH): New unspec.
6904         (PIC_FUNCTION_ADDR_REGNUM): Moved from mips.h.
6905         (*unshifted_high): New instruction.  Use it for MIPS16 high splitter.
6906         (consttable_tls_reloc, tls_get_tp_mips16_<mode>): New patterns.
6907         (*tls_get_tp_mips16_call_<mode>): Likewise.
6908
6909 2012-01-15  Uros Bizjak  <ubizjak@gmail.com>
6910
6911         PR rtl-optimization/51821
6912         * recog.c (peep2_find_free_register): Determine clobbered registers
6913         from insn pattern.
6914
6915 2012-01-14  Denis Chertykov  <chertykov@gmail.com>
6916
6917         PR target/50925
6918         * config/avr/avr-protos.h: Revert change of 2012-01-09.
6919         * config/avr/avr.c: Likewise.
6920         * config/avr/avr.h: Likewise.
6921
6922 2012-01-13  Ian Lance Taylor  <iant@google.com>
6923
6924         PR c++/50012
6925         * tree.h (TYPE_QUALS): Add cast to int.
6926         (TYPE_QUALS_NO_ADDR_SPACE): Likewise.
6927
6928 2012-01-13  Ian Lance Taylor  <iant@google.com>
6929
6930         * ipa-cp.c (ipa_get_indirect_edge_target): Add typecasts when
6931         comparing param_index to VEC_length result.
6932
6933 2012-01-13  Steven Bosscher  <steven@gcc.gnu.org>
6934
6935         * c-decl.c: Do not include tree-mudflap.h
6936         * tree-optimize.c: Likewise.
6937         * Makefile.in: Update dependencies.
6938
6939 2012-01-13  Richard Guenther  <rguenther@suse.de>
6940
6941         PR middle-end/8081
6942         * gimplify.c (gimplify_modify_expr_rhs): For calls with a
6943         variable-sized result always use RSO.
6944
6945 2012-01-12  DJ Delorie  <dj@redhat.com>
6946
6947         * cfgexpand.c (convert_debug_memory_address): Allow any valid
6948         pointer type, not just the default pointer type.
6949
6950 2012-01-09  Richard Henderson  <rth@redhat.com>
6951             Denis Chertykov  <chertykov@gmail.com>
6952
6953         PR target/50925
6954         * config/avr/avr-protos.h (avr_hard_regno_nregs): Declare.
6955         * config/avr/avr.c (avr_can_eliminate): Simplify.
6956         (avr_initial_elimination_offset): Likewise.
6957         (avr_prologue_setup_frame): Use hard_frame_pointer_rtx.
6958         (expand_epilogue): Likewise.
6959         (avr_legitimize_address): Gut.
6960         (avr_legitimize_reload_address): Use hard_frame_pointer_rtx.
6961         (avr_hard_regno_nregs): New.
6962         (avr_hard_regno_ok): Allow only Pmode for arg and frame_pointers.
6963         (avr_regno_mode_code_ok_for_base_b): Handle arg and frame pointers.
6964         * config/avr/avr.h (FIXED_REGISTERS): Adjust arg pointer,
6965         add soft frame pointer.
6966         (CALL_USED_REGISTERS): Likewise.
6967         (REG_CLASS_CONTENTS): Likewise.
6968         (REGISTER_NAMES): Likewise.
6969         (HARD_REGNO_NREGS): Use avr_hard_regno_nregs.
6970         (HARD_FRAME_POINTER_REGNUM): New.
6971         (FRAME_POINTER_REGNUM): Use soft frame pointer.
6972         (ELIMINABLE_REGS): Eliminate from the soft frame pointer,
6973         remove the HARD_FRAME_POINTER self-elimination.
6974
6975 2012-01-12  Georg-Johann Lay  <avr@gjlay.de>
6976
6977         PR target/51756
6978         * config/avr/avr.c (avr_encode_section_info): Test for absence of
6979         DECL_EXTERNAL when checking for initializers of progmem variables.
6980
6981 2012-01-12  Ira Rosen  <irar@il.ibm.com>
6982
6983         PR tree-optimization/51799
6984         * tree-vect-patterns.c (vect_recog_over_widening_pattern): Check
6985         that the last operation is a type demotion.
6986
6987 2012-01-12  Uros Bizjak  <ubizjak@gmail.com>
6988
6989         * config/i386/i386.md (*zero_extendsidi2_rex64): Correct movl template.
6990         (x86_shift<mode>_adj_1): Remove operand constraint from operand 3.
6991
6992 2012-01-11  Jakub Jelinek  <jakub@redhat.com>
6993
6994         PR bootstrap/51796
6995         * combine.c (distribute_notes): If i3 is a noreturn call,
6996         allow old_size to be equal to args_size and make sure the
6997         noreturn call gets REG_ARGS_SIZE note.
6998         * expr.c (fixup_args_size_notes): Put REG_ARGS_SIZE notes
6999         on noreturn calls even when the delta is 0.
7000
7001 2012-01-11  Nathan Sidwell  <nathan@acm.org>
7002
7003         * gcov.c (STRING_SIZE): Remove.
7004         (generate_results): Erase annotations for source files with no
7005         coverage information.
7006         (read_line): New.
7007         (output_lines): Use it.
7008
7009 2012-01-11  Eric Botcazou  <ebotcazou@adacore.com>
7010
7011         * gimple.h (gimplify_body): Remove first argument.
7012         * gimplify.c (copy_if_shared): Add DATA argument.  Do not create the
7013         pointer set here, instead just pass DATA to walk_tree.
7014         (unshare_body): Remove BODY_P argument and adjust.  Create the pointer
7015         set here and invoke copy_if_shared on the size trees of DECL_RESULT.
7016         (unvisit_body): Likewise, but with unmark_visited.
7017         (gimplify_body): Remove BODY_P argument and adjust.
7018         (gimplify_function_tree): Adjust call to gimplify_body.
7019         * omp-low.c (finalize_task_copyfn): Likewise.
7020
7021 2012-01-11  Eric Botcazou  <ebotcazou@adacore.com>
7022
7023         * tree.h (build_function_decl_skip_args): Add boolean parameter.
7024         (build_function_type_skip_args): Delete.
7025         * tree.c (build_function_type_skip_args): Make static and add
7026         SKIP_RETURN parameter.  Fix thinko in the handling of variants.
7027         (build_function_decl_skip_args): Add SKIP_RETURN parameter and
7028         pass it to build_function_type_skip_args.
7029         * cgraph.h (cgraph_function_versioning): Add boolean parameter.
7030         (tree_function_versioning): Likewise.
7031         * cgraph.c (cgraph_create_virtual_clone): Adjust call to
7032         build_function_decl_skip_args.
7033         * cgraphunit.c (cgraph_function_versioning): Add SKIP_RETURN parameter
7034         and pass it to build_function_decl_skip_args/tree_function_versioning.
7035         (cgraph_materialize_clone): Adjust call to tree_function_versioning.
7036         * ipa-inline-transform.c (save_inline_function_body): Likewise.
7037         * trans-mem.c (ipa_tm_create_version): Likewise.
7038         * tree-sra.c (modify_function): Ditto for cgraph_function_versioning.
7039         * tree-inline.c (declare_return_variable): Remove always-true test.
7040         (tree_function_versioning): Add SKIP_RETURN parameter.  If the function
7041         returns non-void and SKIP_RETURN, create a void-typed RESULT_DECL.
7042         * ipa-split.c (split_function): Skip the return value for the split
7043         part if it doesn't return.
7044
7045 2012-01-11  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
7046
7047         PR tree-optimization/49642
7048         * ipa-split.c (forbidden_dominators): New variable.
7049         (check_forbidden_calls): New function.
7050         (dominated_by_forbidden): Likewise.
7051         (consider_split): Check for forbidden dominators.
7052         (execute_split_functions): Initialize and free forbidden
7053         dominators info; call check_forbidden_calls.
7054
7055 2012-01-11  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
7056
7057         * config/arm/arm.md (mov_notscc): Use MVN for false condition.
7058
7059 2012-01-11  Nick Clifton  <nickc@redhat.com>
7060
7061         * config/rx/rx.md (return): Define pattern.
7062
7063 2012-01-11  Richard Guenther  <rguenther@suse.de>
7064
7065         * doc/extend.texi (malloc attribute): Adjust according to
7066         implementation.
7067
7068 2012-01-10  Aldy Hernandez  <aldyh@redhat.com>
7069             Patrick Marlier  <patrick.marlier@gmail.com>
7070
7071         PR middle-end/51516
7072         * trans-mem.c (get_cg_data): Traverse aliases if requested.
7073         (ipa_tm_scan_calls_block): Update parameters to get_cg_data.
7074         (ipa_tm_note_irrevocable): Same.
7075         (ipa_tm_scan_irr_block): Same.
7076         (ipa_tm_decrement_clone_counts): Same.
7077         (ipa_tm_scan_irr_function): Same.
7078         (ipa_tm_create_version_alias): Same.
7079         (ipa_tm_create_version): Same.
7080         (ipa_tm_transform_calls_redirect): Same.
7081         (ipa_tm_transform_calls): Same.
7082         (ipa_tm_transform_transaction): Same.
7083         (ipa_tm_execute): Same.
7084
7085 2012-01-10  Richard Guenther  <rguenther@suse.de>
7086
7087         PR middle-end/51806
7088         * opts.c (common_handle_option): Handle -Werror.
7089
7090 2012-01-10  Andreas Schwab  <schwab@linux-m68k.org>
7091
7092         * config/m68k/sync.md ("atomic_compare_and_swap<mode>_1"): Fix
7093         operand number.
7094
7095 2012-01-10  Jason Merrill  <jason@redhat.com>
7096
7097         * doc/invoke.texi (C++ Dialect Options): Update -fabi-version=6
7098         information.
7099
7100 2012-01-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
7101
7102         * configure.ac (gcc_cv_as_ix86_tlsgdplt): Check if linker
7103         supports R_386_TLS_GD_PLT reloc.
7104         (gcc_cv_as_ix86_tlsldmplt): Check if linker
7105         supports R_386_TLS_LDM_PLT reloc.
7106         * configure: Regenerate.
7107         * config.in: Regenerate.
7108
7109 2012-01-10  Georg-Johann Lay  <avr@gjlay.de>
7110
7111         PR target/49868
7112         Extend __pgmx semantics to linearize memory.
7113         * config/avr/avr.md (mov<mode>): Use avr_xload_libgcc_p to
7114         determine if code comes inline or from libgcc.
7115         (MOVMEM_r_d:HI): Add "w" to constraint for better preference.
7116         (movmem_qi, movmem_qi): Set constraint #2 to "n".
7117         (movmem_qi_elpm, movmem_hi_elpm): Remove insns.
7118         (movmemx_qi, movmemx_hi): New insns.
7119         (xload_<mode>_libgcc): Rewrite to new insn condition.
7120         (xload_<mode>): Remove insns.
7121         * config/avr/avr.c (avr_out_xload): Rewrite: Only need to handle
7122         cases that don't satisfy avr_xload_libgcc_p().
7123         (avr_addr_space_convert): Allow converting in any direction.
7124         (avr_addr_space_subset_p): Return always true.
7125         (avr_xload_libgcc_p): Rewrite to fit new __pgmx semantics.
7126         (avr_emit_movmemhi): Ditto.
7127         (avr_out_lpm): No need to handle ADDR_SPACE_PGMX any more.
7128         (avr_out_movmem): Ditto.
7129         (AVR_SYMBOL_FLAG_PROGMEM): New macro.
7130         (AVR_SYMBOL_SET_ADDR_SPACE): New macro.
7131         (AVR_SYMBOL_GET_ADDR_SPACE): New macro.
7132         (avr_encode_section_info): Encode 'progmem' in symbol flags.
7133         (output_reload_in_const): Don't zero-extend any 24-bit symbols.
7134
7135 2012-01-10  Richard Guenther  <rguenther@suse.de>
7136
7137         PR tree-optimization/50913
7138         * graphite-scop-detection.c (stmt_has_simple_data_refs_p):
7139         Require data-refs to be representable by Graphite with respect
7140         to any loop nest.
7141
7142 2012-01-10  Uros Bizjak  <ubizjak@gmail.com>
7143
7144         * config/i386/constraints.md ("L"): Return true for 0xffffffff.
7145         * config/i386/i386.c (*anddi_1): Emit AND with 0xffffffff as MOV.
7146
7147 2012-01-10  Tom de Vries  <tom@codesourcery.com>
7148
7149         PR rtl-optimization/51271
7150         * dwarf2cfi.c (scan_trace): Save and restore cur_row->reg_save when
7151         handling annulled branch.
7152
7153 2012-01-10  Richard Henderson  <rth@redhat.com>
7154
7155         * config/arm/arm.c (arm_vectorize_vec_perm_const_ok,
7156         TARGET_VECTORIZE_VEC_PERM_CONST_OK, neon_split_vcombine, MAX_VECT_LEN,
7157         struct expand_vec_perm_d, arm_expand_vec_perm_1, arm_expand_vec_perm,
7158         arm_evpc_neon_vuzp, arm_evpc_neon_vzip, arm_evpc_neon_vrev,
7159         arm_evpc_neon_vtrn, arm_evpc_neon_vtbl, arm_expand_vec_perm_const_1,
7160         arm_expand_vec_perm_const): New.
7161         * config/arm/arm-protos.h: Update.
7162         * config/arm/neon.md (UNSPEC_VCONCAT): New.
7163         (*neon_vswp<VDQX>): New.
7164         (neon_vcombine<VDX>): Use neon_split_vcombine.
7165         (neon_vtbl1v16qi, neon_vtbl2v16qi, neon_vcombinev16qi): New.
7166         * config/arm/vec-common.md (vec_perm_const<VALL>): New.
7167         (vec_perm<VE>): New.
7168
7169 2012-01-10  Richard Henderson  <rth@redhat.com>
7170
7171         * config/arm/arm.c (arm_gen_compare_reg): Add scratch argument;
7172         use it if reload_completed.
7173         (arm_legitimize_sync_memory, arm_emit, arm_insn_count, arm_count,
7174         arm_output_asm_insn, arm_process_output_memory_barrier,
7175         arm_output_memory_barrier, arm_ldrex_suffix, arm_output_ldrex,
7176         arm_output_strex, arm_output_it, arm_output_op2, arm_output_op3,
7177         arm_output_sync_loop, arm_get_sync_operand, FETCH_SYNC_OPERAND,
7178         arm_process_output_sync_insn, arm_output_sync_insn,
7179         arm_sync_loop_insns, arm_call_generator, arm_expand_sync): Remove.
7180         (arm_pre_atomic_barrier, arm_post_atomic_barrier): New.
7181         (arm_emit_load_exclusive, arm_emit_store_exclusive): New.
7182         (emit_unlikely_jump): New.
7183         (arm_expand_compare_and_swap, arm_split_compare_and_swap): New.
7184         (arm_split_atomic_op): New.
7185         * config/arm/arm-protos.h: Update.
7186         * config/arm/arm.h (enum arm_sync_generator_tag): Remove.
7187         (struct arm_sync_generator): Remove.
7188         * config/arm/arm.md (VUNSPEC_SYNC_COMPARE_AND_SWAP, VUNSPEC_SYNC_LOCK,
7189         VUNSPEC_SYNC_OP, VUNSPEC_SYNC_NEW_OP, VUNSPEC_SYNC_OLD_OP): Remove.
7190         (VUNSPEC_ATOMIC_CAS, VUNSPEC_ATOMIC_XCHG, VUNSPEC_ATOMIC_OP): New.
7191         (VUNSPEC_LL, VUNSPEC_SC): New.
7192         (sync_result, sync_memory, sync_required_value, sync_new_value,
7193         sync_t1, sync_t2, sync_release_barrier, sync_op): Remove.
7194         (attr length): Don't use arm_sync_loop_insns.
7195         (cbranch_cc, cstore_cc): Update call to arm_gen_compare_reg.
7196         (movsfcc, movdfcc): Likewise.
7197         * config/arm/constraints.md (Ua): New.
7198         * config/arm/prediates.md (mem_noofs_operand): New.
7199         (sync_compare_and_swap<QHSD>, sync_lock_test_and_set<QHSD>): Remove.
7200         (sync_clobber, sync_t2_reqd): Remove.
7201         (sync_<syncop><QHSD>, sync_nand<QHSD>): Remove.
7202         (sync_new_<syncop><QHSD>, sync_new_nand<QHSD>): Remove.
7203         (sync_old_<syncop><QHSD>, sync_old_nand<QHSD>): Remove.
7204         (arm_sync_compare_and_swap<SIDI>): Remove.
7205         (arm_sync_compare_and_swap<NARROW>): Remove.
7206         (arm_sync_lock_test_and_set<SIDI>): Remove.
7207         (arm_sync_lock_test_and_set<NARROW>): Remove.
7208         (arm_sync_new_<syncop><SIDI>): Remove.
7209         (arm_sync_new_<syncop><NARROW>): Remove.
7210         (arm_sync_new_nand<SIDI>): Remove.
7211         (arm_sync_new_nand<NARROW>): Remove.
7212         (arm_sync_old_<syncop><SIDI>): Remove.
7213         (arm_sync_old_<syncop><NARROW>): Remove.
7214         (arm_sync_old_nand<SIDI>): Remove.
7215         (arm_sync_old_nand<NARROW>): Remove.
7216         (*memory_barrier): Merge arm_output_memory_barrier.
7217         (atomic_compare_and_swap<QHSD>): New.
7218         (atomic_compare_and_swap<NARROW>_1): New.
7219         (atomic_compare_and_swap<SIDI>_1): New.
7220         (atomic_exchange<QHSD>): New.
7221         (cas_cmp_operand, cas_cmp_str): New.
7222         (atomic_op_operand, atomic_op_str): New.
7223         (atomic_<syncop><QHSD>, atomic_nand<QHSD>): New.
7224         (atomic_fetch_<syncop><QHSD>, atomic_fetch_nand<QHSD>): New.
7225         (atomic_<syncop>_fetch<QHSD>, atomic_nand_fetch<QHSD>): New.
7226         (arm_load_exclusive<NARROW>): New.
7227         (arm_load_exclusivesi, arm_load_exclusivedi): New.
7228         (arm_store_exclusive<QHSD>): New.
7229
7230 2012-01-09  Michael Meissner  <meissner@linux.vnet.ibm.com>
7231
7232         * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Add DF
7233         reload patterns if -mvsx-scalar-memory.
7234
7235         * config/rs6000/vsx.md (vsx_xscvspdp): Allow xscvspdp to be
7236         generated, even -mno-vsx-scalar-double was used.
7237         (vsx_xscvdpsp_scalar): Likewise.
7238         (vsx_xscvspdp_scalar2): Likewise.
7239
7240 2012-01-09  Tom de Vries  <tom@codesourcery.com>
7241             Andrew Pinski  <apinski@cavium.com>
7242
7243         PR debug/51471
7244         * reorg.c (fill_slots_from_thread): Don't speculate
7245         frame-related insns.
7246
7247 2012-01-09  Richard Sandiford  <rdsandiford@googlemail.com>
7248
7249         * sched-int.h (bb_note): Move to...
7250         * basic-block.h: ...here.
7251         * haifa-sched.c (bb_note): Move to...
7252         * cfgrtl.c: ...here.
7253         * function.c (next_block_for_reg): New function.
7254         (move_insn_for_shrink_wrap): Likewise.
7255         (prepare_shrink_wrap): Rewrite to use the above.
7256
7257 2012-01-09  Aldy Hernandez  <aldyh@redhat.com>
7258
7259         * gimple.c (is_gimple_non_addressable): Remove.
7260         * gimple.h: Remove is_gimple_non_addressable.
7261         * gimplify.c (gimplify_modify_expr_rhs): Use is_gimple_reg instead of
7262         is_gimple_non_addressable.
7263         * trans-mem.c (expand_assign_tm): Same.
7264
7265 2012-01-09  Richard Guenther  <rguenther@suse.de>
7266
7267         PR tree-optimization/51775
7268         * tree-ssa-sccvn.c (visit_use): Value-number throwing stmts.
7269         * tree-ssa-pre.c (eliminate): Properly fixup EH info.
7270
7271 2012-01-09  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
7272
7273         * config/arm/arm-cores.def (cortex-a15): Use cortex_a15_tune for
7274         tuning parameters.
7275         * config/arm/arm.c (arm_cortex_a15_tune): New static variable.
7276
7277 2012-01-09  Richard Guenther  <rguenther@suse.de>
7278
7279         * tree-streamer-out.c (write_ts_optimization): Fix spelling.
7280
7281 2012-01-08  Jan Hubicka  <jh@suse.cz>
7282
7283         PR tree-optimize/51680
7284         * ipa-inline-analyss.c (evaluate_properties_for_edge): Fix condition
7285         on when known_vals needs to be computed; cleanup.
7286
7287 2012-01-08  Jan Hubicka  <jh@suse.cz>
7288
7289         PR tree-optimize/51694
7290         * ipa-cp.c (ipa_get_indirect_edge_target): Add bounds checks.
7291
7292 2012-01-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
7293
7294         * doc/cpp.texi (Predefined Macros): __STRICT_ANSI__ is defined
7295         for -std=c++98 and -std=c++11 too.
7296
7297 2012-01-08  Chung-Lin Tang  <cltang@codesourcery.com>
7298
7299         * cfgloop.c (cancel_loop): Add free() of bbs array.
7300
7301 2012-01-07  Jan Hubicka  <jh@suse.cz>
7302
7303         PR tree-optimization/51600
7304         * ipa-inline-analysis.c (estimate_edge_devirt_benefit): Disable code
7305         that benefits small functions.
7306
7307 2012-01-07  Jan Hubicka  <jh@suse.cz>
7308
7309         * ipa-inline.c (want_inline_small_function_p): Fix formating.
7310
7311 2012-01-07  Jan Hubicka  <jh@suse.cz>
7312
7313         PR tree-optimization/51680
7314         * ipa-inline.c (want_inline_small_function_p): Be more lax on functions
7315         whose inlining reduce unit size.
7316
7317 2012-01-07  Alexandre Oliva  <aoliva@redhat.com>
7318
7319         PR bootstrap/51725
7320         * cselib.c (new_elt_loc_list): Promote addr_list to canonical node.
7321         Add canonical node to containing_mem chain after the non-canonical
7322         one, even if there weren't any locs to propagate.
7323         (remove_useless_values): Keep only canonical values.
7324         (add_mem_for_addr, cselib_lookup_mem): Canonicalize addr.
7325         (cselib_invalidate_mem): Likewise.  Ensure v is canonical, and
7326         canonicalize mem_chain elements that are not discarded.
7327
7328 2012-01-06  Jakub Jelinek  <jakub@redhat.com>
7329
7330         PR target/47333
7331         * cgraphunit.c (cgraph_optimize): Call output_weakrefs
7332         before emitting functions.
7333
7334         PR gcov-profile/50127
7335         * bb-reorder.c (partition_hot_cold_basic_blocks): Call
7336         clear_aux_for_blocks.
7337
7338 2012-01-06  Alexandre Oliva  <aoliva@redhat.com>
7339
7340         PR debug/51746
7341         * cselib.c (cselib_hash_rtx): Hash incoming VALUEs too.
7342
7343 2012-01-06  Arnaud Charlet  <charlet@adacore.com>
7344
7345         * c-decl.c (ext_block): Moved up.
7346         (collect_all_refs, for_each_global_decl): Take ext_block into account.
7347
7348 2012-01-06  Han Shen  <shenhan@google.com>
7349
7350         Translate built-in include paths for sysroot.
7351         * Makefile.in (gcc_gxx_include_dir_add_sysroot): New.
7352         (PREPROCESSOR_DEFINES): Define GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT.
7353
7354         * cppdefault.c (cpp_include_defaults): Replace hard coded "0" with
7355         GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT for "add_sysroot" field.
7356
7357         * configure.ac (AC_SUBST): Add gcc_gxx_include_dir_add_sysroot to
7358         control whether sysroot should be prepended to gxx include dir.
7359
7360         * configure: Regenerate.
7361
7362 2012-01-06  Torvald Riegel  <triegel@redhat.com>
7363
7364         PR rtl-optimization/51771
7365         * builtin-attrs.def (ATTR_RETURNS_TWICE, ATTR_TM_NOTHROW_RT_LIST): New.
7366         * gtm-builtins.def (BUILT_IN_TM_START): Add returns-twice attrib.
7367
7368 2012-01-05  Eric Botcazou  <ebotcazou@adacore.com>
7369
7370         PR tree-optimization/51315
7371         * tree-sra.c (tree_non_aligned_mem_for_access_p): New predicate.
7372         (build_accesses_from_assign): Use it instead of tree_non_aligned_mem_p.
7373
7374 2012-01-05  Uros Bizjak  <ubizjak@gmail.com>
7375
7376         PR target/51681
7377         * config/ia64/ia64.c (expand_vec_perm_shrp): Use correct operands
7378         for shrp pattern.  Correctly handle and fixup shift variable.
7379         Return false when shift > nelt for BYTES_BIG_ENDIAN target.
7380
7381 2012-01-05  Jakub Jelinek  <jakub@redhat.com>
7382
7383         PR debug/51762
7384         * calls.c (emit_call_1): For noreturn calls force a REG_ARGS_SIZE
7385         note when !ACCUMULATE_OUTGOING_ARGS.
7386
7387 2012-01-05  Eric Botcazou  <ebotcazou@adacore.com>
7388
7389         * tree-vrp.c (extract_range_from_binary_expr_1): Remove duplicated
7390         condition.
7391         (extract_range_from_unary_expr_1): Avoid useless computations.
7392
7393 2012-01-05  Jakub Jelinek  <jakub@redhat.com>
7394
7395         PR rtl-optimization/51767
7396         * cfgrtl.c (force_nonfallthru_and_redirect): Force addition
7397         of jump_block and add an extra edge for degenerated asm gotos.
7398
7399         PR middle-end/51768
7400         * stmt.c (check_unique_operand_names): Don't ICE during error
7401         reporting if i is from labels chain.
7402
7403         PR middle-end/44777
7404         * profile.c (branch_prob): Split bbs that have exit edge
7405         and need a fake entry edge too.
7406
7407 2012-01-05  Jan Hubicka  <jh@suse.cz>
7408
7409         PR middle-end/49710
7410         * cfgloopmanip.c (remove_path): Walk loop hiearchy upwards when
7411         unlooping loops.
7412
7413 2012-01-05  Richard Guenther  <rguenther@suse.de>
7414
7415         PR lto/50490
7416         * tree-streamer-out.c (write_ts_optimization): New function.
7417         (streamer_write_tree_body): Call it.
7418         * tree-streamer-in.c (lto_input_ts_optimization): New function.
7419         (streamer_read_tree_body): Call it.
7420         * lto-streamer-out.c (lto_is_streamable): Handle OPTIMIZATION_NODE.
7421
7422 2012-01-05  Jakub Jelinek  <jakub@redhat.com>
7423
7424         PR middle-end/51761
7425         * gimple.h (struct gimplify_ctx): Add in_cleanup_point_expr field.
7426         * gimplify.c (gimplify_cleanup_point_expr): Save and set
7427         in_cleanup_point_expr before gimplify_stmt call and restore it
7428         afterwards.
7429         (gimplify_target_expr): Don't add {CLOBBER} cleanup if
7430         in_cleanup_point_expr is false.
7431
7432 2012-01-05  Richard Guenther  <rguenther@suse.de>
7433
7434         PR middle-end/51764
7435         * common.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move
7436         to c.opt.
7437         * toplev.c (process_options): Reject combining mudflap and LTO.
7438         * tree-nomudflap.c (nogo): Use sorry instead of internal_error.
7439
7440 2012-01-05  Richard Guenther  <rguenther@suse.de>
7441
7442         PR tree-optimization/51760
7443         * tree-ssa-ccp.c (likely_value): Drop UNDEFINED to CONSTANT,
7444         not VARYING.
7445         (bit_value_unop): Handle UNDEFINED operands.
7446         (bit_value_binop): Likewise.
7447
7448 2012-01-05  Georg-Johann Lay  <avr@gjlay.de>
7449
7450         * config/avr/avr.c (avr_replace_prefix): Remove.
7451         (avr_asm_named_section): Use ACONCAT instead of avr_replace_prefix.
7452         (avr_asm_function_rodata_section): Ditto.
7453         (avr_asm_select_section): Ditto.
7454
7455 2012-01-05  Marcus Shawcroft  <marcus.shawcroft@arm.com>
7456
7457         * reload.c (find_reloads): Adjust LABEL_NUSES on REG_LABEL_OPERAND
7458         insertion.
7459
7460 2012-01-05  Jakub Jelinek  <jakub@redhat.com>
7461
7462         PR bootstrap/51648
7463         * tree-cfg.c (need_fake_edge_p): Return true also for noreturn
7464         calls that have any non-fake successor edges.
7465
7466         PR debug/51746
7467         * var-tracking.c (add_stores): For COND_EXEC allow oval to be NULL.
7468
7469 2012-01-04  Eric Botcazou  <ebotcazou@adacore.com>
7470
7471         PR tree-optimization/51624
7472         * tree-sra.c (build_ref_for_model): When replicating a chain of
7473         COMPONENT_REFs, stop as soon as the offset would become negative.
7474
7475 2012-01-04  Jakub Jelinek  <jakub@redhat.com>
7476
7477         PR debug/51695
7478         * dwarf2out.c (output_loc_list): For now drop >= 64KB expressions
7479         in .debug_loc on the floor.
7480
7481 2012-01-04  Andrew Pinski  <apinski@cavium.com>
7482
7483         * doc/invoke.texi (-march=@var{arch}): Add octeon+ and octeon2.
7484
7485 2012-01-04  Andrew Pinski  <apinski@cavium.com>
7486             Adam Nemet  <anemet@caviumnetworks.com>
7487
7488         * config/mips/mips.md (size): Add SI and DI.
7489         (SIZE): New mode attribute.
7490         (U): New code attribute.
7491         * config/mips/mips-dsp.md (mips_lbux): Use gen_mips_lbux_extsi.
7492         (mips_lbux_<mode>): Delete.
7493         (mips_l<SHORT:size><u>x_ext<GPR:mode>_<P:mode>): New pattern.
7494         (mips_lhx): Use gen_mips_lhx_extsi.
7495         (mips_lhx_<mode>): Delete.
7496         (mips_lwx): Delete.
7497         (mips_l<size>x): New expand.
7498         (mips_lwx_<mode>): Delete.
7499         (mips_l<GPR:size>x_<P:mode>): New pattern.
7500         (*mips_lw<u>x_<P:mode>_ext): Likewise.
7501         * config/mips/mips-ftypes.def: Add DI f(POINTER, SI) function type.
7502         * config/mips/mips.c (mips_lx_address_p): New function.
7503         (mips_rtx_costs <case MEM>): Call mips_lx_address_p.
7504         (dsp64): New availability predicate.
7505         (mips_builtins): Add an entry for __builtin_mips_ldx.
7506         * config/mips/mips.h (ISA_HAS_LBX): New define.
7507         (ISA_HAS_LBUX): Likewise.
7508         (ISA_HAS_LHX): Likewise.
7509         (ISA_HAS_LHUX): Likewise.
7510         (ISA_HAS_LWX): Likewise.
7511         (ISA_HAS_LWUX): Likewise.
7512         (ISA_HAS_LDX): Likewise.
7513         * doc/extend.texi (__builtin_mips_ldx): Document.
7514
7515 2012-01-04  Tristan Gingold  <gingold@adacore.com>
7516
7517         * config/vms/xm-vms.h (HOST_LONG_FORMAT, HOST_PTR_PRINTF): Define
7518         when long pointers are used.
7519         * config.build (*-*-*vms*): Handle all OpenVMS targets.
7520         (alpha64-dec-*vms*, alpha*-dec-*vms*)
7521         (ia64-hp-*vms*): Remove.
7522         * config/vms/xm-vms64.h: Delete.
7523
7524 2012-01-04  Aldy Hernandez  <aldyh@redhat.com>
7525
7526         PR middle-end/51472
7527         * trans-mem.c (expand_assign_tm): Handle TM_MEMMOVE loads correctly.
7528
7529 2012-01-04  Aldy Hernandez  <aldyh@redhat.com>
7530
7531         * opts.c (finish_options): Remove duplicate sorry.
7532
7533 2012-01-04  Aldy Hernandez  <aldyh@redhat.com>
7534
7535         PR middle-end/51696
7536         * trans-mem.c (diagnose_tm_1): Display indirect calls with no name
7537         correctly.
7538
7539 2012-01-04  Richard Guenther  <rguenther@suse.de>
7540
7541         PR middle-end/51750
7542         * tree.c (size_low_cst): New function.
7543         * tree.h (size_low_cst): Declare.
7544         * fold-const.c (fold_comparison): Use it to extract the low
7545         part of the POINTER_PLUS_EXPR offset.
7546
7547 2012-01-04  Georg-Johann Lay  <avr@gjlay.de>
7548
7549         Fix clearing ZERO_REG
7550         * config/avr/avr.md (cc): Add alternative "ldi".
7551         (movqi_insn): Use it in cc attribute.
7552         * config/avr/avr.c (notice_update_cc): Handle CC_LDI.
7553         (output_reload_in_const): Use CLR to move 0 to ZERO_REG.
7554         (output_reload_insisf): Use ZERO_REG to pre-clear register.
7555
7556 2012-01-04  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
7557
7558         * configure: Regenerate.
7559
7560 2012-01-04  Richard Guenther  <rguenther@suse.de>
7561
7562         PR tree-optimization/49651
7563         * tree-ssa-structalias.c (type_can_have_subvars): New function.
7564         (var_can_have_subvars): Use it.
7565         (get_constraint_for_1): Only consider subfields if there can be any.
7566
7567 2012-01-03  Jakub Jelinek  <jakub@redhat.com>
7568
7569         PR bootstrap/51725
7570         * cselib.c (new_elt_loc_list): When moving locs from one cselib_val
7571         to its new canonical_cselib_val and the cselib_val was in
7572         first_containing_mem chain, but the canonical_cselib_val was not,
7573         add the latter into the chain.
7574         (cselib_invalidate_mem): Compare canonical_cselib_val of
7575         addr_list chain elt with v.
7576
7577         PR pch/51722
7578         * dwarf2out.c (dwarf2out_start_source_file, dwarf2out_define,
7579         dwarf2out_undef): Allocate e.info using ggc_strdup instead
7580         of xstrdup.
7581         (output_macinfo_op): Don't ggc_strdup fd->filename.
7582         (optimize_macinfo_range): Allocate grp_name using XALLOCAVEC,
7583         then ggc_strdup it.  Don't free inc->info or cur->info.
7584         (output_macinfo): Don't free ref->info or file->info.
7585
7586 2012-01-03  Ira Rosen  <irar@il.ibm.com>
7587
7588         PR tree-optimization/51269
7589         * tree-vect-loop-manip.c (set_prologue_iterations): Make
7590         first_niters a pointer.
7591         (slpeel_tree_peel_loop_to_edge): Likewise.
7592         (vect_do_peeling_for_loop_bound): Update call to
7593         slpeel_tree_peel_loop_to_edge.
7594         (vect_gen_niters_for_prolog_loop): Don't compute wide_prolog_niters
7595         here.  Remove it from the parameters list.
7596         (vect_do_peeling_for_alignment): Update calls and compute
7597         wide_prolog_niters.
7598
7599 2012-01-03  Richard Guenther  <rguenther@suse.de>
7600
7601         PR tree-optimization/51070
7602         * tree-loop-distribution.c (stmt_has_scalar_dependences_outside_loop):
7603         Properly handle calls.
7604
7605 2012-01-03  Richard Guenther  <rguenther@suse.de>
7606
7607         PR tree-optimization/51692
7608         * tree-ssa-dce.c (eliminate_unnecessary_stmts): Do not remove
7609         the LHS of allocation stmts.
7610
7611 2012-01-03  Olivier Hainque  <hainque@adacore.com>
7612
7613         * system.h: Prior to #define, #undef fopen and freopen unconditionally.
7614
7615 2012-01-03  Olivier Hainque  <hainque@adacore.com>
7616
7617         * collect2.c (main): In AIX specific computations for vector
7618         insertions, use CONST_CAST2 to cast from char ** to const char **.
7619
7620 2012-01-03  Richard Guenther  <rguenther@suse.de>
7621
7622         PR debug/51650
7623         * dwarf2out.c (dwarf2out_finish): Always create a DIE for
7624         the context of a limbo DIE when it does not already exist.
7625
7626 2012-01-03  Jakub Jelinek  <jakub@redhat.com>
7627
7628         PR tree-optimization/51719
7629         * value-prof.c (gimple_ic): When indirect call isn't noreturn,
7630         but direct call is, clear direct call's lhs and don't add fallthrough
7631         edge from dcall_bb to join_bb and PHIs.
7632
7633 2012-01-03  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
7634
7635         * config/s390/s390.md ("*cmp<mode>_ccs"): Fix comment mentioning
7636         the instructions emitted by the pattern.
7637         ("*TDC_insn_<mode>"): Add comment.
7638
7639 2012-01-03  Richard Guenther  <rguenther@suse.de>
7640
7641         PR middle-end/51730
7642         * fold-const.c (fold_comparison): Properly canonicalize
7643         tree offset and HOST_WIDE_INT bit position.
7644
7645 2012-01-02  Uros Bizjak  <ubizjak@gmail.com>
7646
7647         * config/ia64/ia64.c (expand_vec_perm_broadcast): Use correct
7648         operands for extzv pattern.
7649
7650 2012-01-02  Jakub Jelinek  <jakub@redhat.com>
7651
7652         PR bootstrap/51725
7653         * cselib.c (add_mem_for_addr): Call canonical_cselib_val
7654         on mem_elt first.
7655
7656 2012-01-02  Sandra Loosemore  <sandra@codesourcery.com>
7657
7658         * doc/invoke.texi (-flto and related options): Copy-edit.
7659
7660 2012-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
7661
7662         * config/mips/mips.md (loadgp_newabi_<mode>): Add missing earlyclobber.
7663
7664 2012-01-02  Jakub Jelinek  <jakub@redhat.com>
7665
7666         * config/i386/sse.md (*avx2_gatherdi<mode>_3, *avx2_gatherdi<mode>_4):
7667         New patterns.
7668
7669 2012-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
7670
7671         * expr.h (move_by_pieces_ninsns): Declare.
7672         * expr.c (move_by_pieces_ninsns): Make external.
7673         * config/mips/mips-protos.h (mips_move_by_pieces_p): Declare.
7674         (mips_store_by_pieces_p): Likewise.
7675         * config/mips/mips.h (MOVE_BY_PIECES_P): Call mips_move_by_pieces_p.
7676         (STORE_BY_PIECES_P): Likewise mips_store_by_pieces_p.
7677         * config/mips/mips.c (mips_move_by_pieces_p): New function.
7678         (mips_store_by_pieces_p): Likewise.
7679
7680 2012-01-02  Jakub Jelinek  <jakub@redhat.com>
7681
7682         * passes.c (register_one_dump_file): Free full_name.
7683
7684         * reload1.c (reload): Don't allocate reg_max_ref_width here.
7685         (calculate_elim_costs_all_insns): Free offsets_at and
7686         offsets_known_at at the end and clear the pointers.
7687
7688 2012-01-02  Georg-Johann Lay  <avr@gjlay.de>
7689
7690         * config/avr/avr.opt (-mbranch-cost): Fix double definition of
7691         this option introduced in r180739.
7692
7693 2012-01-02  Georg-Johann Lay  <avr@gjlay.de>
7694
7695         PR target/51345
7696         * config.gcc (tm_file target=avr]): Add avr/avr-multilib.h
7697         (tmake_file target=avr): Add avr/t-multilib.
7698
7699         * config/avr/avr-c.c (avr_cpu_cpp_builtins): Use AVR_HAVE_8BIT_SP
7700         to built-in define __AVR_HAVE_8BIT_SP__, __AVR_HAVE_16BIT_SP__.
7701         * config/avr/genmultilib.awk: New file.
7702         * config/avr/t-multilib: New auto-generated file.
7703         * config/avr/multilib.h: New auto-generated file.
7704         * config/avr/t-avr (AVR_MCUS): New variable.
7705         (genopt.sh): Use it.
7706         (s-mlib): Depend on t-multilib.
7707         (t-multilib, multilib.h): New dependencies.
7708         (s-avr-mlib): New rule to build t-multilib, multilib.h from AVR_MCUS.
7709         (MULTILIB_OPTIONS): Remove.
7710         (MULTILIB_MATCHES): Remove.
7711         (MULTILIB_DIRNAMES): Remove.
7712         (MULTILIB_EXCEPTIONS): Remove:
7713         * config/avr/genopt.sh: Don't use hard coded file name;
7714         pass AVR_MCUS from t-avr instead.
7715
7716 2012-01-02  Georg-Johann Lay  <avr@gjlay.de>
7717
7718         * config/avr/avr.c (avr_out_ashrpsi3): Fix "case 31" to "case 23".
7719
7720 2012-01-02  Georg-Johann Lay  <avr@gjlay.de>
7721
7722         Implement light-weight DImode support.
7723         * config/avr/avr-dimode.md: New file.
7724         * config/avr/avr.md: Include it.
7725         (adjust_len): Add plus64, compare64.
7726         (HIDI): Remove code iterator.
7727         (code_stdname): New code attribute.
7728         (rotx, rotsmode): Remove DI.
7729         (rotl<mode>3, *rotw<mode>, *rotb<mode>): Use HISI instead of HIDI
7730         as code iterator.
7731         * config/avr/avr-protos.h (avr_have_dimode): New.
7732         (avr_out_plus64, avr_out_compare64): New.
7733         * config/avr/avr.c (avr_out_compare): Handle DImode.
7734         (avr_have_dimode): New variable definition and initialization.
7735         (avr_out_compare64, avr_out_plus64): New functions.
7736         (avr_out_plus_1): Use simplify_unary_operation to negate xval.
7737         (adjust_insn_length): Handle ADJUST_LEN_COMPARE64, ADJUST_LEN_PLUS64.
7738         (avr_compare_pattern): Skip DImode comparisons.
7739
7740 2012-01-02  Revital Eres  <revital.eres@linaro.org>
7741
7742         * ddg.c (def_has_ccmode_p): New function.
7743         (add_cross_iteration_register_deps,
7744         create_ddg_dep_from_intra_loop_link): Call it.
7745
7746 2012-01-02  Richard Guenther  <rguenther@suse.de>
7747
7748         PR other/51679
7749         * invoke.texi (fassociative-math): Remove spurious paranthesis.
7750
7751 2012-01-01  Jakub Jelinek  <jakub@redhat.com>
7752
7753         * gcc.c (process_command): Update copyright notice dates.
7754         * gcov.c (print_version): Likewise.
7755         * gcov-dump.c (print_version): Likewise.
7756         * mips-tfile.c (main): Likewise.
7757         * mips-tdump.c (main): Likewise.
7758
7759 2012-01-01  Ira Rosen  <irar@il.ibm.com>
7760
7761         PR tree-optimization/51704
7762         * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Check that
7763         a use is inside the basic block or loop before accessing its vect info.
7764
7765 2012-01-01  Jan Hubicka  <jhjh@suse.cz>
7766
7767         PR rtl-optimization/51069
7768         * cfgloopmanip.c (remove_path): Removing path making irreducible
7769         region unconditional makes BB part of the region.
7770
7771 2012-01-01  Jakub Jelinek  <jakub@redhat.com>
7772
7773         PR tree-optimization/51683
7774         * tree-ssa-propagate.c (substitute_and_fold): Don't optimize away
7775         calls with side-effects.
7776         * tree-ssa-ccp.c (ccp_fold_stmt): Likewise.
7777 \f
7778 Copyright (C) 2012 Free Software Foundation, Inc.
7779
7780 Copying and distribution of this file, with or without modification,
7781 are permitted in any medium without royalty provided the copyright
7782 notice and this notice are preserved.