OSDN Git Service

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