OSDN Git Service

Backport from mainline
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2013-07-05  Uros Bizjak  <ubizjak@gmail.com>
2
3         Backport from mainline
4         2013-06-20  Uros Bizjak  <ubizjak@gmail.com>
5
6         PR target/57655
7         * config/i386/i386.c (construct_container): Report error if
8         long double is used with disabled x87 float returns.
9
10 2013-06-21  David Edelsohn  <dje.gcc@gmail.com>
11
12         Backport from mainline
13         2013-06-19  David Edelsohn  <dje.gcc@gmail.com>
14
15         PR driver/57652
16         * collect2.c (collect_atexit): New.
17         (collect_exit): Delete.
18         (main): Register collect_atexit with atexit.
19         (collect_wait): Change collect_exit to exit.
20         (do_wait): Same.
21         * collect2.h (collect_exit): Delete.
22         * tlink.c (do_tlink): Rename exit to ret. Change collect_exit to exit.
23
24 2013-06-07  Uros Bizjak  <ubizjak@gmail.com>
25
26         Backport from mainline
27         2013-06-10  Uros Bizjak  <ubizjak@gmail.com>
28
29         * config/alpha/alpha.c (alpha_emit_xfloating_compare): Also use
30         cmp_code to construct REG_EQUAL note.
31
32         Backport from mainline
33         2013-06-05  Uros Bizjak  <ubizjak@gmail.com>
34
35         * config/alpha/alpha.c (alpha_emit_conditional_move): Swap all
36         GE, GT, GEU and GTU compares, modulo DImode compares with zero.
37
38         Backport from mainline
39         2013-05-23  Uros Bizjak  <ubizjak@gmail.com>
40
41         PR target/57379
42         * config/alpha/alpha.md (unspec): Add UNSPEC_XFLT_COMPARE.
43         * config/alpha/alpha.c (alpha_emit_xfloating_compare): Construct
44         REG_EQUAL note as UNSPEC_XFLT_COMPARE unspec.
45
46 2013-06-09  Jakub Jelinek  <jakub@redhat.com>
47
48         PR target/57568
49         * config/i386/i386.md (TARGET_READ_MODIFY_WRITE peepholes): Ensure
50         that operands[2] doesn't overlap with operands[0].
51
52 2013-05-22  Uros Bizjak  <ubizjak@gmail.com>
53
54         PR target/57356
55         * config/i386/i386.md (*movti_internal_rex64): Emit movaps/movups
56         for non-sse2 targets.  Simplify mode attribute calculation.
57
58 2013-05-17  Uros Bizjak  <ubizjak@gmail.com>
59
60         Backport from mainline
61         2013-05-16  Uros Bizjak  <ubizjak@gmail.com>
62
63         * config/i386/driver-i386.c (host_detect_local_cpu): Determine
64         cache parameters using detect_caches_amd also for CYRIX,
65         NSC and TM2 signatures.
66
67         2013-05-16  Uros Bizjak  <ubizjak@gmail.com>
68                     Dzianis Kahanovich  <mahatma@eu.by>
69
70         PR target/45359
71         PR target/46396
72         * config/i386/driver-i386.c (host_detect_local_cpu): Detect
73         VIA/Centaur processors and determine their cache parameters
74         using detect_caches_amd.
75
76         2013-05-15  Uros Bizjak  <ubizjak@gmail.com>
77
78         * config/i386/i386.c (ix86_option_override_internal): Add
79         PTA_POPCNT to corei7 entry.
80
81 2013-05-14  Richard Biener  <rguenther@suse.de>
82
83         PR gcov-profile/57269
84         Backport from mainline
85         2012-06-30  Nathan Sidwell  <nathan@acm.org>
86
87         * coverage.c (coverage_init): Read counts file before writing
88         graph header.
89
90 2013-05-13  Uros Bizjak  <ubizjak@gmail.com>
91
92         PR target/57264
93         Backport from mainline
94         2013-01-22  Jakub Jelinek  <jakub@redhat.com>
95
96         PR target/55686
97         * config/i386/i386.md (UNSPEC_STOS): New.
98         (strset_singleop, *strsetdi_rex_1, *strsetsi_1, *strsethi_1,
99         *strsetqi_1): Add UNSPEC_STOS.
100
101 2013-05-10  Joey Ye  <joey.ye@arm.com>
102
103         Backport from mainline
104         2012-11-29  Matthew Gretton-Dann  <matthew.gretton-dann@linaro.org>
105
106         PR target/54974
107         * config/arm/arm.md (thumb2_pool_range, pool_range): Add comment on
108         Thumb pool ranges.
109         (thumb1_extendhisi2): Reduce Thumb pool range.
110         (arm_movdi): Likewise.
111         (thumb1_movdi_insn): Likewise.
112         (thumb1_movsi_insn): Likewise.
113         (pic_load_addr_unified): Likewise.
114         (pic_load_addr_32bit): Likewise.
115         (pic_load_addr_thumb1): Likewise.
116         (thumb1_movhf): Likewise.
117         (arm_movsf_soft_insn): Likewise.
118         (thumb1_movsf_soft_insn): Likewise.
119         (movdf_soft_insn): Likewise.
120         (thumb1_movdf_soft_insn): Likewise.
121         * config/arm/neon.md (*neon_mov<mode>): Likewise.
122         (*neon_mov<mode>): Likwise.
123         * config/arm/thumb2.md: (*thumb2_movsi_insn): Likewise.
124         (*thumb2_movhi_insn): Likewise.
125         (*thumb2_extendqisi_v6): Likewise.
126         (*thumb2_zero_extendqisi_v6): Likewise.
127         (*thumb2_zero_extendqisi2_v6): Likewise.
128         * config/arm/vfp.md: (*thumb2_movsi_vfp): Likewise.
129         (*movdi_vfp): Likewise.
130         (*movdi_vfp_cortexa8): Likewise.
131         (*thumb2_movsf_vfp): Likewise.
132         (*thumb2_movdf_vfp): Likewise.
133
134 2013-05-10  Sebastian Huber  <sebastian.huber@embedded-brains.de>
135
136         * config/arm/t-rtems-eabi: Remove mthumb/march=armv7 multilib.
137         Add mthumb/march=armv7-a multilib.
138         Add mthumb/march=armv7-r multilib.
139         Add mthumb/march=armv7-a/mfpu=neon/mfloat-abi=hard multilib.
140
141 2013-05-10  Ralf Corsépius  <ralf.corsepius@rtems.org>
142
143         PR target/57237
144         * config/v850/t-rtems: Add more multilibs.
145
146 2013-05-07  Michael Meissner  <meissner@linux.vnet.ibm.com>
147
148         Backport from trunk
149         2013-05-03  Michael Meissner  <meissner@linux.vnet.ibm.com>
150
151         PR target/57150
152         * config/rs6000/rs6000.h (HARD_REGNO_CALLER_SAVE_MODE): Use DFmode
153         to save TFmode registers and DImode to save TImode registers for
154         caller save operations.
155         (HARD_REGNO_CALL_PART_CLOBBERED): TFmode and TDmode do not need to
156         mark being partially clobbered since they only use the first
157         double word.
158
159         * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): TFmode
160         and TDmode only use the upper 64-bits of each VSX register.
161
162 2013-05-03  Marek Polacek  <polacek@redhat.com>
163
164         Backport from mainline
165         2013-04-25  Marek Polacek  <polacek@redhat.com>
166
167         PR tree-optimization/57066
168         * builtins.c (fold_builtin_logb): Return +Inf for -Inf.
169
170 2013-04-30  Uros Bizjak  <ubizjak@gmail.com>
171
172         Backport from mainline
173         2013-04-29  Uros Bizjak  <ubizjak@gmail.com>
174
175         PR target/44578
176         * config/i386/i386.md (*zero_extendsidi2_rex64): Add "!" to m->?*y
177         alternative.
178         (*zero_extendsidi2): Ditto.
179
180         Backport from mainline
181         2013-04-29  Uros Bizjak  <ubizjak@gmail.com>
182
183         PR target/57098
184         * config/i386/i386.c (ix86_expand_vec_perm): Validize constant memory.
185
186 2013-04-29  Christian Bruel  <christian.bruel@st.com>
187
188         PR target/57108
189         * sh.md (tstsi_t_zero_extract_eq): Set mode for operand 0.
190
191 2013-04-27  Jakub Jelinek  <jakub@redhat.com>
192
193         PR target/56866
194         * config/i386/sse.md (xop_rotr<mode>3): Fix up computation of
195         the immediate rotate count.
196
197 2013-04-21  Eric Botcazou  <ebotcazou@adacore.com>
198
199         * cfgexpand.c (avoid_complex_debug_insns): Fix C++ism.
200
201 2013-04-19  Matthias Klose  <doko@ubuntu.com>
202
203         PR middle-end/56848
204         Re-apply
205         2013-04-01  Andrey Belevantsev  <abel@ispras.ru>
206
207         Backport from mainline
208         2013-02-25  Andrey Belevantsev  <abel@ispras.ru>
209         Alexander Monakov  <amonakov@ispras.ru>
210
211         PR middle-end/56077
212         * sched-deps.c (sched_analyze_insn): When reg_pending_barrier,
213         flush pending lists also on non-jumps.  Adjust comment.
214
215         Backport from 4.8:
216         2012-08-27  Maxim Kuvyrkov  <maxim@codesourcery.com>
217
218         * sched-deps.c (add_dependence_list_and_free): Simplify.
219         (flush_pending_list_and_free): Fix a hack that was fixing a hack.  Free
220         lists when add_dependence_list_and_free doesn't free them.
221
222 2013-04-19  Marek Polacek  <polacek@redhat.com>
223
224         Backport from mainline
225         2013-01-08  Steven Bosscher  <steven@gcc.gnu.org>
226                     Jakub Jelinek  <jakub@redhat.com>
227
228         PR tree-optimization/48189
229         * predict.c (predict_loops): If max is 0, don't call compare_tree_int.
230         If nitercst is 0, don't predict the exit edge.
231
232 2013-04-16  Jack Howarth  <howarth@bromo.med.uc.edu>
233
234         Backport from mainline
235         2012-05-29  Jack Howarth  <howarth@bromo.med.uc.edu>
236         * config/darwin.h (STARTFILE_SPEC): Use -no_new_main with -lgcrt1.o
237         on Darwin >= 12.
238         (DARWIN_CRT1_SPEC): Use -lcrt1.10.6.o when Darwin >= 10 and < 12.
239
240
241         2012-05-29  Jack Howarth  <howarth@bromo.med.uc.edu>
242         PR debug/53453
243         * doc/tm.texi: Update.
244         * doc/tm.texi.in (SDB and DWARF) <TARGET_FORCE_AT_COMP_DIR>: Add @hook.
245         * target.def (force_at_comp_dir): New hook.
246         * config/darwin.h (TARGET_FORCE_AT_COMP_DIR): Define.
247         * dwarf2out.c (dwarf2out_finish): Check targetm.force_at_comp_dir.
248
249 2013-04-15  Eric Botcazou  <ebotcazou@adacore.com>
250
251         PR target/56890
252         * config/sparc/sparc.c (enum sparc_mode_class): Add H_MODE value.
253         (S_MODES): Set H_MODE bit.
254         (SF_MODES): Set only S_MODE and SF_MODE bits.
255         (DF_MODES): Set SF_MODES and only D_MODE and DF_MODE bits.
256         (sparc_init_modes) <MODE_INT>: Set H_MODE bit for sub-word modes.
257         <MODE_VECTOR_INT>: Do not set SF_MODE for sub-word modes.
258         <MODE_FLOAT>: Likewise.
259
260 2013-04-13  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
261
262         Backport from mainline:
263         2013-04-06  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
264
265         PR target/55487
266         * config/pa/pa.c (legitimize_pic_address): Before incrementing label
267         nuses, make sure we have a label.
268
269 2013-04-11  Richard Biener  <rguenther@suse.de>
270
271         * BASE-VER: Set to 4.7.4.
272         * DEV-PHASE: Set to prerelease.
273
274 2013-04-11  Release Manager
275
276         * GCC 4.7.3 released.
277
278 2013-04-10  David S. Miller  <davem@davemloft.net>
279
280         * config/sparc/sparc.h (ASM_CPU_SPEC): Pass -Av8 if -mcpu=supersparc
281         or -mcpu=hypersparc.
282
283 2013-04-05  Eric Botcazou  <ebotcazou@adacore.com>
284
285         PR middle-end/56848
286         Revert
287         2013-04-01  Andrey Belevantsev  <abel@ispras.ru>
288
289         Backport from mainline
290         2013-02-25  Andrey Belevantsev  <abel@ispras.ru>
291         Alexander Monakov  <amonakov@ispras.ru>
292
293         PR middle-end/56077
294         * sched-deps.c (sched_analyze_insn): When reg_pending_barrier,
295         flush pending lists also on non-jumps.  Adjust comment.
296
297 2013-04-03  Richard Biener  <rguenther@suse.de>
298
299         PR tree-optimization/56501
300         * tree-switch-conversion.c (check_process_case): Properly
301         handle !single_succ_p case.
302
303 2013-04-03  Jakub Jelinek  <jakub@redhat.com>
304
305         Backported from mainline
306         2013-03-06  Jakub Jelinek  <jakub@redhat.com>
307
308         PR tree-optimization/56539
309         * tree-tailcall.c (adjust_return_value_with_ops): Use GSI_SAME_STMT
310         instead of GSI_CONTINUE_LINKING as last argument to
311         force_gimple_operand_gsi.  Adjust function comment.
312
313         2013-03-05  Jakub Jelinek  <jakub@redhat.com>
314
315         PR debug/56510
316         * cfgexpand.c (expand_debug_parm_decl): Call copy_rtx on incoming.
317         (avoid_complex_debug_insns): New function.
318         (expand_debug_locations): Call it.
319
320 2013-04-02  Wei Mi  <wmi@google.com>
321
322         * config/i386/i386.c (ix86_rtx_costs): Set proper rtx cost for
323         ashl<mode>3_mask, *<shift_insn><mode>3_mask and
324         *<rotate_insn><mode>3_mask in i386.md.
325
326 2013-04-02  Richard Biener  <rguenther@suse.de>
327
328         PR middle-end/56768
329         Backport from mainline
330         2012-05-16  Richard Guenther  <rguenther@suse.de>
331
332         * tree-inline.c (declare_return_variable): Properly handle
333         DECL_BY_REFERENCE return vars in SSA form.
334
335 2013-04-01  Wei Mi  <wmi@google.com>
336
337         * config/i386/i386.md (*ashl<mode>3_mask): Rewrite as define_insn.
338         Truncate operand 2 using %b asm operand modifier.
339         (*<shift_insn><mode>3_mask): Ditto.
340         (*<rotate_insn><mode>3_mask): Ditto.
341
342 2013-04-01  Uros Bizjak  <ubizjak@gmail.com>
343
344         * config/i386/i386.md (*movsf_internal): Change type of
345         alternatives 3,4 to imov.
346
347 2013-04-01  Andrey Belevantsev  <abel@ispras.ru>
348
349         Backport from mainline
350         2013-02-27  Andrey Belevantsev  <abel@ispras.ru>
351
352         PR middle-end/45472
353         * sel-sched-ir.c (merge_expr): Also change vinsn of merged expr
354         when the may_trap_p bit of the exprs being merged differs.
355         Reorder tests for speculativeness in the logical and operator.
356
357         Backport from mainline
358          2013-03-05  Jakub Jelinek  <jakub@redhat.com>
359
360         PR middle-end/56461
361         * sel-sched-ir.c (free_sched_pools): Release
362         succs_info_pool.stack[succs_info_pool.max_top] vectors too
363         if succs_info_pool.max_top isn't -1.
364
365 2013-04-01  Andrey Belevantsev  <abel@ispras.ru>
366
367         Backport from mainline
368         2012-02-19  Andrey Belevantsev  <abel@ispras.ru>
369
370         PR middle-end/55889
371         * sel-sched.c: Include ira.h.
372         (implicit_clobber_conflict_p): New function.
373         (moveup_expr): Use it.
374         * Makefile.in (sel-sched.o): Depend on ira.h.
375
376 2013-04-01  Andrey Belevantsev  <abel@ispras.ru>
377
378         Backport from mainline
379         2013-02-25  Andrey Belevantsev  <abel@ispras.ru>
380         Alexander Monakov  <amonakov@ispras.ru>
381
382         PR middle-end/56077
383         * sched-deps.c (sched_analyze_insn): When reg_pending_barrier,
384         flush pending lists also on non-jumps.  Adjust comment.
385
386 2013-03-30  Gerald Pfeifer  <gerald@pfeifer.com>
387
388         * doc/invoke.texi (AVR Options): Tweak link for AVR-LibC user manual.
389         * doc/extend.texi (Named Address Spaces): Ditto.
390         (Variable Attributes): Ditto.
391
392 2013-03-28  Eric Botcazou  <ebotcazou@adacore.com>
393
394         * toplev.c (process_options): Do not disable -fomit-frame-pointer on a
395         general basis if unwind info is requested and ACCUMULATE_OUTGOING_ARGS
396         is not enabled.
397
398 2013-03-27  Walter Lee  <walt@tilera.com>
399
400         Backport from mainline:
401         2013-03-27  Walter Lee  <walt@tilera.com>
402
403         * config/tilegx/tilegx.c (tilegx_expand_prologue): Avoid
404         double-decrement of next_scratch_regno.
405
406 2013-03-27  Walter Lee  <walt@tilera.com>
407
408         Backport from mainline:
409         2013-03-27  Walter Lee  <walt@tilera.com>
410
411         * config/tilegx/tilegx.md (insn_v1mulu): Fix predicates on
412         input operands.
413         (insn_v1mulus): Ditto.
414         (insn_v2muls): Ditto.
415
416 2013-03-27  Walter Lee  <walt@tilera.com>
417
418         Backport from mainline:
419         2013-03-27  Walter Lee  <walt@tilera.com>
420
421         * config/tilegx/tilegx.h (ASM_OUTPUT_ADDR_VEC_ELT): Delete
422         extra tab.
423         (ASM_OUTPUT_ADDR_DIFF_ELT): Ditto.
424
425 2013-03-27  Walter Lee  <walt@tilera.com>
426
427         Backport from mainline:
428         2013-03-27  Walter Lee  <walt@tilera.com>
429
430         * config/tilegx/tilegx.md (*sibcall_insn): Fix type atribute
431         for jr.
432         (*sibcall_value): Ditto.
433
434 2013-03-27  Walter Lee  <walt@tilera.com>
435
436         Backport from mainline:
437         2013-03-27  Walter Lee  <walt@tilera.com>
438
439         * config/tilegx/tilegx.md (insn_mnz_<mode>): Replaced by ...
440         (insn_mnz_v8qi): ... this ...
441         (insn_mnz_v4hi): ... and this.  Replace (const_int 0) with the
442         vector equivalent.
443         (insn_v<n>mnz): Replaced by ...
444         (insn_v1mnz): ... this ...
445         (insn_v2mnz): ... and this.  Replace (const_int 0) with the vector
446         equivalent.
447         (insn_mz_<mode>): Replaced by ...
448         (insn_mz_v8qi): ... this ...
449         (insn_mz_v4hi): ... and this.  Replace (const_int 0) with the
450         vector equivalent.
451         (insn_v<n>mz): Replaced by ...
452         (insn_v1mz): ... this ...
453         (insn_v2mz): ... and this.  Replace (const_int 0) with the vector
454         equivalent.
455
456 2013-03-26  Eric Botcazou  <ebotcazou@adacore.com>
457
458         * doc/invoke.texi (SPARC options): Remove -mlittle-endian.
459
460 2013-03-26  Richard Biener  <rguenther@suse.de>
461
462         Backport from mainline:
463         2013-03-13  Richard Biener  <rguenther@suse.de>
464
465         PR tree-optimization/56608
466         * tree-vect-slp.c (vect_schedule_slp): Do not remove scalar
467         calls when vectorizing basic-blocks.
468
469         2013-03-05  Richard Biener  <rguenther@suse.de>
470
471         PR tree-optimization/56270
472         * tree-vect-slp.c (vect_schedule_slp): Clear vectorized stmts
473         of loads after scheduling an SLP instance.
474
475 2013-03-26  Walter Lee  <walt@tilera.com>
476
477         Backport from mainline:
478         2013-03-26  Walter Lee  <walt@tilera.com>
479
480         * config/tilegx/tilegx.h (PROFILE_BEFORE_PROLOGUE): Define.
481         * config/tilegx/tilepro.h (PROFILE_BEFORE_PROLOGUE): Define.
482
483 2013-03-26  Walter Lee  <walt@tilera.com>
484
485         Backport from mainline:
486         2013-03-25  Walter Lee  <walt@tilera.com>
487
488         * config/tilegx/tilegx-builtins.h (enum tilegx_builtin): Add
489         TILEGX_INSN_SHUFFLEBYTES1.
490         * config/tilegx/tilegx.c (tilegx_builtin_info): Add entry for
491         shufflebytes1.
492         (tilegx_builtins): Ditto.
493         * config/tilegx/tilegx.md (insn_shufflebytes1): New pattern.
494
495 2013-03-26  Walter Lee  <walt@tilera.com>
496
497         Backport from mainline:
498         2013-03-25  Walter Lee  <walt@tilera.com>
499
500         * config/tilegx/tilegx.c (expand_set_cint64_one_inst): Inline
501         tests for constraint J, K, N, P.
502
503 2013-03-26  Walter Lee  <walt@tilera.com>
504
505         Backport from mainline:
506         2013-03-25  Walter Lee  <walt@tilera.com>
507
508         * config/tilegx/tilegx.c (tilegx_asm_preferred_eh_data_format):
509         Use indirect/pcrel encoding.
510         * config/tilepro/tilepro.c (tilepro_asm_preferred_eh_data_format):
511         Ditto.
512
513 2013-03-25  Oleg Endo  <olegendo@gcc.gnu.org>
514
515         Backport from mainline:
516         2013-03-13  Oleg Endo  <olegendo@gcc.gnu.org>
517         2013-03-14  Kaz Kojima  <kkojima@gcc.gnu.org>
518
519         PR target/49880
520         * config/sh/sh.opt (FPU_SINGLE_ONLY): New mask.
521         (musermode): Convert to Var(TARGET_USERMODE).
522         * config/sh/sh.h (SELECT_SH2A_SINGLE_ONLY, SELECT_SH4_SINGLE_ONLY,
523         MASK_ARCH): Add MASK_FPU_SINGLE_ONLY.
524         * config/sh/sh.c (sh_option_override): Use
525         TARGET_FPU_DOUBLE || TARGET_FPU_SINGLE_ONLY for call-fp case.
526         * config/sh/sh.md (udivsi3_i1, divsi3_i1): Remove ! TARGET_SH4
527         condition.
528         (udivsi3_i4, divsi3_i4): Use TARGET_FPU_DOUBLE condition instead of
529         TARGET_SH4.
530         (udivsi3_i4_single, divsi3_i4_single): Use
531         TARGET_FPU_SINGLE_ONLY || TARGET_FPU_DOUBLE instead of TARGET_HARD_SH4.
532         * config/sh/linux.h (TARGET_DEFAULT): Remove MASK_USERMODE.
533         (SUBTARGET_OVERRIDE_OPTIONS): Set TARGET_USERMODE as default.
534         * config/sh/netbsd-elf.h (TARGET_DEFAULT): Remove MASK_USERMODE.
535         (SUBTARGET_OVERRIDE_OPTIONS): New.
536
537 2013-03-25  Oleg Endo  <olegendo@gcc.gnu.org>
538
539         Backport from mainline:
540         2012-04-03  Kaz Kojima  <kkojima@gcc.gnu.org>
541
542         * config/sh/t-sh (MULTILIB_MATCHES): Match m2a-single-only
543         to m2a-single instead of m2e.
544
545 2013-03-22  H.J. Lu  <hongjiu.lu@intel.com>
546
547         PR target/56560
548         * config/i386/i386.h (ix86_args): Define only if USED_FOR_TARGET
549         isn't defined.
550
551 2013-03-22  H.J. Lu  <hongjiu.lu@intel.com>
552
553         PR target/56560
554         * config/i386/i386.c (init_cumulative_args): Also set
555         cum->callee_return_avx256_p.
556         (ix86_function_arg): Set cum->callee_pass_avx256_p.  Set
557         cfun->machine->callee_pass_avx256_p only when MODE == VOIDmode.
558
559         * config/i386/i386.h (ix86_args): Add callee_pass_avx256_p and
560         callee_return_avx256_p.
561
562 2013-03-20  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
563
564         Backport from mainline:
565         2012-12-04  Ian Lance Taylor  <iant@google.com>
566
567         * godump.c (find_dummy_types): Output a dummy type if we couldn't
568         output the real type.
569
570 2013-03-20  Jack Howarth  <howarth@bromo.med.uc.edu>
571
572         PR bootstrap/56258
573         * doc/generic.texi (POINTER_PLUS_EXPR): Use @item instead of @itemx.
574         (PLUS_EXPR): Likewise.
575         * doc/cppopts.texi (--help): Likewise.
576         * doc/invoke.texi (-fenable-@var{kind}-@var{pass}): Likewise.
577         (-fdump-rtl-cprop_hardreg): Likewise.
578         (-fdump-rtl-csa): Likewise.
579         (-fdump-rtl-dce): Likewise.
580         (-fdump-rtl-dbr): Likewise.
581         (-fdump-rtl-into_cfglayout): Likewise.
582         (-fdump-rtl-outof_cfglayout): Likewise.
583
584 2013-03-18  Richard Earnshaw  <rearnsha@arm.com>
585
586         PR target/56470
587         * config/arm/arm.c (shift_op): Validate RTL pattern on the fly.
588         (arm_print_operand, case 'S'): Don't use shift_operator to validate
589         the RTL.
590
591 2013-03-14  Seth LaForge  <sethml@google.com>
592
593         PR target/56351
594         Backport from mainline
595         2012-10-22  Julian Brown  <julian@codesourcery.com>
596
597         * config/arm/arm.h (CANNOT_CHANGE_MODE_CLASS): Avoid subreg'ing
598         VFP D registers in big-endian mode.
599
600 2013-03-08  Joey Ye  <joey.ye@arm.com>
601
602         Backport from mainline
603         2013-03-06  Joey Ye  <joey.ye@arm.com>
604
605         PR lto/50293
606         * gcc.c (convert_white_space): New function.
607         (main): Handles white space in function name.
608
609 2013-03-06  Oleg Endo  <olegendo@gcc.gnu.org>
610
611         Backport from mainline
612         2013-03-06  Oleg Endo  <olegendo@gcc.gnu.org>
613
614         PR target/56529
615         * config/sh/sh.c (sh_option_override): Check for TARGET_DYNSHIFT
616         instead of TARGET_SH2 for call-table case.  Do not set sh_div_strategy
617         to SH_DIV_CALL_TABLE for TARGET_SH2.
618         * config.gcc (sh_multilibs): Add m2 and m2a to sh*-*-linux* multilib
619         list.
620         * doc/invoke.texi (SH options): Use table for mdiv= option.  Document
621         mdiv= call-div1, call-fp, call-table options.
622
623 2013-03-06  Sebastian Huber <sebastian.huber@embedded-brains.de>
624
625         * config.gcc (arm*-*-rtemself*): New.
626         (arm*-*-rtems*): Removed.
627         (arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtemseabi*): Rename
628         "arm*-*-rtemseabi*" to "arm*-*-rtems*".
629
630 2013-03-01  Richard Biener  <rguenther@suse.de>
631
632         Backport from mainline
633         2012-12-12  Zdenek Dvorak  <ook@ucw.cz>
634
635         PR tree-optimization/55481
636         * tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Fall
637         back to general rewriting if we cannot leave an original biv
638         definition alone.
639
640 2013-03-01  Richard Biener  <rguenther@suse.de>
641
642         Backport from mainline
643         2012-04-10  Richard Guenther  <rguenther@suse.de>
644
645         PR middle-end/52888
646         * gimple-low.c (gimple_check_call_args): Properly account for
647         compatible aggregate types.
648
649 2013-02-26  Nick Clifton  <nickc@redhat.com>
650
651         PR target/56453
652         Import this patch from the mainline:
653
654         2012-08-17  Nick Clifton  <nickc@redhat.com>
655
656         * config/fr30/fr30.md (cbranchsi4): Remove mode from comparison.
657         (branch_true): Likewise.
658         (branch_false): Likewise.
659
660 2013-02-26  Jakub Jelinek  <jakub@redhat.com>
661
662         PR tree-optimization/56443
663         * tree-vect-stmts.c (get_vectype_for_scalar_type_and_size): For
664         overaligned types, pass TYPE_UNSIGNED (scalar_type) as second argument
665         to type_for_mode langhook.
666
667 2013-02-21  Jakub Jelinek  <jakub@redhat.com>
668
669         PR bootstrap/56258
670         * doc/invoke.texi (-fdump-rtl-pro_and_epilogue): Use @item
671         instead of @itemx.
672
673 2013-02-19  Jakub Jelinek  <jakub@redhat.com>
674
675         Backported from mainline
676         2013-02-19  Jakub Jelinek  <jakub@redhat.com>
677
678         PR tree-optimization/56350
679         * tree-vect-loop.c (vectorizable_reduction): If orig_stmt, return false
680         if haven't found reduction or nested cycle operand, rather than
681         asserting we must find it.
682
683         PR tree-optimization/56381
684         * tree-ssa-pre.c (create_expression_by_pieces): Fix up last argument
685         to fold_build3.
686
687         2013-02-08  Jakub Jelinek  <jakub@redhat.com>
688
689         PR tree-optimization/56250
690         * fold-const.c (extract_muldiv_1) <case NEGATE_EXPR>: Don't optimize
691         if type is unsigned and code isn't MULT_EXPR.
692
693         2013-02-06  Jakub Jelinek  <jakub@redhat.com>
694
695         PR middle-end/56217
696         * omp-low.c (use_pointer_for_field): Return false if
697         lower_send_shared_vars doesn't generate any copy-out code.
698
699         2012-11-27  Jakub Jelinek  <jakub@redhat.com>
700
701         PR tree-optimization/55110
702         * tree-vect-loop.c (vectorizable_reduction): Don't assert
703         that STMT_VINFO_RELATED_STMT of orig_stmt is stmt.
704
705 2013-02-18  Richard Biener  <rguenther@suse.de>
706
707         Revert
708         2013-02-04  Richard Biener  <rguenther@suse.de>
709
710         Backport from mainline
711         2012-07-04  Richard Guenther  <rguenther@suse.de>
712
713         PR tree-optimization/53844
714         * tree-ssa-dse.c (dse_possible_dead_store_p): Properly handle
715         the loop virtual PHI.
716
717 2013-02-13  David S. Miller  <davem@davemloft.net>
718
719         * expmed.c (expand_shift_1): Only strip scalar integer subregs.
720
721 2013-02-11  Uros Bizjak  <ubizjak@gmail.com>
722
723         Backport from mainline
724         2013-02-11  Uros Bizjak  <ubizjak@gmail.com>
725
726         PR rtl-optimization/56275
727         * simplify-rtx.c (avoid_constant_pool_reference): Check that
728         offset is non-negative and less than cmode size before
729         calling simplify_subreg.
730
731 2013-02-09  Uros Bizjak  <ubizjak@gmail.com>
732
733         Backport from mainline
734         2013-02-08  Uros Bizjak  <ubizjak@gmail.com>
735
736         * config/i386/sse.md (FMAMODEM): New mode iterator.
737         (fma<mode>4, fms<mode>4, fnma<mode>4, fnms<mode>4): Use FMAMODEM
738         mode iterator. Do not use TARGET_SSE_MATH in insn constraint.
739
740         2013-02-08  Uros Bizjak  <ubizjak@gmail.com>
741
742         * config/i386/gnu-user.h (TARGET_CAN_SPLIT_STACK): Define only
743         when HAVE_GAS_CFI_PERSONALITY_DIRECTIVE is set.
744         * config/i386/gnu-user64.h (TARGET_CAN_SPLIT_STACK): Ditto.
745
746 2013-02-08  Michael Meissner  <meissner@linux.vnet.ibm.com>
747
748         Backport from mainline
749         2013-02-08  Michael Meissner  <meissner@linux.vnet.ibm.com>
750
751         PR target/56043
752         * config/rs6000/rs6000.c (rs6000_builtin_vectorized_libmass):
753         If there is no implicit builtin declaration, just return NULL.
754
755 2013-02-08  David Edelsohn  <dje.gcc@gmail.com>
756             Michael Meissner  <meissner@linux.vnet.ibm.com>
757
758         Backport from mainline
759         * config/rs6000/rs6000.c (rs6000_option_override_internal): Clear
760         MASK_VSX from set_masks if OS_MISSING_ALTIVEC.
761
762 2013-02-07  David S. Miller  <davem@davemloft.net>
763
764         * dwarf2out.c (based_loc_descr): Perform leaf register remapping
765         on 'reg'.
766         * var-tracking.c (vt_add_function_parameter): Test the presence of
767         HAVE_window_save properly and do not remap argument registers when
768         we have a leaf function.
769
770 2013-02-07  Uros Bizjak  <ubizjak@gmail.com>
771
772         Backport from mainline
773         2013-02-07  Uros Bizjak  <ubizjak@gmail.com>
774
775         PR bootstrap/56227
776         * ggc-page.c (ggc_print_statistics): Use HOST_LONG_LONG_FORMAT
777         instead of "ll".
778         * config/i386/i386.c (ix86_print_operand): Ditto.
779
780 2013-02-07  Alan Modra  <amodra@gmail.com>
781
782         PR target/53040
783         * config/rs6000/rs6000.c (rs6000_savres_strategy): When using
784         static chain, set REST_INLINE_FPRS too.
785
786 2013-02-06  David Edelsohn  <dje.gcc@gmail.com>
787
788         Backport from mainline
789         2013-01-25  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
790
791         * configure.ac (gcc_cv_ld_static_dynamic): Define for AIX native ld.
792         * configure: Regenerate.
793
794 2013-02-05  David Edelsohn  <dje.gcc@gmail.com>
795
796         Backport from mainline
797         2013-02-03  David Edelsohn  <dje.gcc@gmail.com>
798                     Andrew Dixie  <andrewd@gentrack.com>
799
800         * collect2.c (GCC_CHECK_HDR): Do not scan objects with F_LOADONLY
801         flag set.
802
803 2013-02-05  Richard Biener  <rguenther@suse.de>
804
805         Backport from mainline
806         2012-12-10  Richard Biener  <rguenther@suse.de>
807
808         PR tree-optimization/55107
809         * tree-ssa-pre.c (struct pre_stats): Remove constified field.
810         (bitmap_set_replace_value): Add gcc_unreachable.
811         (do_regular_insertion): Re-write all_same handling.  Insert
812         an assignment instead of a PHI in this case.
813         (execute_pre): Do not record constified events.
814
815 2013-02-05  Richard Biener  <rguenther@suse.de>
816
817         PR tree-optimization/54767
818         * tree-vrp.c (vrp_visit_phi_node): For PHI arguments coming via
819         backedges drop all symbolical range information.
820         (execute_vrp): Compute backedges.
821
822 2013-02-04  Richard Biener  <rguenther@suse.de>
823
824         Backport from mainline
825         2012-01-11  Richard Guenther  <rguenther@suse.de>
826
827         PR tree-optimization/44061
828         * tree-vrp.c (extract_range_basic): Compute zero as
829         value-range for __builtin_constant_p of function parameters.
830
831         2013-01-08  Jakub Jelinek  <jakub@redhat.com>
832
833         PR middle-end/55890
834         * tree-ssa-ccp.c (evaluate_stmt): Use gimple_call_builtin_class_p.
835
836 2013-02-04  Richard Biener  <rguenther@suse.de>
837
838         Backport from mainline
839         2012-07-04  Richard Guenther  <rguenther@suse.de>
840
841         PR tree-optimization/53844
842         * tree-ssa-dse.c (dse_possible_dead_store_p): Properly handle
843         the loop virtual PHI.
844
845         2012-12-13  Richard Biener  <rguenther@suse.de>
846
847         PR lto/55660
848         * tree-streamer.c (record_common_node): Check that we are not
849         recursively pre-loading nodes we want to skip.  Handle
850         char_type_node appearing as part of va_list_type_node.
851
852 2013-02-04  Richard Biener  <rguenther@suse.de>
853
854         PR middle-end/55890
855         * gimple.h (gimple_call_builtin_class_p): New function.
856         * gimple.c (validate_call): New function.
857         (gimple_call_builtin_class_p): Likewise.
858         * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
859         Use gimple_call_builtin_class_p.
860         (find_func_clobbers): Likewise.
861         * tree-ssa-strlen.c (adjust_last_stmt): Likewise.
862         (strlen_optimize_stmt): Likewise.
863
864 2013-02-01  Jakub Jelinek  <jakub@redhat.com>
865
866         Backported from mainline
867         2013-01-28  Jakub Jelinek  <jakub@redhat.com>
868
869         PR tree-optimization/56125
870         * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Don't optimize
871         pow(x,c) into sqrt(x) * powi(x, n/2) or
872         1.0 / (sqrt(x) * powi(x, abs(n/2))) if c is an integer or when
873         optimizing for size.
874         Don't optimize pow(x,c) into powi(x, n/3) * powi(cbrt(x), n%3) or
875         1.0 / (powi(x, abs(n)/3) * powi(cbrt(x), abs(n)%3)) if 2c is an
876         integer.
877
878         2013-01-25  Jakub Jelinek  <jakub@redhat.com>
879
880         PR tree-optimization/56098
881         * tree-ssa-phiopt.c (nt_init_block): Don't call add_or_mark_expr
882         for stmts with volatile ops.
883         (cond_store_replacement): Don't optimize if assign has volatile ops.
884         (cond_if_else_store_replacement_1): Don't optimize if either
885         then_assign or else_assign have volatile ops.
886
887         2013-01-23  Jakub Jelinek  <jakub@redhat.com>
888
889         PR target/49069
890         * config/arm/arm.md (cbranchdi4, cstoredi4): Use s_register_operand
891         instead of cmpdi_operand for first comparison operand.
892         Don't assert that comparison operands aren't both constants.
893
894         2013-01-21  Jakub Jelinek  <jakub@redhat.com>
895
896         PR tree-optimization/56051
897         * fold-const.c (fold_binary_loc): Don't fold
898         X < (cast) (1 << Y) into (X >> Y) != 0 if cast is either
899         a narrowing conversion, or widening conversion from signed
900         to unsigned.
901
902         2013-01-18  Jakub Jelinek  <jakub@redhat.com>
903
904         PR middle-end/56015
905         * expr.c (expand_expr_real_2) <case COMPLEX_EXPR>: Handle
906         the case where writing real complex part of target modifies
907         op1.
908
909         2013-01-15  Jakub Jelinek  <jakub@redhat.com>
910
911         PR target/55940
912         * function.c (thread_prologue_and_epilogue_insns): Always
913         add crtl->drap_reg to set_up_by_prologue.set, even if
914         stack_realign_drap is false.
915
916         2013-01-10  Jakub Jelinek  <jakub@redhat.com>
917
918         PR tree-optimization/55921
919         * tree-complex.c (expand_complex_asm): New function.
920         (expand_complex_operations_1): Call it for GIMPLE_ASM.
921
922         2013-01-03  Jakub Jelinek  <jakub@redhat.com>
923
924         PR rtl-optimization/55838
925         * loop-iv.c (iv_number_of_iterations): Call lowpart_subreg on
926         iv0.step, iv1.step and step.
927
928         2012-11-23  Jakub Jelinek  <jakub@redhat.com>
929
930         PR c++/54046
931         * Makefile.in (gimple-low.o): Depend on langhooks.h.
932         * gimple-low.c: Include langhooks.c.
933         (block_may_fallthru): Handle TARGET_EXPR and ERROR_MARK,
934         by default call lang_hooks.block_may_fallthru.
935         * langhooks.h (struct lang_hooks): Add block_may_fallthru
936         langhook.
937         * langhooks-def.h (LANG_HOOKS_BLOCK_MAY_FALLTHRU): Define.
938         (LANG_HOOKS_INITIALIZER): Use it.
939
940         2012-11-20  Jakub Jelinek  <jakub@redhat.com>
941
942         PR middle-end/55094
943         * builtins.c (expand_builtin_trap): Add REG_ARGS_SIZE note
944         on the trap insn for !ACCUMULATE_OUTGOING_ARGS.
945         * cfgcleanup.c (outgoing_edges_match): Don't look at debug insns
946         on the first old_insns_match_p call.  For !ACCUMULATE_OUTGOING_ARGS
947         fail if the last real insn doesn't have REG_ARGS_SIZE note.
948
949         2012-11-17  Jakub Jelinek  <jakub@redhat.com>
950
951         PR tree-optimization/55236
952         * fold-const.c (make_range_step) <case NEGATE_EXPR>: For -fwrapv
953         and signed ARG0_TYPE, force low and high to be non-NULL.
954
955         2012-11-13  Jakub Jelinek  <jakub@redhat.com>
956
957         PR rtl-optimization/54127
958         * cfgrtl.c (force_nonfallthru_and_redirect): When redirecting
959         asm goto labels from BB_HEAD (e->dest) to target bb, decrement
960         LABEL_NUSES of BB_HEAD (e->dest) and increment LABEL_NUSES of
961         BB_HEAD (target) appropriately and adjust JUMP_LABEL and/or
962         REG_LABEL_TARGET and REG_LABEL_OPERAND.
963
964 2013-02-01  Eric Botcazou  <ebotcazou@adacore.com>
965
966         * fold-const.c (make_range_step) <TRUTH_NOT_EXPR>: Bail out if the
967         range isn't testing for zero.
968
969 2013-01-29  Richard Biener  <rguenther@suse.de>
970
971         PR tree-optimization/56113
972         * tree-ssa-structalias.c (equiv_class_lookup): Also return
973         the bitmap leader.
974         (label_visit): Free duplicate bitmaps and record the leader instead.
975         (perform_var_substitution): Adjust.
976
977 2013-01-28  Serowk  <serowk@yandex.ru>
978
979         PR target/35294
980         * config/arm/arm.c (arm_expand_binop_builtin): Add new parameter.
981         Fix mode checks to allow for the passing of constants in the
982         second parameter.
983         (arm_expand_builtin): Adjust calls to arm_expand_binop_builtin.
984         Add entries in the switch statement for builtin iwmmxt vector
985         shift and rotate builtins.
986
987 2013-01-27  Uros Bizjak  <ubizjak@gmail.com>
988
989         Backport from mainline
990         2013-01-27  Uros Bizjak  <ubizjak@gmail.com>
991
992         PR target/56114
993         * config/i386/i386.md (*movabs<mode>_1): Add square brackets around
994         operand 0 in movabs insn template for -masm=intel asm alternative.
995         (*movabs<mode>_2): Ditto for operand 1.
996
997 2013-01-27  Uros Bizjak  <ubizjak@gmail.com>
998
999         Backport from mainline
1000         2013-01-22  Uros Bizjak  <ubizjak@gmail.com>
1001
1002         PR target/56028
1003         * config/i386/i386.md (*movti_internal_rex64): Change (o,riF)
1004         alternative to (o,r).
1005         (*movdi_internal_rex64): Remove (!o,n) alternative.
1006         (DImode immediate->memory splitter): Remove.
1007         (DImode immediate->memory peephole2): Remove.
1008         (movtf): Enable for TARGET_64BIT || TARGET_SSE.
1009         (*movtf_internal_rex64): Rename from *movtf_internal. Change (!o,F*r)
1010         alternative to (!o,*r).
1011         (*movtf_internal_sse): New pattern.
1012         (*movxf_internal_rex64): New pattern.
1013         (*movxf_internal): Disable for TARGET_64BIT.
1014         (*movdf_internal_rex64): Remove (!o,F) alternative.
1015
1016         2013-01-23  Uros Bizjak  <ubizjak@gmail.com>
1017
1018         * config/i386/i386.md (*movdf_internal_rex64): Disparage alternatives
1019         involving stack registers slightly.
1020
1021         2013-01-24  Uros Bizjak  <ubizjak@gmail.com>
1022
1023         * config/i386/constraints.md (Yf): New constraint.
1024         * config/i386/i386.md (*movdf_internal_rex64): Use Yf*f instead
1025         of f constraint to conditionaly disable x87 register preferences.
1026         (*movdf_internal): Ditto.
1027         (*movsf_internal): Ditto.
1028
1029         2012-01-24  Uros Bizjak  <ubizjak@gmail.com>
1030
1031         * config/i386/i386.md (*movti_internal_rex64): Add (o,e) alternative.
1032         (*movtf_internal_rex64): Add (!o,C) alternative
1033         (*movxf_internal_rex64): Ditto.
1034         (*movdf_internal_rex64): Add (?r,C) and (?m,C) alternatives.
1035
1036 2013-01-25  Georg-Johann Lay  <avr@gjlay.de>
1037
1038         * doc/invoke.texi (AVR Built-in Macros): Document __XMEGA__.
1039
1040 2013-01-24  Martin Jambor  <mjambor@suse.cz>
1041
1042         Backport from mainline
1043         2013-01-04  Martin Jambor  <mjambor@suse.cz>
1044
1045         PR tree-optimization/55755
1046         * tree-sra.c (sra_modify_assign): Do not check that an access has no
1047         children when trying to avoid producing a VIEW_CONVERT_EXPR.
1048
1049 2013-01-21  Uros Bizjak  <ubizjak@gmail.com>
1050
1051         Backport from mainline
1052         2013-01-21  Uros Bizjak  <ubizjak@gmail.com>
1053
1054         * config/i386/i386.md (enabled): Do not disable fma4 for TARGET_FMA.
1055
1056 2013-01-21  Uros Bizjak  <ubizjak@gmail.com>
1057
1058         PR rtl-optimization/56023
1059         * haifa-sched.c (fix_inter_tick): Do not update ticks of instructions,
1060         dependent on debug instruction.
1061
1062 2013-01-21  Martin Jambor  <mjambor@suse.cz>
1063
1064         Backport from mainline
1065         2013-01-17  Martin Jambor  <mjambor@suse.cz>
1066
1067         PR tree-optimizations/55264
1068         * cgraph.c (cgraph_create_virtual_clone): Mark clones as non-virtual.
1069         * cgraph.h (cgraph_only_called_directly_p_or_aliased_p): Return false
1070         for virtual functions.
1071         * ipa-inline-transform.c (can_remove_node_now_p_1): Never return true
1072         for virtual methods.
1073         * ipa.c (cgraph_remove_unreachable_nodes): Never return true for
1074         virtual methods before inlining is over.
1075
1076 2013-01-17  Uros Bizjak  <ubizjak@gmail.com>
1077
1078         Backport from mainline
1079         2012-01-17  Uros Bizjak  <ubizjak@gmail.com>
1080
1081         PR target/55981
1082         * config/i386/sync.md (atomic_store<mode>): Generate SWImode
1083         store through atomic_store<mode>_1.
1084         (atomic_store<mode>_1): Macroize insn using SWI mode iterator.
1085
1086 2013-01-16  Richard Biener  <rguenther@suse.de>
1087
1088         PR middle-end/55882
1089         * emit-rtl.c (set_mem_attributes_minus_bitpos): Correctly
1090         account for bitpos when computing alignment.
1091
1092 2013-01-14  Georg-Johann Lay  <avr@gjlay.de>
1093
1094         Backport from 2013-01-14 trunk r195169.
1095
1096         PR target/55974
1097         * config/avr/avr-c.c (avr_cpu_cpp_builtins): Define __FLASH
1098         etc. to 1 and not to __flash.
1099         Use LL suffix for __INT24_MAX__ with -mint8.
1100         Use ULL suffix for __UINT24_MAX__ with -mint8.
1101
1102 2013-01-14  Matthias Klose  <doko@ubuntu.com>
1103
1104         * doc/invoke.texi: Document -print-multiarch.
1105         * doc/install.texi: Document --enable-multiarch.
1106         * doc/fragments.texi: Document MULTILIB_OSDIRNAMES, MULTIARCH_DIRNAME.
1107         * configure.ac: Add --enable-multiarch option.
1108         Substitute with_cpu, with_float.
1109         * configure: Regenerate.
1110         * Makefile.in (s-mlib): Pass MULTIARCH_DIRNAME to genmultilib.
1111         enable_multiarch, with_cpu, with_float: New macros.
1112         if_multiarch: New macro, define in terms of enable_multiarch.
1113         * genmultilib: Add new argument for the multiarch name.
1114         * gcc.c (multiarch_dir): Define.
1115         (for_each_path): Search for multiarch suffixes.
1116         (driver_handle_option): Handle multiarch option.
1117         (do_spec_1): Pass -imultiarch if defined.
1118         (main): Print multiarch.
1119         (set_multilib_dir): Separate multilib and multiarch names
1120         from multilib_select.
1121         (print_multilib_info): Ignore multiarch names in multilib_select.
1122         * incpath.c (add_standard_paths): Search the multiarch include dirs.
1123         * cppdefault.h (default_include): Document multiarch in multilib
1124         member.
1125         * cppdefault.c: [LOCAL_INCLUDE_DIR, STANDARD_INCLUDE_DIR] Add an
1126         include directory for multiarch directories.
1127         * common.opt: New options --print-multiarch and -imultilib.
1128
1129         * config.gcc <i[34567]86-*-linux* | x86_64-*-linux*> (tmake_file):
1130         Include i386/t-linux.
1131         <i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu> (tmake_file):
1132         Include i386/t-kfreebsd.
1133         <i[34567]86-*-gnu*> (tmake_file): Include i386/t-gnu.
1134         * config/i386/t-linux64: Add multiarch names in
1135         MULTILIB_OSDIRNAMES, define MULTIARCH_DIRNAME.
1136         * config/i386/t-gnu: New file.
1137         * config/i386/t-kfreebsd: Likewise.
1138         * config/i386/t-linux: Likewise.
1139
1140         * config/sparc/t-linux64: Add multiarch names in MULTILIB_OSDIRNAMES.
1141         * config/sparc/t-linux: New file; define MULTIARCH_DIRNAME.
1142         * config.gcc <sparc-*-linux*> (tmake_file): Include sparc/t-linux
1143         for 32bit non-biarch configurations.
1144
1145         * config/pa/t-linux: New file; define MULTIARCH_DIRNAME.
1146         * config.gcc <hppa*64*-*-linux*, hppa*-*-linux*> (tmake_file):
1147         Include pa/t-linux.
1148
1149         * config/mips/t-linux64: Add multiarch names in MULTILIB_OSDIRNAMES.
1150
1151         * config/arm/t-linux-eabi: Define MULTIARCH_DIRNAME for linux target.
1152
1153         * config/rs6000/t-linux64: Add multiarch names in MULTILIB_OSDIRNAMES.
1154         * config/rs6000/t-linux: New file; define MULTIARCH_DIRNAME.
1155         * config/rs6000/t-fprules (SOFT_FLOAT_CPUS): New macro. Add e300c2
1156         to the list.
1157         (MULTILIB_MATCHES_FLOAT): Define in terms of SOFT_FLOAT_CPUS.
1158         * config.gcc <powerpc-*-linux* | powerpc64-*-linux*> (tmake_file):
1159         Include rs6000/t-linux for 32bit non-biarch configurations.
1160
1161         * config/s390/t-linux64: Add multiarch names in MULTILIB_OSDIRNAMES.
1162
1163         * config/m68k/t-linux: Define MULTIARCH_DIRNAME.
1164
1165         * config/ia64/t-linux: New file; define MULTIARCH_DIRNAME.
1166         * config.gcc <ia64*-*-linux*> (tmake_file): Include ia64/t-linux.
1167
1168         * config/alpha/t-linux: New file; define MULTIARCH_DIRNAME.
1169         * config.gcc <alpha*-*-linux*> (tmake_file): Include alpha/t-linux.
1170
1171 2013-01-14  Eric Botcazou  <ebotcazou@adacore.com>
1172
1173         * tree-vectorizer.h (vect_get_single_scalar_iteraion_cost): Fix typo.
1174         * tree-vect-loop.c (vect_get_single_scalar_iteraion_cost): Likewise.
1175         (vect_estimate_min_profitable_iter): Adjust to above fix.
1176         * tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost): Likewise.
1177
1178 2013-01-11  Michael Meissner  <meissner@linux.vnet.ibm.com>
1179
1180         Backport from mainline
1181         2013-01-11  Michael Meissner  <meissner@linux.vnet.ibm.com>
1182
1183         * doc/extend.texi (X86 Built-in Functions): Add whitespace in
1184         __builtin_ia32_paddb256 and __builtin_ia32_pavgb256
1185         documentation.  Add missing '__' in front of
1186         __builtin_ia32_packssdw256.
1187
1188 2013-01-09  Uros Bizjak  <ubizjak@gmail.com>
1189
1190         Backport from mainline
1191         2013-01-09  Uros Bizjak  <ubizjak@gmail.com>
1192
1193         * config/i386/sse.md (*vec_interleave_highv2df): Change mode
1194         attribute of movddup insn to DF.
1195         (*vec_interleave_lowv2df): Ditto.
1196         (vec_dupv2df): Ditto.
1197
1198 2013-01-07  Georg-Johann Lay  <avr@gjlay.de>
1199
1200         Backport from 2013-01-07 trunk r194991, r194992.
1201
1202         PR target/55897
1203         * doc/extend.texi (AVR Named Address Spaces): __memx goes into
1204         .progmemx.data now.
1205
1206         * config/avr/avr.h (ADDR_SPACE_COUNT): New enum.
1207         (avr_addrspace_t): Add .section_name field.
1208         * config/avr/avr.c (progmem_section): Use ADDR_SPACE_COUNT as
1209         array size.
1210         (avr_addrspace): Same.  Initialize .section_name.  Remove last
1211         NULL entry.  Put __memx into .progmemx.data.
1212         (progmem_section_prefix): Remove.
1213         (avr_asm_init_sections): No need to initialize progmem_section.
1214         (avr_asm_named_section): Use avr_addrspace[].section_name to get
1215         section name prefix.
1216         (avr_asm_select_section): Ditto.  And use get_unnamed_section to
1217         retrieve the progmem section.
1218         * avr-c.c (avr_cpu_cpp_builtins): Use ADDR_SPACE_COUNT as loop
1219         boundary to run over avr_addrspace[].
1220         (avr_register_target_pragmas): Ditto.
1221
1222 2013-01-07  Georg-Johann Lay  <avr@gjlay.de>
1223
1224         Backport from 2013-01-07 trunk r194978.
1225
1226         PR target/54461
1227         * doc/install.texi (Cross-Compiler-Specific Options): Document
1228         --with-avrlibc.
1229
1230 2013-01-07  Georg-Johann Lay  <avr@gjlay.de>
1231
1232         Backport from 2013-01-07 trunk r194968.
1233
1234         PR other/55243
1235         * config/avr/t-avr: Don't automatically rebuild
1236         $(srcdir)/config/avr/t-multilib
1237         $(srcdir)/config/avr/avr-tables.opt
1238         (avr-mcus): New phony target to build them on request.
1239         (s-avr-mlib): Remove.
1240         * avr/avr-mcus.def: Adjust comments.
1241
1242 2013-01-07  Terry Guo  <terry.guo@arm.com>
1243
1244         Backport from mainline
1245         2012-12-19  Terry Guo  <terry.guo@arm.com>
1246
1247         * config/arm/arm.c (thumb_find_work_register): Check argument
1248         register number based on current PCS.
1249
1250 2013-01-06  Uros Bizjak  <ubizjak@gmail.com>
1251
1252         Backport from mainline
1253         2013-01-03  Uros Bizjak  <ubizjak@gmail.com>
1254
1255         PR target/55712
1256         * config/i386/i386-c.c (ix86_target_macros_internal): Depending on
1257         selected code model, define __code_mode_small__, __code_model_medium__,
1258         __code_model_large__, __code_model_32__ or __code_model_kernel__.
1259         * config/i386/cpuid.h (__cpuid, __cpuid_count) [__i386__]: Prefix
1260         xchg temporary register with %k.  Declare temporary register as
1261         early clobbered.
1262         [__x86_64__]: For medium and large code models, preserve %rbx register.
1263
1264 2013-01-03  Richard Henderson  <rth@redhat.com>
1265
1266         * config/i386/i386.c (ix86_expand_move): Always assign to op1
1267         after eliminating TLS symbols.
1268
1269 2013-01-03  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1270
1271         PR target/53789
1272         * config/pa/pa.md (movsi): Revert previous change.
1273         * config/pa/pa.c (pa_legitimate_constant_p): Reject all TLS symbol
1274         references.
1275
1276 2013-01-02  Rainer Emrich  <rainer@emrich-ebersheim.de>
1277
1278         PR bootstrap/55707
1279         * graphite-dependences.c (hash_poly_ddr_p): Cast from pointer via
1280         intptr_t.
1281
1282 2013-01-02  Jason Merrill  <jason@redhat.com>
1283
1284         PR c++/55804
1285         * tree.c (build_array_type_1): Revert earlier change.
1286
1287 2012-12-25  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1288
1289         PR target/53789
1290         * config/pa/pa.md (movsi): Reject expansion of TLS symbol references
1291         after reload starts.
1292
1293 2012-12-21  Martin Jambor  <mjambor@suse.cz>
1294
1295         PR tree-optimization/55355
1296         * tree-sra.c (type_internals_preclude_sra_p): Also check that
1297         bit_position is small enough to fit a single HOST_WIDE_INT.
1298
1299 2012-12-21  Matthew Gretton-Dann  <matthew.gretton-dann@linaro.org>
1300
1301         * config.gcc: Match arm*-*-uclinux*eabi* for EABI uCLinux.
1302
1303 2012-12-18  Matthew Gretton-Dann  <matthew.gretton-dann@linaro.org>
1304
1305         Backport from mainline
1306         2012-10-15  Matthias Klose  <doko@ubuntu.com>
1307
1308         * config.gcc: Match arm*-*-linux-* for ARM Linux/GNU.
1309         * doc/install.texi: Use arm-*-*linux-* instead of arm-*-*linux-gnueabi.
1310
1311 2012-12-16  Eric Botcazou  <ebotcazou@adacore.com>
1312             Tomash Brechko  <tomash.brechko@gmail.com>
1313
1314         PR target/55673
1315         * config/sparc/sparc.c (sparc_emit_membar_for_model): Fix reversed
1316         handling of before and after cases.
1317         * config/sparc/sync.md (atomic_store): Fix pasto.
1318
1319 2012-12-14  Yvan Roux  <yvan.roux@linaro.org>
1320
1321         * optabs.c (expand_atomic_store): Elide redundant model test.
1322
1323 2012-12-13  Richard Henderson  <rth@redhat.com>
1324
1325         PR middle-end/55492
1326         * optabs.c (expand_atomic_load): Emit acquire barrier after the load.
1327
1328 2012-12-11  Eric Botcazou  <ebotcazou@adacore.com>
1329
1330         PR target/54121
1331         * config/sparc/sparc.md (tldo_stb_sp32): Fix pasto.
1332         (tldo_stb_sp64): Likewise.
1333         (tldo_sth_sp32): Likewise.
1334         (tldo_sth_sp64): Likewise.
1335         (tldo_stw_sp32): Likewise.
1336         (tldo_stw_sp64): Likewise.
1337         (tldo_stx_sp64): Likewise.
1338
1339 2012-12-10 Kai Tietz  <ktietz@redhat.com>
1340
1341         PR target/53912
1342         * print-tree.c (print_node): Cast from pointer via uintptr_t.
1343
1344 2012-12-07  Uros Bizjak  <ubizjak@gmail.com>
1345
1346         Backport from mainline
1347         2012-12-06  Uros Bizjak  <ubizjak@gmail.com>
1348                     H.J. Lu  <hongjiu.lu@intel.com>
1349
1350         PR target/55597
1351         * config/i386/i386.c (legitimize_tls_address): Zero-extend x to Pmode,
1352         before using it as insn or call equivalent.
1353
1354 2012-12-06  Jason Merrill  <jason@redhat.com>
1355
1356         PR c++/55032
1357         * tree.c (build_array_type_1): Re-layout if we found it in the
1358         hash table.
1359
1360 2012-12-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1361
1362         * config/pa/pa.md: Use "const_int 0" instead of match_test to simplify
1363         opaque cond in all call insns.
1364
1365 2012-12-03  Eric Botcazou  <ebotcazou@adacore.com>
1366
1367         * config/ia64/ia64.c (ia64_compute_frame_size): Allocate the scratch
1368         area if the function allocates dynamic stack space.
1369         (ia64_initial_elimination_offset): Adjust offsets to above change.
1370
1371 2012-12-03  Richard Biener  <rguenther@suse.de>
1372
1373         Backport from mainline
1374         2012-09-24  Richard Guenther  <rguenther@suse.de>
1375
1376         PR tree-optimization/53663
1377         * tree-ssa-sccvn.c (vn_reference_lookup_3): Conditional
1378         native encode/interpret translation on VN_WALKREWRITE.
1379
1380 2012-12-03 Kai Tietz  <ktietz@redhat.com>
1381
1382         PR target/53912
1383         * ggc-common.c (POINTER_HASH): Cast from pointer via intptr_t.
1384
1385         PR target/53912
1386         * tree-dump.c (dump_pointer): Print pointer via HOST_WIDE_INT_PRINT.
1387
1388         PR target/53912
1389         * pointer-set.c (hash1): Cast from pointer via uintptr_t.
1390
1391 2012-12-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1392
1393         Backport from mainline:
1394         2012-11-12  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1395
1396         PR target/55195
1397         * config/pa/pa.md (type): Add sibcall and sh_func_adrs insn types.
1398         (in_branch_delay): Don't allow sibcall or sh_func_adrs insns.
1399         (in_nullified_branch_delay): Likewise.
1400         (in_call_delay): Likewise.
1401         Define delay for sibcall insns.  Adjust Z3 and Z4 insn reservations for
1402         new types.  Add opaque cond to mark all calls, sibcalls, dyncalls and
1403         the $$sh_func_adrs call as variable.  Update type of sibcalls and
1404         $$sh_func_adrs call.
1405         * config/pa/pa.c (pa_adjust_insn_length): Revise to return updated
1406         length instead of adjustment.  Handle negative and undefined call
1407         adjustments for insn_default_length.  Remove adjustment for millicode
1408         insn with unfilled delay slot.
1409         (pa_output_millicode_call): Update for revised millicode length.
1410         * config/pa/pa.h (ADJUST_INSN_LENGTH): Revise to set LENGTH.
1411
1412 2012-11-29  Kai Tietz  <ktietz@redhat.com>
1413
1414         PR target/55171
1415         * prefix.c (lookup_key): Replace xmalloc/xrealloc
1416         use by XNEWVEC/XRESIZEVEC.
1417
1418         * i386.c (get_scratch_register_on_entry): Handle
1419         thiscall-convention.
1420         (split_stack_prologue_scratch_regno): Likewise.
1421         (ix86_static_chain): Likewise.
1422         (x86_output_mi_thunk): Likewise.
1423
1424 2012-11-28  H.J. Lu  <hongjiu.lu@intel.com>
1425
1426         Backported from mainline
1427         2012-11-27  H.J. Lu  <hongjiu.lu@intel.com>
1428                     Markus Trippelsdorf  <markus@trippelsdorf.de>
1429
1430         PR lto/54795
1431         * lto-opts.c (lto_write_options): Also handle
1432         OPT_SPECIAL_unknown, OPT_SPECIAL_ignore and
1433         OPT_SPECIAL_program_name.
1434
1435         PR lto/55474
1436         * lto-wrapper.c (merge_and_complain): Handle
1437         OPT_SPECIAL_unknown, OPT_SPECIAL_ignore,
1438         OPT_SPECIAL_program_name and OPT_SPECIAL_input_file.
1439
1440 2012-11-27  Paolo Bonzini  <pbonzini@redhat.com>
1441
1442         PR rtl-optimization/55489
1443         * gcse.c (compute_transp): Precompute a canonical version
1444         of XEXP (x, 0), and pass it to canon_true_dependence.
1445
1446 2012-11-27  Richard Biener  <rguenther@suse.de>
1447
1448         PR middle-end/55331
1449         * gimple-fold.c (gimplify_and_update_call_from_tree): Replace
1450         stmt with a NOP instead of removing it.
1451
1452 2012-11-26  Richard Biener  <rguenther@suse.de>
1453
1454         Backport from mainline
1455         2012-10-19  Richard Biener  <rguenther@suse.de>
1456
1457         PR tree-optimization/54976
1458         * tree-vect-stmts.c (get_vectype_for_scalar_type_and_size):
1459         Robustify against odd inner_mode inputs.
1460
1461         2012-10-12  Richard Biener  <rguenther@suse.de>
1462
1463         PR tree-optimization/54894
1464         * tree-vect-stmts.c (get_vectype_for_scalar_type_and_size):
1465         Handle over-aligned scalar types properly.
1466
1467         2012-10-02  Richard Guenther  <rguenther@suse.de>
1468
1469         PR middle-end/54735
1470         * tree-ssa-pre.c (do_pre): Make sure to update virtual SSA form before
1471         cleaning up the CFG.
1472
1473 2012-11-21  Michael Meissner  <meissner@linux.vnet.ibm.com>
1474
1475         Backport from mainline
1476         2012-11-20  Michael Meissner  <meissner@linux.vnet.ibm.com>
1477
1478         * config/rs6000/rs6000.md (movdf_hardfloat32): Add a comment
1479         explaining the register ordering preferences.
1480
1481         2012-11-19  Michael Meissner  <meissner@linux.vnet.ibm.com>
1482         * config/rs6000/rs6000.md (movdf_hardfloat32): Reorder move
1483         constraints so that the traditional floating point loads, stores,
1484         and moves are done first, then the VSX loads, stores, and moves,
1485         and finally the GPR loads, stores, and moves so that reload
1486         chooses FPRs over GPRs, and uses the traditional load/store
1487         instructions which provide an offset.
1488         (movdf_hardfloat64): Likewise.
1489
1490 2012-11-19  H.J. Lu  <hongjiu.lu@intel.com>
1491
1492         Backported from mainline
1493         2012-11-13  Eric Botcazou  <ebotcazou@adacore.com>
1494                     H.J. Lu  <hongjiu.lu@intel.com>
1495
1496         PR middle-end/55142
1497         * config/i386/i386.c (legitimize_pic_address): Properly handle
1498         REG + CONST.
1499         (ix86_print_operand_address): Set code to 'k' when forcing
1500         addr32 prefix.  For x32, zero-extend negative displacement if
1501         it < -16*1024*1024.
1502
1503 2012-11-12  Eric Botcazou  <ebotcazou@adacore.com>
1504
1505         * common.opt (fvar-tracking-uninit): Document.
1506         * toplev.c (process_options): Fix handling of flag_var_tracking_uninit.
1507         * config/darwin.c (darwin_override_options): Likewise.
1508
1509 2012-11-11  Eric Botcazou  <ebotcazou@adacore.com>
1510
1511         * config/sparc/sparc.h (AS_NIAGARA3_FLAG): Tweak.
1512         * config/sparc/sol2.h (TARGET_CPU_niagara4 support): Fix pasto.
1513
1514 2012-11-09  Eric Botcazou  <ebotcazou@adacore.com>
1515
1516         * doc/install.texi (sparc64-x-solaris2): Mention MPC as well.
1517
1518 2012-11-09  Eric Botcazou  <ebotcazou@adacore.com>
1519
1520         * config/i386/i386.c (release_scratch_register_on_entry): Also adjust
1521         sp_offset manually.
1522
1523 2012-11-07  Uros Bizjak  <ubizjak@gmail.com>
1524
1525         Backport from mainline
1526         2012-11-06  Uros Bizjak  <ubizjak@gmail.com>
1527
1528         * config/i386/i386.c (ix86_init_machine_status): Do not
1529         explicitly clear tls_descriptor_call_expanded_p again.
1530
1531         2012-11-06  Uros Bizjak  <ubizjak@gmail.com>
1532
1533         * config/i386/sse.md
1534         (<avx_avx2>_maskstore<ssemodesuffix><avxsizesuffix>): Mark operand 0
1535         as read and written by the instruction.
1536
1537         2012-11-06  Uros Bizjak  <ubizjak@gmail.com>
1538
1539         * config/i386/i386.c (TARGET_INSTANTIATE_DECLS): New define.
1540         (ix86_instantiate_decls): New function.
1541         (ix86_expand_builtin) <case IX86_BUILTIN_LDMXCSR>: Use SLOT_TEMP
1542         stack slot instead of SLOT_VIRTUAL.
1543         <case IX86_BUILTIN_STMXCSR>: Ditto.
1544         (assign_386_stack_local): Do not assert when virtual slot is valid.
1545         * config/i386/i386.h (enum ix86_stack_slot): Remove SLOT_VIRTUAL.
1546         * config/i386/i386.md (truncdfsf2): Do not use SLOT_VIRTUAL stack slot.
1547         (truncxf<mode>2): Ditto.
1548         (floatunssi<mode>2): Ditto.
1549         (isinf<mode>2): Ditto.
1550         * config/i386/sync.md (atomic_load<mode>): Ditto.
1551         (atomic_store<mode>): Ditto.
1552
1553 2012-11-07  Eric Botcazou  <ebotcazou@adacore.com>
1554
1555         PR middle-end/55219
1556         * fold-const.c (fold_binary_op_with_conditional_arg): Do not fold if
1557         the argument is itself a conditional expression.
1558
1559 2012-11-05  H.J. Lu  <hongjiu.lu@intel.com>
1560
1561         * config/i386/i386.c (print_reg): Replace REX_INT_REG_P with
1562         REX_INT_REGNO_P.
1563
1564 2012-11-05  Eric Botcazou  <ebotcazou@adacore.com>
1565
1566         PR tree-optimization/54986
1567         * gimple-fold.c (canonicalize_constructor_val): Strip again all no-op
1568         conversions on entry but add them back on exit if needed.
1569
1570 2012-11-05  Richard Sandiford  <rdsandiford@googlemail.com>
1571
1572         PR target/55204
1573         * config/i386/i386.c (ix86_address_subreg_operand): Remove stack
1574         pointer check.
1575         (print_reg): Use true_regnum rather than REGNO.
1576         (ix86_print_operand_address): Remove SUBREG handling.
1577
1578 2012-11-05  Jakub Jelinek  <jakub@redhat.com>
1579
1580         Backported from mainline
1581         2012-10-24  Jakub Jelinek  <jakub@redhat.com>
1582
1583         PR debug/54828
1584         * gimple.h (is_gimple_sizepos): New inline function.
1585         * gimplify.c (gimplify_one_sizepos): Use it.  Remove useless
1586         final assignment to expr variable.
1587         * tree.c (RETURN_TRUE_IF_VAR): Return true also if
1588         !TYPE_SIZES_GIMPLIFIED (type) and _t is going to be gimplified
1589         into a local temporary.
1590
1591         2012-10-10  Jakub Jelinek  <jakub@redhat.com>
1592
1593         PR tree-optimization/54877
1594         * tree-vect-loop.c (vect_is_simple_reduction_1): For MINUS_EXPR
1595         use make_ssa_name instead of copy_ssa_name.
1596
1597 2012-11-03  Peter Bergner  <bergner@vnet.ibm.com>
1598
1599         Backport from mainline
1600         2012-10-31  Jakub Jelinek  <jakub@redhat.com>
1601
1602         PR tree-optimization/53708
1603         * tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Preserve
1604         user-supplied alignment when used with an explicit section name.
1605
1606 2012-11-02  Jeff Law  <law@redhat.com>
1607
1608         PR tree-optimization/54985
1609         * tree-ssa-threadedge.c (cond_arg_set_in_bb): New function extracted
1610         from thread_across_edge.
1611         (thread_across_edge): Use it in all cases where we might thread
1612         across a back edge.
1613
1614 2012-10-31  Eric Botcazou  <ebotcazou@adacore.com>
1615
1616         * config/i386/i386.c (ix86_expand_prologue): Emit frame info for the
1617         special register pushes before frame probing and allocation.
1618
1619 2012-10-31  Ralf Corsépius  <ralf.corsepius@rtems.org>,
1620             Joel Sherrill  <joel.sherrill@oarcorp.com>
1621
1622         * config/sparc/t-rtems: New (Custom multilibs).
1623         * config/sparc/t-rtems-64: New (Custom multilibs).
1624         * config.gcc (sparc64-*-rtems*): Add sparc/t-rtems-64.
1625         (sparc-*-rtems*): Add sparc/t-rtems.
1626
1627 2012-10-30  Eric Botcazou  <ebotcazou@adacore.com>
1628
1629         * cse.c (hash_rtx_cb): Replace RTX_UNCHANGING_P with MEM_READONLY_P in
1630         head comment.
1631         (hash_rtx): Likewise.
1632
1633 2012-10-29  Terry Guo  <terry.guo@arm.com>
1634
1635         Backport from mainline
1636         2012-10-11  Terry Guo  <terry.guo@arm.com>
1637
1638         * config/arm/arm.c (arm_arch6m): New variable to denote armv6-m
1639         architecture.
1640         * config/arm/arm.h (TARGET_HAVE_DMB): The armv6-m also has DMB
1641         instruction.
1642
1643 2012-10-26  Gunther Nikl  <gnikl@users.sourceforge.net>
1644
1645         * common/config/m68k/m68k-common.c (m68k_handle_option): Set
1646         gcc_options fields of opts_set for -m68020-40 and -m68020-60.
1647
1648 2012-10-26  Ralf Corsépius  <ralf.corsepius@rtems.org>
1649
1650         * config/avr/t-rtems: Revert previous commit.
1651
1652 2012-10-26  Terry Guo  <terry.guo@arm.com>
1653
1654         Backport from mainline
1655         2012-10-23  Terry Guo  <terry.guo@arm.com>
1656
1657         PR target/55019
1658         * config/arm/arm.c (thumb1_expand_prologue): Don't push high regs with
1659         live argument regs.
1660
1661 2012-10-26  Ralf Corsépius  <ralf.corsepius@rtems.org>
1662
1663         * config/avr/rtems.h (TARGET_OS_CPP_BUILTINS): Remove
1664         __USE_INIT_FINI__.
1665         * config/avr/t-rtems (LIB1ASMFUNCS): Filter out _exit.
1666
1667 2012-10-25  Ralf Corsépius  <ralf.corsepius@rtems.org>
1668
1669         * config.gcc (microblaze*-*-rtems*): New target.
1670         * config/microblaze/rtems.h: New.
1671         * config/microblaze/t-rtems: New.
1672
1673 2012-10-25  Richard Biener  <rguenther@suse.de>
1674
1675         PR tree-optimization/54902
1676         * tree-ssa-pre.c (fini_pre): Return TODO.
1677         (execute_pre): Adjust.
1678         * tree-ssa-tailmerge.c (tail_merge_optimize): Delete unreachable
1679         blocks before computing dominators.
1680
1681 2012-10-24  Uros Bizjak  <ubizjak@gmail.com>
1682
1683         Backport from mainline
1684         2012-10-22  Uros Bizjak  <ubizjak@gmail.com>
1685
1686         * config/i386/i386.c (memory_address_length): Assert that non-null
1687         base or index RTXes are registers.  Do not check for REG RTXes.
1688         Determine addr32 prefix using SImode_address_operand or
1689         from original base and index RTXes.  Simplify code.
1690
1691         2012-10-21  Uros Bizjak  <ubizjak@gmail.com>
1692
1693         * config/i386/i386-protos.h (memory_address_length): Add new bool
1694         argument.  Update all uses.
1695         * config/i386/i386.c (memory_address_length): If not LEA insn, then
1696         add length of addr32 prefix based on mode of base or index register.
1697         (ix86_attr_length_address_default) <TYPE_LEA>: Do not handle SImode
1698         addresses here.  Update call to memory_address_length.
1699         (ix86_print_address_operand): Use SImode_address_operand predicate.
1700         * config/i386/predicates.md (SImode_address_operand): New.
1701         * config/i386/i386.md (lea<mode>): Use SImode_address_operand
1702         to calculate "mode" attribute.  Use SImode_address_operand predicate
1703         instead of open-coding accepted RTX codes.
1704
1705 2012-10-22  Georg-Johann Lay  <avr@gjlay.de>
1706
1707         Backport from 2012-10-22 trunk r192685.
1708         * doc/invoke.texi (AVR Options): Document __AVR_ARCH__.
1709         Note __AVR_<device>__ is not defined for cores.
1710         Don't point to --help=target.
1711         Order --mcu= documentation according to trunk:/gcc/doc/avr-mmcu.texi.
1712
1713 2012-10-19  Marek Polacek  <polacek@redhat.com>
1714
1715         Backported from mainline
1716         2012-10-19  Marek Polacek  <polacek@redhat.com>
1717
1718         PR middle-end/54945
1719         * fold-const.c (fold_sign_changed_comparison):  Punt if folding
1720         pointer/non-pointer comparison.
1721
1722 2012-10-19  Zhenqiang Chen <zhenqiang.chen@linaro.org>
1723
1724         Backported from mainline
1725         2012-10-19  Zhenqiang Chen <zhenqiang.chen@linaro.org>
1726
1727         PR target/54892
1728         * config/arm/arm.c (arm_expand_compare_and_swap): Use SImode to make
1729         sure the mode is correct when falling through from above cases.
1730
1731 2012-10-19  Alan Modra  <amodra@gmail.com>
1732
1733         * configure.ac (HAVE_LD_NO_DOT_SYMS): Set if using gold.
1734         (HAVE_LD_LARGE_TOC): Likewise.
1735         * configure: Regenerate.
1736
1737 2012-10-19  Alan Modra  <amodra@gmail.com>
1738
1739         * config/rs6000/predicates.md (splat_input_operand): Don't call
1740         input_operand for MEMs.  Instead check for volatile and call
1741         memory_address_addr_space_p with modified mode.
1742
1743 2012-10-17  Matthew Gretton-Dann  <matthew.gretton-dann@linaro.org>
1744
1745         Backported from mainline
1746         2012-07-23  Ulrich Weigand  <ulrich.weigand@linaro.org>
1747
1748         * config/arm/arm.c (arm_reorg): Ensure all insns are split.
1749
1750 2012-10-16  Eric Botcazou  <ebotcazou@adacore.com>
1751
1752         PR rtl-optimization/54870
1753         * tree.h (TREE_ADDRESSABLE): Document special usage on SSA_NAME.
1754         * cfgexpand.c (update_alias_info_with_stack_vars ): Set it on the
1755         SSA_NAME pointer that points to a partition if there is at least
1756         one variable with it set in the partition.
1757         * dse.c (local_variable_can_escape): New predicate.
1758         (can_escape): Call it.
1759         * gimplify.c (mark_addressable): If this is a partitioned decl, also
1760         mark the SSA_NAME pointer that points to a partition.
1761
1762 2012-10-16  Andrey Belevantsev  <abel@ispras.ru>
1763
1764         Backport from mainline
1765         2012-08-09  Andrey Belevantsev  <abel@ispras.ru>
1766
1767         PR rtl-optimization/53701
1768         * sel-sched.c (vinsn_vec_has_expr_p): Clarify function comment.
1769         rocess not only expr's vinsns but all old vinsns from expr's
1770         istory of changes.
1771
1772 2012-10-16  Andrey Belevantsev  <abel@ispras.ru>
1773
1774         Backport from mainline
1775         2012-07-31  Andrey Belevantsev  <abel@ispras.ru>
1776         PR target/53975
1777
1778         * sel-sched-ir.c (has_dependence_note_reg_use): Clarify comment.
1779         Revert
1780         2011-08-04  Sergey Grechanik  <mouseentity@ispras.ru>
1781         * sel-sched-ir.c (has_dependence_note_reg_use): Call ds_full_merge
1782         only if producer writes to the register given by regno.
1783
1784 2012-09-15  Uros Bizjak  <ubizjak@gmail.com>
1785
1786         Backport from mainline
1787         2012-10-15  Uros Bizjak  <ubizjak@gmail.com>
1788
1789         * config/i386/sse.md (UNSPEC_MOVU): Remove.
1790         (UNSPEC_LOADU): New.
1791         (UNSPEC_STOREU): Ditto.
1792         (<sse>_movu<ssemodesuffix><avxsizesuffix>): Split to ...
1793         (<sse>_loadu<ssemodesuffix><avxsizesuffix>): ... this and ...
1794         (<sse>_storeu<ssemodesuffix><avxsizesuffix>) ... this.
1795         (<sse2>_movdqu<avxsizesuffix>): Split to ...
1796         (<sse2>_loaddqu<avxsizesuffix>): ... this and ...
1797         (<sse2>_storedqu<avxsizesuffix>): ... this.
1798         (*sse4_2_pcmpestr_unaligned): Update.
1799         (*sse4_2_pcmpistr_unaligned): Ditto.
1800
1801         * config/i386/i386.c (ix86_avx256_split_vector_move_misalign): Use
1802         gen_avx_load{dqu,ups,upd}256 to load from unaligned memory and
1803         gen_avx_store{dqu,ups,upd}256 to store to unaligned memory.
1804         (ix86_expand_vector_move_misalign): Use gen_sse_loadups or
1805         gen_sse2_load{dqu,upd} to load from unaligned memory and
1806         gen_sse_loadups or gen_sse2_store{dqu,upd}256 to store to
1807         unaligned memory.
1808         (struct builtin_description bdesc_spec) <IX86_BUILTIN_LOADUPS>:
1809         Use CODE_FOR_sse_loadups.
1810         <IX86_BUILTIN_LOADUPD>: Use CODE_FOR_sse2_loadupd.
1811         <IX86_BUILTIN_LOADDQU>: Use CODE_FOR_sse2_loaddqu.
1812         <IX86_BUILTIN_STOREUPS>: Use CODE_FOR_sse_storeups.
1813         <IX86_BUILTIN_STOREUPD>: Use CODE_FOR_sse2_storeupd.
1814         <IX86_BUILTIN_STOREDQU>: Use CODE_FOR_sse2_storedqu.
1815         <IX86_BUILTIN_LOADUPS256>: Use CODE_FOR_avx_loadups256.
1816         <IX86_BUILTIN_LOADUPD256>: Use CODE_FOR_avx_loadupd256.
1817         <IX86_BUILTIN_LOADDQU256>: Use CODE_FOR_avx_loaddqu256.
1818         <IX86_BUILTIN_STOREUPS256>: Use CODE_FOR_avx_storeups256.
1819         <IX86_BUILTIN_STOREUPD256>: Use CODE_FOR_avx_storeupd256.
1820         <IX86_BUILTIN_STOREDQU256>: Use CODE_FOR_avx_storedqu256.
1821
1822 2012-10-15  Steven Bosscher  <steven@gcc.gnu.org>
1823
1824         Backport from trunk (r190222):
1825
1826         PR tree-optimization/54146
1827         * ifcvt.c: Include pointer-set.h.
1828         (cond_move_process_if_block): Change type of then_regs and
1829         else_regs from alloca'd array to pointer_sets.
1830         (check_cond_move_block): Update for this change.
1831         (cond_move_convert_if_block): Likewise.
1832         * Makefile.in: Fix dependencies for ifcvt.o.
1833
1834 2012-10-15  Richard Guenther  <rguenther@suse.de>
1835
1836         PR tree-optimization/54920
1837         * tree-ssa-pre.c (create_expression_by_pieces): Properly
1838         allocate temporary storage for all NARY elements.
1839
1840 2012-10-08  Georg-Johann Lay  <avr@gjlay.de>
1841
1842         PR target/54854
1843         * doc/invoke.texi (AVR Options): Deprecate -mshort-calls.
1844
1845 2012-10-05  Mark Kettenis  <kettenis@openbsd.org>
1846
1847         * config.gcc (*-*-openbsd4.[3-9]|*-*-openbsd[5-9]*): Set
1848         default_use_cxa_atexit to yes.
1849
1850 2012-10-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1851
1852         * config/pa/pa.md: Adjust unamed HImode add insn pattern.
1853
1854 2012-10-05  Jan Hubicka  <jh@suse.cz>
1855             Jakub Jelinek  <jakub@redhat.com>
1856
1857         PR tree-optimization/33763
1858         * tree-inline.c (expand_call_inline): Silently ignore always_inline
1859         attribute for redefined extern inline functions.
1860
1861 2012-10-03  H.J. Lu  <hongjiu.lu@intel.com>
1862
1863         Backported from mainline
1864         2012-10-03  Andrew W. Nosenko <andrew.w.nosenko@gmail.com>
1865
1866         * config/i386/driver-i386.c (host_detect_local_cpu): Fix logic
1867         in SSE and YMM state support check for -march=native.
1868
1869 2012-10-03  Alexandre Oliva <aoliva@redhat.com>
1870
1871         PR debug/53135
1872         * dwarf2out.c (value_format): Use block4 for dw_val_class_loc
1873         when needed.
1874
1875 2012-10-02  H.J. Lu  <hongjiu.lu@intel.com>
1876
1877         Backported from mainline
1878         2012-10-02  H.J. Lu  <hongjiu.lu@intel.com>
1879
1880         PR target/54785
1881         * doc/invoke.texi: Document -mprefer-avx128.
1882
1883 2012-10-02  H.J. Lu  <hongjiu.lu@intel.com>
1884
1885         Backported from mainline
1886         2012-10-02  H.J. Lu  <hongjiu.lu@intel.com>
1887
1888         PR target/54741
1889         *  config/i386/driver-i386.c (XCR_XFEATURE_ENABLED_MASK): New.
1890         (XSTATE_FP): Likewise.
1891         (XSTATE_SSE): Likewise.
1892         (XSTATE_YMM): Likewise.
1893         (host_detect_local_cpu): Disable AVX, AVX2, FMA, FMA4 and XOP if
1894         SSE and YMM states aren't supported.
1895
1896 2012-10-01  Tom de Vries  <tom@codesourcery.com>
1897
1898         * var-tracking.c (set_dv_changed): Add an 'inline' function specifier to
1899         the prototype.
1900
1901 2012-10-01  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
1902
1903         PR target/54746
1904         * config/s390/s390.c (s390_option_override): Add missing break.
1905
1906 2012-09-29  Andreas Tobler  <andreast@fgznet.ch>
1907
1908         Backport from mainline
1909         2012-09-29  Andreas Tobler  <andreast@fgznet.ch>
1910
1911         * config.gcc: Replace 'host' with 'target' when configuring for
1912         powerpc64*-*-freebsd.
1913
1914 2012-09-28  Meador Inge  <meadori@codesourcery.com>
1915
1916         Backport from mainline
1917         2012-09-27  Meador Inge  <meadori@codesourcery.com>
1918
1919         * gcc-ar.c (main): Handle the returning of the sub-process error
1920         code correctly.
1921
1922 2012-09-28  Georg-Johann Lay  <avr@gjlay.de>
1923
1924         Backport from 2012-09-28 trunk r191821.
1925         * config/avr/avr.c (avr_pgm_check_var_decl): Fix non-error diagnostic.
1926
1927 2012-09-27  Jakub Jelinek  <jakub@redhat.com>
1928
1929         PR target/54703
1930         * simplify-rtx.c (simplify_binary_operation_1): Perform
1931         (x - (x & y)) -> (x & ~y) optimization only for integral modes.
1932
1933 2012-09-24  Eric Botcazou  <ebotcazou@adacore.com>
1934
1935         * tree-streamer-in.c (unpack_ts_type_common_value_fields): Stream in
1936         TYPE_NONALIASED_COMPONENT flag.
1937         * tree-streamer-out.c (pack_ts_type_common_value_fields): Stream out
1938         TYPE_NONALIASED_COMPONENT flag.
1939
1940 2012-09-21  Richard Guenther  <rguenther@suse.de>
1941
1942         PR middle-end/54638
1943         Backport from mainline
1944         2012-04-19  Richard Guenther  <rguenther@suse.de>
1945
1946         * ira-int.h (ira_allocno_object_iter_cond): Avoid out-of-bound
1947         array access.
1948
1949 2012-09-20  Joseph Myers  <joseph@codesourcery.com>
1950
1951         PR c/54552
1952         * c-typeck.c (c_cast_expr): When casting to a type requiring
1953         C_MAYBE_CONST_EXPR to be created, pass the inner expression to
1954         c_fully_fold first.
1955
1956 2012-09-20  Joseph Myers  <joseph@codesourcery.com>
1957
1958         PR c/54103
1959         * c-typeck.c (build_unary_op): Pass original argument of
1960         TRUTH_NOT_EXPR to c_objc_common_truthvalue_conversion, then remove
1961         any C_MAYBE_CONST_EXPR, if it has integer operands.
1962         (build_binary_op): Pass original arguments of TRUTH_ANDIF_EXPR,
1963         TRUTH_ORIF_EXPR, TRUTH_AND_EXPR, TRUTH_OR_EXPR and TRUTH_XOR_EXPR
1964         to c_objc_common_truthvalue_conversion, then remove any
1965         C_MAYBE_CONST_EXPR, if they have integer operands.  Use
1966         c_objc_common_truthvalue_conversion not
1967         c_common_truthvalue_conversion.
1968         (c_objc_common_truthvalue_conversion): Build NE_EXPR directly and
1969         call note_integer_operands for arguments with integer operands
1970         that are not integer constants.
1971
1972 2012-09-20  Jakub Jelinek  <jakub@redhat.com>
1973
1974         Backported from mainline
1975         2012-09-17  Jakub Jelinek  <jakub@redhat.com>
1976
1977         PR tree-optimization/54563
1978         * tree-ssa-math-opts.c (execute_cse_sincos): Call
1979         gimple_purge_dead_eh_edges if last call has been changed.
1980
1981         2012-09-14  Jakub Jelinek  <jakub@redhat.com>
1982
1983         PR target/54564
1984         * config/i386/sse.md (fmai_vmfmadd_<mode>): Use (match_dup 1)
1985         instead of (match_dup 0) as second argument to vec_merge.
1986         (*fmai_fmadd_<mode>, *fmai_fmsub_<mode>): Likewise.
1987         Remove third alternative.
1988         (*fmai_fnmadd_<mode>, *fmai_fnmsub_<mode>): Likewise.  Negate
1989         operand 2 instead of operand 1, but put it as first argument
1990         of fma.
1991         * config/i386/fmaintrin.h (_mm_fnmadd_sd, _mm_fnmadd_ss,
1992         _mm_fnmsub_sd, _mm_fnmsub_ss): Negate the second argument instead
1993         of the first.
1994
1995 2012-09-20  Jakub Jelinek  <jakub@redhat.com>
1996
1997         * BASE-VER: Set to 4.7.3.
1998         * DEV-PHASE: Set to prerelease.
1999
2000 2012-09-20  Release Manager
2001
2002         * GCC 4.7.2 released.
2003
2004 2012-09-15  Andi Kleen  <ak@linux.intel.com>
2005
2006         Backport from mainline
2007         2012-09-07  Andi Kleen  <ak@linux.intel.com>
2008
2009         * gcc/lto-streamer.h (res_pair): Add.
2010         (lto_file_decl_data): Replace resolutions with respairs.
2011         Add max_index.
2012         * gcc/lto/lto.c (lto_resolution_read): Remove max_index.  Add rp.
2013         Initialize respairs.
2014         (lto_file_finalize): Set up resolutions vector lazily from respairs.
2015
2016 2012-09-14  Walter Lee  <walt@tilera.com>
2017
2018         Backport from mainline.
2019         2012-09-14  Walter Lee  <walt@tilera.com>
2020
2021         * doc/invoke.texi (Option Summary): fix typesetting for -mcpu
2022         option for TILEPro and TILE-Gx.
2023
2024 2012-09-13  Uros Bizjak  <ubizjak@gmail.com>
2025
2026         * config/i386/i386.h (x86_prefetchw): New global variable.
2027         (TARGET_PREFETCHW): New macro.
2028         * config/i386/i386.c (PTA_PREFETCHW): Ditto.
2029         (processor_alias_table): Add PTA_PREFETCHW to
2030         bdver1, bdver2 and btver1.
2031         (ix86_option_override_internal): Set x86_prefetchw for
2032         PTA_PREFETCHW targets.
2033         * config/i386/i386.md (prefetch): Expand to prefetchw
2034         for TARGET_PREFETCHW.
2035         (*prefetch_3dnow_<mode>): Also enable for TARGET_PREFETCHW.
2036
2037         Backport from mainline
2038         2012-08-13  Uros Bizjak  <ubizjak@gmail.com>
2039
2040         * config/i386/i386.md (prefetch): Do not assert mode of operand 0.
2041         (*prefetch_sse_<mode>): Do not set mode of address_operand predicate.
2042         Rename to ...
2043         (*prefetch_sse): ... this.
2044         (*prefetch_3dnow_<mode>): Do not set mode of address_operand predicate.
2045         Rename to ...
2046         (*prefetch_3dnow): ... this.
2047
2048 2012-09-13  Jakub Jelinek  <jakub@redhat.com>
2049
2050         PR c/54559
2051         * c-typeck.c (c_finish_return): Do convert to BOOLEAN_TYPE or
2052         COMPLEX_TYPE with in_late_binary_op set temporarily to true.
2053
2054 2012-09-12  Teresa Johnson  <tejohnson@google.com>
2055
2056         Backport from mainline.
2057         2012-09-12  Teresa Johnson  <tejohnson@google.com>
2058
2059         PR gcov-profile/54487
2060         * configure.ac (HOST_HAS_F_SETLKW): Set based on compile
2061         test using F_SETLKW with fcntl.
2062         * configure, config.in: Regenerate.
2063
2064 2012-09-12  Uros Bizjak  <ubizjak@gmail.com>
2065
2066         Backport from mainline
2067         2012-09-12  Ganesh Gopalasubramanian  <Ganesh.Gopalasubramanian@amd.com>
2068
2069         * config/i386/i386.md : Comments on fma4 instruction selection
2070         reflect requirement on register pressure based cost model.
2071
2072         * config/i386/driver-i386.c (host_detect_local_cpu): fma4
2073         flag is set-reset as informed by the cpuid flag.
2074
2075         * config/i386/i386.c (processor_alias_table): fma4
2076         flag is enabled for bdver2.
2077
2078 2012-09-12  Christian Bruel  <christian.bruel@st.com>
2079
2080         * config/sh/newlib.h (NO_IMPLICIT_EXTERN_C): Define.
2081
2082 2012-09-12  Jakub Jelinek  <jakub@redhat.com>
2083
2084         * config.gcc: Obsolete picochip-*.
2085
2086 2012-09-11  Richard Guenther  <rguenther@suse.de>
2087
2088         PR debug/54534
2089         * cgraph.h (varpool_can_remove_if_no_refs): Restore dependence
2090         on flag_toplevel_reorder.
2091
2092 2012-09-10  Richard Henderson  <rth@redhat.com>
2093
2094         * config/alpha/predicates.md (small_symbolic_operand): Disallow
2095         large offsets.
2096
2097 2012-09-10  Georg-Johann Lay  <avr@gjlay.de>
2098
2099         Backport from 2012-09-10 mainline r191132.
2100
2101         PR target/54536
2102         * config/avr/avr-mcus.def (at90usb1287): Set LIBRARY_NAME to "usb1287".
2103
2104 2012-09-10  Markus Trippelsdorf  <markus@trippelsdorf.de>
2105
2106         PR middle-end/54515
2107         * tree-sra.c (disqualify_base_of_expr): Check for possible
2108         NULL_TREE returned by get_base_address()
2109
2110 2012-09-07  Richard Guenther  <rguenther@suse.de>
2111
2112         Backport from mainline
2113         2012-06-26  Jan Hubicka  <jh@suse.cz>
2114
2115         PR lto/53572
2116         * cgraph.h (varpool_can_remove_if_no_refs): Fix handling of
2117         used symbols.
2118
2119 2012-09-07  Richard Guenther  <rguenther@suse.de>
2120
2121         Backport from mainline
2122         2012-07-13  Richard Guenther  <rguenther@suse.de>
2123
2124         PR tree-optimization/53922
2125         * tree-vrp.c (value_inside_range): Change prototype to take
2126         min/max instead of value-range.
2127         (range_includes_zero_p): Likewise.  Return the result from
2128         value_inside_range.
2129         (extract_range_from_binary_expr_1): Adjust to handle dont-know
2130         return value from range_includes_zero_p.
2131         (extract_range_from_unary_expr_1): Likewise.
2132         (compare_range_with_value): Likewise.
2133         (vrp_meet_1): Likewise.
2134
2135 2012-09-07  Richard Guenther  <rguenther@suse.de>
2136
2137         PR middle-end/53667
2138         * tree-ssa-structalias.c (handle_rhs_call): Properly clobber
2139         EAF_NOESCAPED arguments.  Transitively close non-EAF_DIRECT
2140         arguments separately.
2141
2142 2012-09-07  Jakub Jelinek  <jakub@redhat.com>
2143
2144         Backported from mainline
2145         2012-09-06  Jakub Jelinek  <jakub@redhat.com>
2146
2147         PR rtl-optimization/54455
2148         * sel-sched-ir.c (maybe_tidy_empty_bb): Give up if previous fallthru
2149         bb ends up with asm goto referencing bb's label.
2150
2151 2012-09-07  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
2152
2153         Backport from mainline.
2154         2012-08-29  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
2155                     Richard Earnshaw  <richard.earnshaw@arm.com>
2156
2157         PR target/54252
2158         * config/arm/arm.c (neon_dereference_pointer): Adjust nelems by
2159         element size. Use elem_type from the formal parameter. New parameter
2160         fcode.
2161         (neon_expand_args): Adjust call to neon_dereference_pointer.
2162
2163 2012-09-06  Uros Bizjak  <ubizjak@gmail.com>
2164
2165         * config/i386/sse.md (<sse4_1_avx2>_pblendvb): Use
2166         reg_not_xmm0_operand_maybe_avx as operand 0 constraint.
2167
2168 2012-09-06  Uros Bizjak  <ubizjak@gmail.com>
2169
2170         Backport from mainline
2171         2012-08-11  Uros Bizjak  <ubizjak@gmail.com>
2172
2173         * config/i386/i386.md (isa): Add fma and fma4.
2174         (enabled): Handle fma and fma4.
2175         * config/i386/sse.md (*fma_fmadd_<mode>): Merge *fma4_fmadd_<mode>.
2176         (*fma_fmsub_<mode>): Merge *fma4_fmsub_<mode>.
2177         (*fma_fnmadd_<mode>): Merge *fma4_fnmadd_<mode>.
2178         (*fma_fnmsub_<mode>): Merge *fma4_fnmsub_<mode>.
2179         (*fma_fmaddsub_<mode>): Merge *fma4_fmaddsub_<mode>.
2180         (*fma_fmsubadd_<mode>): Merge *fma4_fmsubadd_<mode>.
2181
2182         2012-08-10  Uros Bizjak  <ubizjak@gmail.com>
2183
2184         * config/i386/sse.md (*fma_fmadd_<mode>, *fma_fmsub_<mode>,
2185         *fma_fnmadd_<mode>, *fma_fnmsub_<mode>, *fma_fmaddsub_<mode>,
2186         *fma_fmsubadd_<mode>): Move FMA3 insn patterns before FMA4 patterns.
2187
2188 2012-09-06  Richard Guenther  <rguenther@suse.de>
2189
2190         PR tree-optimization/54498
2191         * tree-ssa-alias.h (get_continuation_for_phi): Add flag to
2192         abort when reaching an already visited region.
2193         * tree-ssa-alias.c (maybe_skip_until): Likewise.  And do it.
2194         (get_continuation_for_phi_1): Likewise.
2195         (walk_non_aliased_vuses): When we translated the reference,
2196         abort when we re-visit a region.
2197         * tree-ssa-pre.c (translate_vuse_through_block): Adjust.
2198
2199 2012-09-06  Andrew Pinski  <apinski@cavium.com>
2200
2201         PR tree-opt/54494
2202         * tree-inline.c (remap_gimple_op_r): Copy TREE_SIDE_EFFECTS also.
2203
2204 2012-09-05  Jakub Jelinek  <jakub@redhat.com>
2205
2206         PR middle-end/54486
2207         * builtins.c (fold_builtin_strspn, fold_builtin_strcspn): Use
2208         build_int_cst with size_type_node instead of size_int.
2209
2210 2012-09-05  Georg-Johann Lay  <avr@gjlay.de>
2211
2212         Backport from 2012-09-05 mainline r190697.
2213
2214         PR target/54461
2215         * config.gcc (tm_file,target=avr-*-*): Add avr/avrlibc.h if
2216         configured --with-avrlibc.
2217         (tm_defines,target=avr-*-*): Add WITH_AVRLIBC if configured
2218         --with-avrlibc.
2219         * config/avr/avrlibc.h: New file.
2220         * config/avr/avr-c.c: Build-in define __WITH_AVRLIBC__ if
2221         configured --with-avrlibc.
2222         * doc/invoke.texi (AVR Built-in Macros): Document __WITH_AVRLIBC__
2223
2224 2012-09-05  Bin Cheng  <bin.cheng@arm.com>
2225
2226         Backport from 2012-09-04 mainline r190919
2227
2228         PR target/45070
2229         * config/arm/arm.c (thumb1_extra_regs_pushed): Handle return value
2230         of size less than 4 bytes by using macro ARM_NUM_INTS.
2231         (thumb1_unexpanded_epilogue): Use macro ARM_NUM_INTS.
2232
2233 2012-09-04  Richard Henderson  <rth@redhat.com>
2234
2235         * alias.c (read_dependence): Return true for ALIAS_SET_MEMORY_BARRIER.
2236
2237 2012-09-04  Georg-Johann Lay  <avr@gjlay.de>
2238
2239         Backport from 2012-09-04 mainline r190920
2240
2241         PR target/54476
2242         * config/avr/avr.c (avr_expand_delay_cycles): Mask operand with SImode.
2243
2244 2012-09-04  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
2245
2246         Backport from 2012-09-04 mainline r190914
2247
2248         PR target/54220
2249         * config/avr/avr.c (TARGET_ALLOCATE_STACK_SLOTS_FOR_ARGS): New
2250         define to...
2251         (avr_allocate_stack_slots_for_args): ...this new static function.
2252
2253 2012-09-03  H.J. Lu  <hongjiu.lu@intel.com>
2254
2255         Backported from mainline
2256         2012-08-23  H.J. Lu  <hongjiu.lu@intel.com>
2257
2258         PR driver/54335
2259         * doc/invoke.texi: Add -da and remove -dm.
2260
2261 2012-09-03  Jakub Jelinek  <jakub@redhat.com>
2262
2263         Backported from mainline
2264         2012-09-01  Jakub Jelinek  <jakub@redhat.com>
2265
2266         PR target/54436
2267         * config/i386/i386.md (*mov<mode>_insv_1_rex64, *movsi_insv_1): If
2268         operands[1] is CONST_INT_P, convert it to QImode before printing.
2269
2270         2012-08-31  Jakub Jelinek  <jakub@redhat.com>
2271
2272         PR c/54428
2273         * c-convert.c (convert): Don't call fold_convert_loc if
2274         TYPE_MAIN_VARIANT of a COMPLEX_TYPE is the same, unless e
2275         is a COMPLEX_EXPR.  Remove TYPE_MAIN_VARIANT check from
2276         COMPLEX_TYPE -> COMPLEX_TYPE conversion.
2277
2278         2012-08-24  Jakub Jelinek  <jakub@redhat.com>
2279
2280         PR c/54363
2281         * gimplify.c (optimize_compound_literals_in_ctor): Only recurse
2282         if init is a CONSTRUCTOR.
2283
2284 2012-09-02  Eric Botcazou  <ebotcazou@adacore.com>
2285
2286         PR rtl-optimization/54369
2287         * config/mips/mips.c (mips_reorg): Invoke cleanup_barriers before
2288         calling dbr_schedule.
2289         * config/sparc/sparc.c (sparc_reorg): Likewise.
2290
2291 2012-08-31  Kirill Yukhin  <kirill.yukhin@intel.com>
2292
2293         Backport from mainline
2294         2012-08-23  Yuri Rumyantsev  <ysrumyan@gmail.com>
2295
2296         * config/i386/i386.c (ia32_multipass_dfa_lookahead) : Add
2297         case for Atom processor.
2298
2299 2012-08-28  Uros Bizjak  <ubizjak@gmail.com>
2300
2301         Backport from mainline
2302         2012-08-27  Uros Bizjak  <ubizjak@gmail.com>
2303
2304         PR target/46254
2305         * config/i386/predicates.md (cmpxchg8b_pic_memory_operand): Return
2306         true for TARGET_64BIT or !flag_pic.
2307         * config/i386/sync.md (*atomic_compare_and_swap_doubledi_pic): Remove.
2308         (atomic_compare_and_swap_double<mode>): Change operand 2 predicate
2309         to cmpxchg8b_pic_memory_operand.  Use DWIH mode iterator.
2310         Add insn constraint.  Conditionally emit xchg asm insns.
2311         (atomic_compare_and_swap<mode>): Update calls.  Check only
2312         cmpxchg8b_pic_memory_operand in memory address fixup.
2313         (DCASMODE): Remove.
2314         (CASHMODE): Rename from DCASHMODE.
2315         (doublemodesuffix): Update modes.
2316         (regprefix): New mode attribute.
2317
2318         (unspecv) <UNSPECV_CMPXCHG_{1,2,3,4}>: Remove.
2319         <UNSPECV_CMPXCHG>: New constant.
2320         (atomic_compare_and_swap<mode>_1): Rename from
2321         atomic_compare_and_swap_single<mode>.  Update calls and
2322         unspec_volatile constants.
2323         (atomic_compare_and_swap<mode>_doubleword): Rename from
2324         atomic_compare_and_swap_double<mode>.  Update calls and
2325         unspec_volatile constants.
2326
2327 2012-08-28  Walter Lee  <walt@tilera.com>
2328
2329         Backport from mainline
2330         2012-08-28  Walter Lee  <walt@tilera.com>
2331
2332         * confg/tilegx/tilegx.md: Fix code style.
2333         (*zero_extendsidi_truncdisi): Fix typo.
2334         * config/tilegx/tilegx.c: Fix code style.
2335         (tilegx_function_profiler): Fix typo.
2336
2337 2012-08-27  Walter Lee  <walt@tilera.com>
2338
2339         Backport from mainline
2340         2012-08-27  Walter Lee  <walt@tilera.com>
2341
2342         * doc/md.texi (TILE-Gx): Fix typo.
2343
2344 2012-08-27  Walter Lee  <walt@tilera.com>
2345
2346         Backport from mainline
2347         2012-08-27  Walter Lee  <walt@tilera.com>
2348
2349         * config/tilegx/tilegx.c (tilegx_function_profiler): Fix typo.
2350         * config/tilepro/tilepro.c (tilepro_function_profiler): Ditto.
2351
2352 2012-08-27  Walter Lee  <walt@tilera.com>
2353
2354         Backport from mainline
2355         2012-08-27  Walter Lee  <walt@tilera.com>
2356
2357         * config/tilegx/tilegx.md (*bfins): Rename to insn_bfins.
2358         (insn_bfins): Delete.
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         * config/tilegx/sync.md (atomic_compare_and_swap_bare<mode>,
2366         atomic_exchange_bare<mode>,
2367         atomic_fetch_<fetchop_name>_bare<mode>): Set type to X1_remote.
2368         * config/tilegx/tilegx-generic.md (X1_remote): New insn_reservation.
2369         * config/tilegx/tilegx.md (type): Add X1_remove.
2370         (insn_cmpexch<four_if_si>, insn_exch<four_if_si>,
2371         insn_fetchadd<four_if_si>, insn_fetchaddgez<four_if_si>,
2372         insn_fetchand<four_if_si>, insn_fetchor<four_if_si>): Set type to
2373         X1_remote.
2374
2375 2012-08-25  Eric Botcazou  <ebotcazou@adacore.com>
2376
2377         PR rtl-optimization/54088
2378         * jump.c (delete_related_insns): Robustify latest change.
2379
2380 2012-08-21  Richard Guenther  <rguenther@suse.de>
2381
2382         Backport from mainline
2383         2012-08-16  Richard Guenther  <rguenther@suse.de>
2384
2385         PR middle-end/54146
2386         * tree-ssa-loop-niter.c (find_loop_niter_by_eval): Free the
2387         exit vector.
2388         * ipa-pure-const.c (analyze_function): Use FOR_EACH_LOOP_BREAK.
2389         * cfgloop.h (FOR_EACH_LOOP_BREAK): Fix.
2390         * tree-ssa-structalias.c (handle_lhs_call): Properly free rhsc.
2391         * tree-ssa-loop-im.c (analyze_memory_references): Adjust.
2392         (tree_ssa_lim_finalize): Free all mem_refs.
2393         * tree-ssa-sccvn.c (extract_and_process_scc_for_name): Free
2394         scc when bailing out.
2395         * modulo-sched.c (sms_schedule): Use FOR_EACH_LOOP_BREAK.
2396         * ira-build.c (loop_with_complex_edge_p): Free loop exit vector.
2397         * graphite-sese-to-poly.c (scop_ivs_can_be_represented): Use
2398         FOR_EACH_LOOP_BREAK.
2399
2400         2012-08-17  Richard Guenther  <rguenther@suse.de>
2401
2402         * tree-sra.c (modify_function): Free redirect_callers vector.
2403         * ipa-split.c (split_function): Free args_to_pass vector.
2404         * tree-vect-stmts.c (vectorizable_operation): Do not pre-allocate
2405         vec_oprnds.
2406         (new_stmt_vec_info): Do not pre-allocate STMT_VINFO_SAME_ALIGN_REFS.
2407         * tree-vect-slp.c (vect_free_slp_instance): Free the instance.
2408         (vect_analyze_slp_instance): Free everything.
2409         (destroy_bb_vec_info): Free the SLP instances.
2410
2411         2012-08-17  Richard Guenther  <rguenther@suse.de>
2412
2413         * params.def (integer-share-limit): Decrease from 256 to 251,
2414         add rationale.
2415
2416         2012-08-21  Richard Guenther  <rguenther@suse.de>
2417
2418         * tree-ssa-loop-im.c (tree_ssa_lim_finalize): Properly free
2419         the affine expansion cache.
2420
2421 2012-08-20  Patrick Marlier  <patrick.marlier@gmail.com>
2422
2423         Backported from trunk
2424         2012-08-20  Patrick Marlier  <patrick.marlier@gmail.com>
2425
2426         PR middle-end/53992
2427         * omp-low.c (lower_omp_1): Handle GIMPLE_TRANSACTION.
2428
2429 2012-08-20  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
2430
2431         Backport from mainline.
2432         2012-08-15  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
2433
2434         PR target/54212
2435         * config/arm/neon.md (vec_set<mode>_internal VD,VQ): Do not
2436         mark as predicable. Adjust asm template.
2437         (vec_setv2di_internal): Likewise.
2438         (vec_extract<mode> VD, VQ): Likewise.
2439         (vec_extractv2di): Likewise.
2440         (neon_vget_lane<mode>_sext_internal VD, VQ): Likewise.
2441         (neon_vset_lane<mode>_sext_internal VD, VQ): Likewise.
2442         (neon_vdup_n<mode> VX, V32): Likewise.
2443         (neon_vdup_nv2di): Likewise.
2444
2445 2012-08-17  Walter Lee  <walt@tilera.com>
2446
2447         Backport from mainline
2448         2012-08-17  Walter Lee  <walt@tilera.com>
2449
2450         * config/tilegx/feedback.h (FEEDBACK_ENTER_EXPLICIT): Define.
2451         (FEEDBACK_ENTER): Define.
2452         (FEEDBACK_REENTER): Define.
2453         (FEEDBACK_ENTRY): Define.
2454         * config/tilepro/feedback.h: (FEEDBACK_ENTER_EXPLICIT): Define.
2455         (FEEDBACK_ENTER): Define.
2456         (FEEDBACK_REENTER): Define.
2457         (FEEDBACK_ENTRY): Define.
2458
2459 2012-08-16  Walter Lee  <walt@tilera.com>
2460
2461         Backport from mainline
2462         2012-08-16  Walter Lee  <walt@tilera.com>
2463
2464         * config.gcc (tilegx-*-linux*): Add feedback.h.
2465         (tilepro-*-linux*): Likewise.
2466         * config/tilegx/feedback.h: New file.
2467         * config/tilepro/feedback.h: New file.
2468
2469 2012-08-08  Pavel Chupin  <pavel.v.chupin@intel.com>
2470
2471         Backport from mainline r189840 and r187586:
2472         2012-07-25 Sergey Melnikov <sergey.melnikov@intel.com>
2473
2474         * config/i386/i386.md (stack_protect_set): Disable the pattern
2475         for Android since Android libc (bionic) does not provide random
2476         value for stack protection guard at gs:0x14. Guard value
2477         will be provided from external symbol (default implementation).
2478         (stack_protect_set_<mode>): Likewise.
2479         (stack_protect_test): Likewise.
2480         (stack_protect_test_<mode>): Likewise.
2481         * gcc/defaults.h: Define macro TARGET_HAS_BIONIC to 0 - target does
2482         not have Bionic by default
2483         * config/linux.h: Redefine macro TARGET_HAS_BIONIC to (OPTION_BIONIC)
2484         Macro OPTION_BIONIC is defined in this file and provides Bionic
2485         accessibility status
2486
2487         2012-05-16  Igor Zamyatin  <igor.zamyatin@intel.com>
2488
2489         * configure.ac: Stack protector enabling for Android targets.
2490         * configure: Regenerate.
2491
2492 2012-08-13  Jakub Jelinek  <jakub@redhat.com>
2493
2494         Backported from trunk
2495         2012-07-19  Jakub Jelinek  <jakub@redhat.com>
2496
2497         PR rtl-optimization/53942
2498         * function.c (assign_parm_setup_reg): Avoid zero/sign extension
2499         directly from likely spilled non-fixed hard registers, move them
2500         to pseudo first.
2501
2502 2012-08-11  Uros Bizjak  <ubizjak@gmail.com>
2503
2504         * config/i386/sse.md (xop_phaddbq):  Fix vec_select selectors.
2505         (xop_phaddubq): Ditto.
2506
2507 2012-08-10  Ulrich Weigand  <ulrich.weigand@linaro.org>
2508
2509         Backport from mainline
2510         2012-07-30  Ulrich Weigand  <ulrich.weigand@linaro.org>
2511                     Richard Earnshaw  <rearnsha@arm.com>
2512
2513         * target.def (vector_alignment): New target hook.
2514         * doc/tm.texi.in (TARGET_VECTOR_ALIGNMENT): Document new hook.
2515         * doc/tm.texi: Regenerate.
2516         * targhooks.c (default_vector_alignment): New function.
2517         * targhooks.h (default_vector_alignment): Add prototype.
2518         * stor-layout.c (layout_type): Use targetm.vector_alignment.
2519         * config/arm/arm.c (arm_vector_alignment): New function.
2520         (TARGET_VECTOR_ALIGNMENT): Define.
2521
2522         * tree-vect-data-refs.c (vect_update_misalignment_for_peel): Use
2523         vector type alignment instead of size.
2524         * tree-vect-loop-manip.c (vect_do_peeling_for_loop_bound): Use
2525         element type size directly instead of computing it from alignment.
2526         Fix variable naming and comment.
2527
2528 2012-08-09  Uros Bizjak  <ubizjak@gmail.com>
2529
2530         Backport from mainline
2531         2012-08-09  Uros Bizjak  <ubizjak@gmail.com>
2532
2533         * config/alpha/alpha.c (alpha_pad_noreturn): Rename to ...
2534         (alpha_pad_function_end): ... this.  Also insert NOP between
2535         sibling call and GP load.
2536         (alpha_reorg): Update call to alpha_pad_function_end.  Expand comment.
2537
2538 2012-08-09  H.J. Lu  <hongjiu.lu@intel.com>
2539
2540         Backport from mainline
2541         2012-08-08  Richard Sandiford  <rdsandiford@googlemail.com>
2542                     H.J. Lu  <hongjiu.lu@intel.com>
2543
2544         PR rtl-optimization/54157
2545         * combine.c (gen_lowpart_for_combine): Don't return identity
2546         for CONST or symbolic reference.
2547
2548 2012-08-06  Uros Bizjak  <ubizjak@gmail.com>
2549
2550         Backport from mainline
2551         2012-07-23  Uros Bizjak  <ubizjak@gmail.com>
2552
2553         * config/i386/i386-protos.h (ix86_lea_outperforms): Remove prototype.
2554         * config/i386/i386.c (ix86_lea_outperforms): Make static.  Make
2555         split_cost argument signed.
2556         (ix86_use_lea_for_mov): Use INVALID_REGNUM instead of -1.
2557         (ix86_avoid_lea_for_addr): Ditto.
2558
2559         2012-07-27  Uros Bizjak  <ubizjak@gmail.com>
2560
2561         * config/i386/i386.c (ix86_avoid_lea_for_addr): Return false if
2562         the address has less than two components.
2563
2564 2012-08-02  Steve Ellcey  <sellcey@mips.com>
2565
2566         Backport from mainline
2567         2012-07-19  Steve Ellcey  <sellcey@mips.com>
2568
2569         * config/mips/mips.c (mips_set_mips16_mode): Clear SYNCI_MASK in
2570         MIPS16 mode.
2571
2572 2012-08-02  Uros Bizjak  <ubizjak@gmail.com>
2573
2574         Backport from mainline
2575         2012-07-24  Uros Bizjak  <ubizjak@gmail.com>
2576
2577         PR target/53961
2578         * config/i386/i386.c (ix86_legitimate_address_p): Move check for
2579         negative constant address for TARGET_X32 ...
2580         (ix86_decompose_address): ... here.  Reject constant addresses
2581         that don't satisfy x86_64_immediate_operand predicate.
2582
2583         2012-07-23  Uros Bizjak  <ubizjak@gmail.com>
2584
2585         PR target/53961
2586         * config/i386/i386.md (*lea): Add asserts to detect invalid addresses.
2587         * config/i386/i386.c (ix86_print_operand_address): Ditto.
2588         (ix86_decompose_address): Allow (zero_extend:DI (subreg:SI (...)))
2589         addresses.  Prevent zero extensions of CONST_INT operands.
2590
2591         2012-07-22  Uros Bizjak  <ubizjak@gmail.com>
2592
2593         PR target/53961
2594         * config/i386/i386.md (*lea): New insn pattern.
2595         (*lea_1): Remove.
2596         (*lea<mode>_2): Ditto.
2597         (*lea_{3,4,5,6}_zext): Ditto.
2598         * config/i386/predicates.md (lea_address_operand): Do not reject
2599         zero-extended address operands.
2600         * config/i386/constraints.md (j): Remove address constraint.
2601         * config/i386/i386.c (ix86_decompose_address): Allow SImode subreg
2602         of an address.
2603         (ix86_print_operand_address): Handle SImode subreg of an address.
2604         (ix86_avoid_lea_for_addr): Reject zero-extended addresses for now.
2605
2606 2012-08-01  Uros Bizjak  <ubizjak@gmail.com>
2607
2608         Backport from mainline
2609         2012-03-09  Uros Bizjak  <ubizjak@gmail.com>
2610
2611         PR target/52530
2612         * config/i386/i386.c (ix86_print_operand): Handle 'E' operand modifier.
2613         (ix86_print_operand_address): Handle UNSPEC_LEA_ADDR. Do not fallback
2614         to set code to 'q'.
2615         * config/i386/i386.md (UNSPEC_LEA_ADDR): New unspec.
2616         (*movdi_internal_rex64): Use %E operand modifier for lea.
2617         (*movsi_internal): Ditto.
2618         (*lea_1): Ditto.
2619         (*lea<mode>_2): Ditto.
2620         (*lea_{3,4,5,6}_zext): Ditto.
2621         (*tls_global_dynamic_32_gnu): Ditto.
2622         (*tls_global_dynamic_64): Ditto.
2623         (*tls_dynamic_gnu2_lea_32): Ditto.
2624         (*tls_dynamic_gnu2_lea_64): Ditto.
2625         (pro_epilogue_adjust_stack_<mode>_add): Ditto.
2626
2627 2012-08-01  Uros Bizjak  <ubizjak@gmail.com>
2628
2629         Backport from mainline
2630         2012-08-01  Uros Bizjak  <ubizjak@gmail.com>
2631
2632         * config/i386/i386.c (ix86_address_subreg_operand): Reject
2633         stack pointer.
2634         (ix86_print_operand_address): Assert that parts.base and parts.index
2635         are non-NULL after call to simplify_subreg.
2636
2637 2012-07-22  Oleg Endo  <olegendo@gcc.gnu.org>
2638
2639         PR target/33135
2640         * config/sh/sh.opt (mieee): Use Var instead of Mask.  Correct
2641         description.
2642         * config/sh/sh.c (sh_option_override): Do not change
2643         flag_finite_math_only.  Set TARGET_IEEE to complement of
2644         flag_finite_math_only.
2645         * doc/invoke.texi (SH options): Add mno-ieee.  Correct
2646         description of mieee and mno-ieee behavior.
2647
2648 2012-07-20  Kirill Yukhin  <kirill.yukhin@intel.com>
2649
2650         PR target/53877
2651         * config/i386/lzcntintrin.h (_lzcnt_u32): New.
2652         (_lzcnt_u64): Ditto.
2653
2654 2012-07-20  Andrey Belevantsev  <abel@ispras.ru>
2655
2656         Backport from mainline
2657         2012-03-06  Andrey Belevantsev  <abel@ispras.ru>
2658
2659         PR rtl-optimization/52250
2660         * sel-sched-ir.c (maybe_tidy_empty_bb): Try harder to find a bb
2661         to put note list into.  Unconditionally call move_bb_info.
2662         (move_bb_info): Do not assert the blocks being in the same region,
2663         just drop the note list if they are not.
2664
2665 2012-07-19  Eric Botcazou  <ebotcazou@adacore.com>
2666
2667         * config/sparc/sparc.md (adddi3_insn_sp32): Add earlyclobber.
2668
2669 2012-07-19  Eric Botcazou  <ebotcazou@adacore.com>
2670
2671         * tree-ssa-forwprop.c (combine_conversions): Punt if the RHS of the
2672         defining statement is a SSA name that occurs in abnormal PHIs.
2673
2674 2012-07-19  Eric Botcazou  <ebotcazou@adacore.com>
2675
2676         * gimple-fold.c (canonicalize_constructor_val): Strip only useless type
2677         conversions.
2678
2679 2012-07-19  Richard Guenther  <rguenther@suse.de>
2680             Eric Botcazou  <ebotcazou@adacore.com>
2681
2682         * tree-ssa-ccp.c (valid_lattice_transition): Clarify comment
2683         about transition from invariant to known bits.
2684         (likely_value): Addresses with UNDEFINED components are UNDEFINED.
2685
2686 2012-07-19  Jakub Jelinek  <jakub@redhat.com>
2687
2688         PR middle-end/54017
2689         * tree-cfgcleanup.c (cleanup_omp_return): Remove.
2690         (cleanup_tree_cfg_bb): Don't call it.
2691         * omp-low.c (expand_omp_sections): Fix up the !exit_reachable case
2692         handling.
2693
2694 2012-07-19  Christian Bruel  <christian.bruel@st.com>
2695
2696         PR target/54029
2697         * config/sh/sh.c (gen_far_branch): Set JUMP_LABEL for return jumps.
2698
2699 2012-07-18  Ralf Corsépius  <ralf.corsepius@rtems.org>
2700
2701         * config.gcc (v850-*-rtems*): New target.
2702         * config/v850/rtems.h: New.
2703         * config/v850/t-rtems: New.
2704
2705 2012-07-18  Nick Clifton  <nickc@redhat.com>
2706
2707         * doc/invoke.texi (ARM Options): Document -munaligned-access.
2708
2709 2012-07-15  Uros Bizjak  <ubizjak@gmail.com>
2710
2711         PR target/53961
2712
2713         Backport from mainline
2714         2012-04-25  Jakub Jelinek  <jakub@redhat.com>
2715
2716         PR target/53110
2717         * config/i386/i386.md (and<mode>3): For andq $0xffffffff, reg
2718         instead expand it as zero extension.
2719
2720 2012-07-14  Uros Bizjak  <ubizjak@gmail.com>
2721
2722         * config/i386/i386.md (QImode and HImode cmove splitters): Merge
2723         QImode and HImode splitters.  Use ix86_comparison_operator.
2724         Explicitly match FLAGS_REG.
2725         (DFmode cmove splitter): Explicitly match FLAGS_REG.
2726
2727 2012-07-13  Richard Sandiford  <rdsandiford@googlemail.com>
2728             Steven Bosscher  <steven@gcc.gnu.org>
2729             Bernd Schmidt  <bernds@codesourcery.com>
2730
2731         PR rtl-optimization/53908
2732         * df-problems.c (can_move_insns_across): When doing
2733         memory-reference book-keeping, handle call insns.
2734
2735 2012-07-10  Uros Bizjak  <ubizjak@gmail.com>
2736
2737         Backport from mainline
2738         2012-07-03  Uros Bizjak  <ubizjak@gmail.com>
2739
2740         PR target/53811
2741         * config/i386/i386.c (x86_output_mi_thunk): Check if fnaddr satisfies
2742         sibcall_insn_operand.  Move it to a temporary register if not.
2743
2744         2012-07-06  Uros Bizjak  <ubizjak@gmail.com>
2745
2746         PR target/53853
2747         * config/i386/i386.c (x86_output_mi_thunk): For CM_LARGE_PIC model,
2748         emit PIC sequence for fnaddr symbol reference in advance.
2749
2750 2012-07-09  Jason Merrill  <jason@redhat.com>
2751
2752         PR c++/53882
2753         * tree.c (type_contains_placeholder_1): Handle NULLPTR_TYPE.
2754         (type_hash_eq): Likewise.
2755
2756         PR c++/53826
2757         * tree.c (build_zero_cst): Handle NULLPTR_TYPE.
2758
2759 2012-07-07  Ulrich Weigand  <ulrich.weigand@linaro.org>
2760
2761         * combine.c (force_to_mode) [LSHIFTRT]: Avoid undefined behaviour
2762         due to negative shift amount.
2763
2764 2012-07-06  Kai Tietz  <ktietz@redhat.com>
2765
2766         Backport from mainline.
2767         PR bootstrap/52947
2768         * config/i386/mingw32.h (NATIVE_SYSTEM_HEADER_DIR): Define it always
2769         as "/mingw/include".
2770
2771 2012-07-06  Nick Clifton  <nickc@redhat.com>
2772
2773         * config/mn10300/mn10300.c (mn10300_encode_section_info): Call
2774         default_encode_section_info.
2775
2776 2012-07-06  Richard Guenther  <rguenther@suse.de>
2777
2778         Backport from mainline
2779         2012-03-30  Richard Guenther  <rguenther@suse.de>
2780
2781         PR middle-end/52786
2782         * double-int.c (rshift_double): Remove not needed cast.
2783
2784         2012-03-28  Richard Guenther  <rguenther@suse.de>
2785
2786         PR middle-end/50708
2787         * double-int.h (rshift_double): Remove.
2788         * double-int.c (lshift_double): Use absu_hwi to make count
2789         positive.
2790         (rshift_double): Make static, take unsigned count argument,
2791         remove handling of negative count argument.
2792         (double_int_rshift): Dispatch to lshift_double.
2793
2794 2012-07-06  Richard Guenther  <rguenther@suse.de>
2795
2796         Backport from mainline
2797         2012-06-18  Richard Guenther  <rguenther@suse.de>
2798
2799         PR tree-optimization/53693
2800         * tree-vect-patterns.c (vect_operation_fits_smaller_type):
2801         Reject operands with more than one use.
2802
2803 2012-07-06  Richard Guenther  <rguenther@suse.de>
2804
2805         Backport from mainline
2806         2012-04-11  Richard Guenther  <rguenther@suse.de>
2807
2808         PR middle-end/52621
2809         * tree-chrec.c (evolution_function_is_invariant_rec_p): Properly
2810         consider loop nesting.
2811         (evolution_function_is_univariate_p): Properly check the remainder
2812         for chrecs.
2813
2814 2012-07-05  Pat Haugen <pthaugen@us.ibm.com>
2815
2816         Backport from mainline
2817         2012-05-24  Pat Haugen <pthaugen@us.ibm.com>
2818
2819         * config/rs6000/rs6000.c (rs6000_option_override_internal): Change
2820         rs6000_sched_costly_dep default to true_store_to_load_dep_costly.
2821         (adjacent_mem_locations): Move some code to and call...
2822         (get_memref_parts): ...new function.
2823         (mem_locations_overlap): New function.
2824         (rs6000_adjust_priority): Adjust calls to is_load_insn/is_store_insn.
2825         (is_mem_ref): Rename to...
2826         (find_mem_ref): ...this. Return MEM rtx.
2827         (get_store_dest): Remove function.
2828         (is_load_insn1, is_load_insn, is_store_insn1, is_store_insn): Add
2829         new parameter and adjust calls.
2830         (rs6000_is_costly_dependence): Update calls for extra arg. Make sure
2831         mem refs overlap for true_store_to_load_dep_costly.
2832         (rs6000_sched_reorder2): Update calls for extra arg. Adjust args
2833         passed to adjacent_mem_locations.
2834         (is_costly_group): Walk resolved dependency list.
2835         (force_new_group): Emit group ending nop for Power6/Power7.
2836         * config/rs6000/rs6000.md (UNSPEC_GRP_END_NOP): New enum value.
2837         (group_ending_nop): New define_insn.
2838
2839 2012-07-04  Richard Guenther  <rguenther@suse.de>
2840
2841         PR middle-end/53433
2842         * gimple-fold.c (get_base_constructor): Do not return an
2843         error_mark_node DECL_INITIAL.
2844
2845 2012-07-04  Uros Bizjak  <ubizjak@gmail.com>
2846
2847         Backport from mainline
2848         2012-07-03  Uros Bizjak  <ubizjak@gmail.com>
2849
2850         * config/i386/i386.c (ix86_option_override_internal): Fix wrong
2851         code model string in the error message.
2852
2853 2012-07-04  Tristan Gingold  <gingold@adacore.com>
2854
2855         Backport from mainline.
2856         2012-06-25  Tristan Gingold  <gingold@adacore.com>
2857
2858         * config/i386/winnt.c (i386_pe_seh_end_prologue): Move code to ...
2859         (seh_cfa_adjust_cfa): ... that function.
2860         (seh_emit_stackalloc): Do not emit out of range values.
2861         * config/i386/i386.md: Delete unused UNSPEC_REG_SAVE,
2862         UNSPEC_DEF_CFA constants.
2863         * config/i386/i386.h (SEH_MAX_FRAME_SIZE): Define.
2864         * config/i386/i386.c (ix86_frame_pointer_required): Required
2865         for very large frames on SEH target.
2866         (ix86_compute_frame_layout): Save area is before frame pointer
2867         on SEH target.  Handle very large frames.
2868         (ix86_expand_prologue): Likewise.
2869
2870 2012-07-04  Richard Guenther  <rguenther@suse.de>
2871
2872         * tree.c (find_decls_types_r): Handle TYPE_CONTEXT the same
2873         as in free_lang_data_in_type.
2874
2875 2012-07-02  Martin Jambor  <mjambor@suse.cz>
2876
2877         Backport from mainline.
2878         2012-07-02  Martin Jambor  <mjambor@suse.cz>
2879
2880         PR middle-end/38474
2881         * ipa-prop.c (compute_known_type_jump_func): Put BINFO check before a
2882         dynamic type change check.
2883
2884 2012-06-29  Eric Botcazou  <ebotcazou@adacore.com>
2885
2886         * tree-eh.c (lower_try_finally_switch): Really put the location of the
2887         last statement of the finally block onto the switch.
2888
2889 2012-06-29  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
2890
2891         * configure: Regenerate.
2892
2893         Backport from mainline.
2894         2012-03-15  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
2895
2896         * config.gcc (target_type_format_char): New. Document it. Set it for
2897         arm*-*-* .
2898         * configure.ac (gnu_unique_option): Use target_type_format_char
2899         in test.  Comment rationale.
2900
2901 2012-06-29  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
2902
2903         Backport from mainline.
2904         2012-05-30  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
2905
2906         * config/arm/arm.c (arm_evpc_neon_vrev): Adjust off by one error.
2907
2908 2012-06-28  Georg-Johann Lay  <avr@gjlay.de>
2909
2910         Backport from 2012-06-28 mainline r189049
2911
2912         PR 53595
2913         * config/avr/avr.c (avr_hard_regno_call_part_clobbered): New.
2914         * config/avr/avr-protos.h (avr_hard_regno_call_part_clobbered): New.
2915         * config/avr/avr.h (HARD_REGNO_CALL_PART_CLOBBERED): Forward to
2916         avr_hard_regno_call_part_clobbered.
2917
2918 2012-06-28  Richard Guenther  <rguenther@suse.de>
2919
2920         PR middle-end/53790
2921         * expr.c (expand_expr_real_1): Verify if the type is complete
2922         before inspecting its size.
2923
2924 2012-06-27  Nick Clifton  <nickc@redhat.com>
2925
2926         * config/rx/rx.md (comparesi3_extend): Remove = modifier from
2927         input operand.
2928
2929 2012-06-26  Alexandre Oliva  <aoliva@redhat.com>
2930
2931         PR debug/53682
2932         * cselib.c (promote_debug_loc): Don't crash on NULL argument.
2933
2934 2012-06-26  Nick Clifton  <nickc@redhat.com>
2935
2936         * config/rx/rx.md (simple_return): Use the simple_return rtx.
2937
2938 2012-06-25  Jakub Jelinek  <jakub@redhat.com>
2939
2940         PR target/53759
2941         * config/i386/sse.md (sse_loadlps): Use x m x constraints instead
2942         of x x x in the vmovlps load alternative.
2943
2944 2012-06-22  Richard Guenther  <rguenther@suse.de>
2945
2946         * gcov-iov.c: Include bconfig.h and system.h.
2947
2948 2012-06-22  Richard Guenther  <rguenther@suse.de>
2949
2950         PR gcov-profile/53744
2951         * gcov-iov.c (main): Treat "" and "prerelease" the same.
2952
2953 2012-06-22  Eric Botcazou  <ebotcazou@adacore.com>
2954
2955         * tree-ssa-live.c (remove_unused_scope_block_p): Remove again
2956         DECL_IGNORED_P non-reg vars even if they are used.
2957
2958 2012-06-19  Jason Merrill  <jason@redhat.com>
2959
2960         PR c++/52637
2961         * dwarf2out.c (modified_type_die): Use scope_die_for.
2962         (gen_type_die_with_usage, dwarf2out_finish): Likewise.
2963         (uses_local_type_r, uses_local_type): New.
2964         (scope_die_for): Keep a type that uses a local type in local scope.
2965         Use get_context_die for namespace and type scope.
2966
2967 2012-06-19  Richard Guenther  <rguenther@suse.de>
2968
2969         PR middle-end/53470
2970         * tree.c (free_lang_data_in_type): Do not clear TYPE_CONTEXT but
2971         replace it with the first non-BLOCK context.
2972
2973 2012-06-18  Vladimir Makarov  <vmakarov@redhat.com>
2974
2975         PR rtl-optimization/53700
2976
2977         Backport from mainline
2978         2012-03-29  Vladimir Makarov  <vmakarov@redhat.com>
2979
2980         * ira-color.c (setup_left_conflict_sizes_p): Process all
2981         conflicting objects.
2982
2983 2012-06-18  Venkataramanan Kumar <venkataramanan.kumar@amd.com>
2984
2985         Backport from mainline
2986         2012-05-09 Uros Bizjak  <ubizjak@gmail.com>
2987
2988         PR target/52908
2989         * config/i386/sse.md (vec_widen_smult_hi_v4si): Expand using
2990         xop_pmacsdqh insn pattern instead of xop_mulv2div2di3_high.
2991         (vec_widen_smult_lo_v4si): Expand using xop_pmacsdql insn pattern
2992         instead of xop_mulv2div2di3_low.
2993         (xop_p<macs>dql): Fix vec_select selector.
2994         (xop_p<macs>dqh): Ditto.
2995         (xop_mulv2div2di3_low): Remove insn_and_split pattern.
2996         (xop_mulv2div2di3_high): Ditto.
2997
2998 2012-06-17  Uros Bizjak  <ubizjak@gmail.com>
2999
3000         Backport from mainline:
3001         2012-06-17  Uros Bizjak  <ubizjak@gmail.com>
3002
3003         * config/i386/sse.md (vcvtph2ps): Fix vec_select selector.
3004
3005 2012-06-16  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3006
3007         Backport from mainline:
3008         2012-06-03  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3009
3010         * config/pa/pa.h (MAX_PCREL17F_OFFSET): Define.
3011         * config/pa/pa.c (pa_attr_length_millicode_call): Use
3012         MAX_PCREL17F_OFFSET instead of fixed offset.
3013         (pa_attr_length_call): Likewise.
3014         (pa_attr_length_indirect_call): Likewise.
3015
3016 2012-06-15  Walter Lee  <walt@tilera.com>
3017
3018         Backport from mainline:
3019         2012-06-15  Walter Lee  <walt@tilera.com>
3020
3021         * config/tilegx/sync.md (atomic_fetch_<fetchop_name><mode>): Fix typo.
3022
3023         2012-06-14  Maxim Kuvyrkov  <maxim@codesourcery.com>
3024
3025         * config/tilegx/sync.md (atomic_fetch_sub<mode>): Fix typo.
3026
3027 2012-06-15  Aldy Hernandez  <aldyh@redhat.com>
3028
3029         Backport from mainline:
3030
3031         2012-05-31  Aldy Hernandez  <aldyh@redhat.com>
3032         * tree-ssa-loop-im.c (execute_sm): Do not check flag_tm.
3033         * gimple.h (block_in_transaction): Check for flag_tm.
3034
3035 2012-06-14  Aldy Hernandez  <aldyh@redhat.com>
3036
3037         PR tree-optimization/52558
3038
3039         Backport from mainline:
3040         2012-05-21  Aldy Hernandez  <aldyh@redhat.com>
3041         * gimple.h (gimple_set_in_transaction): Remove.
3042         (gimple_in_transaction): Look in BB instead.
3043         (gimple_statement_base): Remove in_transaction field.
3044         * basic-block.h (enum bb_flags): Add BB_IN_TRANSACTION.
3045         * trans-mem.c (compute_transaction_bits): Place transaction bit
3046         information into basic blocks.
3047
3048         2012-05-31  Aldy Hernandez  <aldyh@redhat.com>
3049
3050         PR tree-optimization/52558
3051         * cfg.c (alloc_aux_for_edge): Fix comment.
3052         (alloc_aux_for_edge): Remove static.
3053         * basic-block.h (alloc_aux_for_edge): Protoize.
3054         * tree-ssa-loop-im.c (execute_sm_if_changed): New.
3055         (execute_sm_if_changed_flag): New.
3056         (execute_sm_if_changed_flag_set): New.
3057         (execute_sm): Do not generate data races unless requested.
3058         (tree_ssa_lim_initialize): Call alloc_aux_for_edges.
3059         (tree_ssa_lim_finalize): Call free_aux_for_edges.
3060         * gimple.h (block_in_transaction): New.
3061         (gimple_in_transaction): Use block_in_transaction.
3062
3063 2012-06-14  Jakub Jelinek  <jakub@redhat.com>
3064
3065         Backported from mainline
3066         2012-06-12  Jakub Jelinek  <jakub@redhat.com>
3067
3068         PR rtl-optimization/53589
3069         * cfgrtl.c (force_nonfallthru_and_redirect): Do asm_goto_edge
3070         discovery even when e->dest != target.  If any LABEL_REF points
3071         to e->dest label, redirect it to target's label.
3072
3073         2012-06-07  Jakub Jelinek  <jakub@redhat.com>
3074
3075         PR middle-end/53580
3076         * omp-low.c (scan_omp_1_stmt): If check_omp_nesting_restrictions
3077         returns false, replace stmt with GIMPLE_NOP.
3078         (check_omp_nesting_restrictions): Instead of issuing warnings,
3079         issue errors and return false if any errors were reported.
3080
3081 2012-06-14  Richard Guenther  <rguenther@suse.de>
3082
3083         * BASE-VER: Set to 4.7.2.
3084         * DEV-PHASE: Set to prerelease.
3085
3086 2012-06-12  Christian Bruel  <christian.bruel@st.com>
3087
3088         PR target/53621
3089         * config/sh/sh.c (sh_option_override): Don't force
3090          flag_omit_frame_pointer and maccumulate_outgoing_args.
3091         * config/sh/sh.opt (maccumulate-outgoing-args): Init as Var.
3092
3093 2012-06-14  Release Manager
3094
3095         * GCC 4.7.1 released.
3096
3097 2012-06-13  Uros Bizjak  <ubizjak@gmail.com>
3098
3099         * config/ia64/sync.md (fetchop_name): Change ior attribute to "or".
3100
3101 2012-06-13  Richard Henderson  <rth@redhat.com>
3102
3103         * config/rs6000/sync.md (atomic_load, atomic_store): Use INT1 mode
3104         iterator instead of INT.
3105
3106 2012-06-08  Richard Henderson  <rth@redhat.com>
3107
3108         PR c++/53602
3109         * combine-stack-adj.c (force_move_args_size_note): Add ARGS_SIZE
3110         note to a clobber insn when no other insn is available.
3111
3112 2012-06-04  Paolo Carlini  <paolo.carlini@oracle.com>
3113
3114         PR c++/53524
3115         * doc/invoke.texi (Wenum-compare): Update documentation.
3116
3117 2012-06-04  Edmar Wienskoski  <edmar@freescale.com>
3118
3119         PR target/53559
3120         * config/rs6000/altivec.md (altivec_stvlx): Change machine mode of
3121         operands.
3122         (altivec_stvlxl): Ditto.
3123         (altivec_stvrx): Ditto.
3124         (altivec_stvrxl): Ditto.
3125
3126 2012-06-04  Aldy Hernandez  <aldyh@redhat.com>
3127
3128         PR middle-end/47530
3129         * trans-mem.c (expand_block_edges): Do not skip the first
3130         statement when resetting the BB.
3131
3132 2012-06-04  Richard Guenther  <rguenther@suse.de>
3133
3134         PR middle-end/53471
3135         * dwarf2out.c (dwarf2out_finish): If generating LTO do not
3136         create new assembler names.
3137
3138 2012-06-04  Richard Guenther  <rguenther@suse.de>
3139
3140         Backport from mainline
3141         2012-04-25  Jakub Jelinek  <jakub@redhat.com>
3142
3143         PR middle-end/52979
3144         * stor-layout.c (get_best_mode): Don't return mode with bitsize
3145         larger than maxbits.  Don't compute maxbits modulo align.
3146         Also check that unit bytes long store at bitpos / unit * unit
3147         doesn't affect bits beyond bitregion_end.
3148         * expmed.c (store_bit_field_1): Avoid trying insv if OP_MODE MEM
3149         would not fit into bitregion_start ... bitregion_end + 1 bit
3150         region.
3151         (store_split_bit_field): Decrease unit close to end of bitregion_end
3152         if access is restricted in order to avoid mutual recursion.
3153
3154 2012-06-04  Georg-Johann Lay  <avr@gjlay.de>
3155
3156         Backport from 2012-06-04 mainline r188172
3157
3158         PR target/46261
3159         * config/avr/avr-stdint.h: New file.
3160         * config.gcc (avr-*-*,tm_file): Use avr/avr-stdint.h instead of
3161         newlib-stdint.h
3162
3163 2012-06-04  Jakub Jelinek  <jakub@redhat.com>
3164
3165         PR tree-optimization/53550
3166         * tree-ssa-loop-niter.c (number_of_iterations_cond): If type
3167         is POINTER_TYPE_P, use sizetype as step type instead of type.
3168
3169 2012-06-04  Richard Guenther  <rguenther@suse.de>
3170             Eric Botcazou  <ebotcazou@adacore.com>
3171
3172         Backport from mainline
3173         2012-04-03  Eric Botcazou  <ebotcazou@adacore.com>
3174
3175         * expr.c (get_bit_range): Add OFFSET parameter and adjust BITPOS.
3176         Change type of BITOFFSET to signed.  Make sure the lower bound of
3177         the computed range is non-negative by adjusting OFFSET and BITPOS.
3178         (expand_assignment): Adjust call to get_bit_range.
3179
3180         2012-03-27  Eric Botcazou  <ebotcazou@adacore.com>
3181
3182         * expr.c (get_bit_range): Return the null range if the enclosing record
3183         is part of a larger bit field.
3184
3185         2012-03-20  Richard Guenther  <rguenther@suse.de>
3186
3187         * stor-layout.c (finish_bitfield_representative): Fallback
3188         to conservative maximum size if the padding up to the next
3189         field cannot be computed as a constant.
3190         (finish_bitfield_layout): If we cannot compute the distance
3191         between the start of the bitfield representative and the
3192         bitfield member start a new representative.
3193         * expr.c (get_bit_range): The distance between the start of
3194         the bitfield representative and the bitfield member is zero
3195         if the field offsets are not constants.
3196
3197         2012-03-16  Richard Guenther  <rguenther@suse.de>
3198
3199         * stor-layout.c (finish_bitfield_representative): Fall back
3200         to the conservative maximum size if we cannot compute the
3201         size of the tail padding.
3202
3203         2012-03-14  Richard Guenther  <rguenther@suse.de>
3204
3205         * tree.h (DECL_BIT_FIELD_REPRESENTATIVE): New define.
3206         * stor-layout.c (start_bitfield_representative): New function.
3207         (finish_bitfield_representative): Likewise.
3208         (finish_bitfield_layout): Likewise.
3209         (finish_record_layout): Call finish_bitfield_layout.
3210         * tree.c (free_lang_data_in_decl): Only free DECL_QUALIFIER
3211         for QUAL_UNION_TYPE fields.
3212         * tree-streamer-in.c (lto_input_ts_field_decl_tree_pointers):
3213         Stream DECL_BIT_FIELD_REPRESENTATIVE.
3214         * tree-streamer-out.c (write_ts_field_decl_tree_pointers): Likewise.
3215
3216         PR middle-end/52080
3217         PR middle-end/52097
3218         PR middle-end/48124
3219         * expr.c (get_bit_range): Unconditionally extract bitrange
3220         from DECL_BIT_FIELD_REPRESENTATIVE.
3221         (expand_assignment): Adjust call to get_bit_range.
3222
3223 2012-06-01  Eric Botcazou  <ebotcazou@adacore.com>
3224
3225         PR middle-end/53501
3226         * fold-const.c (fold_binary_loc): Refine previous change.
3227
3228 2012-06-01  Oleg Endo  <olegendo@gcc.gnu.org>
3229
3230         Backport from mainline
3231         2012-03-27  Chung-Lin Tang  <cltang@codesourcery.com>
3232
3233         PR target/52667
3234         * config/sh/sh.c (find_barrier): Add equality check of last_got to
3235         avoid going above orig insn.  Update comments.
3236
3237 2012-06-01  Oleg Endo  <olegendo@gcc.gnu.org>
3238
3239         Backport from mainline
3240         2012-03-21  Kaz Kojima  <kkojima@gcc.gnu.org>
3241
3242         PR target/52642
3243         * config/sh/sh.c (sh_expand_prologue): Emit blockage at the end of
3244         prologue for unwinder and profiler.
3245
3246 2012-06-01  Oleg Endo  <olegendo@gcc.gnu.org>
3247
3248         Backport from mainline
3249         2012-03-03  Kaz Kojima  <kkojima@gcc.gnu.org>
3250
3251         * config/sh/sh.md (abssi2): Add TARGET_SH1 condition.
3252
3253 2012-06-01  Oleg Endo  <olegendo@gcc.gnu.org>
3254
3255         Backport from mainline
3256         2012-03-03  Kaz Kojima  <kkojima@gcc.gnu.org>
3257
3258         * config/sh/sh.c (sh_dwarf_register_span): Don't apply
3259         DBX_REGISTER_NUMBER.
3260
3261 2012-06-01  Oleg Endo  <olegendo@gcc.gnu.org>
3262
3263         Backport from mainline
3264         2012-03-03  Kaz Kojima  <kkojima@gcc.gnu.org>
3265
3266         * config/sh/sh.c (shiftcosts): Return MAX_COST when the first
3267         operand is CONST_INT.  Take COSTS_N_INSNS into account.
3268         (sh_rtx_costs): Don't apply COSTS_N_INSNS to the return value of
3269         shiftcosts.     
3270
3271 2012-05-31  Georg-Johann Lay  <avr@gjlay.de>
3272
3273         * config/avr/avr.opt (-msp8): Document it.
3274         * doc/invoke.texi (AVR Options): Copy from trunk docu.
3275
3276 2012-05-31  Richard Guenther  <rguenther@suse.de>
3277
3278         PR middle-end/48493
3279         * expr.c (expand_assignment): Do not use movmisalign on
3280         non-memory.
3281
3282 2012-05-30  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3283
3284         PR target/52999
3285         * config/pa/pa.c (TARGET_SECTION_TYPE_FLAGS): Define.
3286         (pa_section_type_flags): New.
3287         (pa_legitimate_constant_p): Revert previous change.
3288
3289 2012-05-30  Aldy Hernandez  <aldyh@redhat.com>
3290
3291         Backport from mainline
3292         2012-05-25  Aldy Hernandez  <aldyh@redhat.com>
3293
3294         PR middle-end/53008
3295         * trans-mem.c (ipa_tm_create_version_alias): Output new_node if
3296         accessed indirectly.
3297         (ipa_tm_create_version): Same.
3298
3299 2012-05-30  Jason Merrill  <jason@redhat.com>
3300
3301         PR c++/53220
3302         * c-typeck.c (array_to_pointer_conversion): Give -Wc++-compat warning
3303         about array compound literals.
3304
3305 2012-05-30  Richard Guenther  <rguenther@suse.de>
3306
3307         PR middle-end/53501
3308         * fold-const.c (fold_binary_loc): Make sure to call
3309         fold_plusminus_mult_expr with the original sign of operands.
3310
3311 2012-05-30  Eric Botcazou  <ebotcazou@adacore.com>
3312
3313         * explow.c (probe_stack_range): Restore simple control flow and stop
3314         again when the probe cannot be generated if HAVE_check_stack.
3315
3316 2012-05-30  Jakub Jelinek  <jakub@redhat.com>
3317
3318         PR rtl-optimization/53519
3319         * combine.c (simplify_shift_const_1) <case NOT>: Use constm1_rtx
3320         instead of GEN_INT (GET_MODE_MASK (mode)) as second operand of XOR.
3321
3322 2012-05-29  Richard Guenther  <rguenther@suse.de>
3323
3324         PR tree-optimization/53516
3325         * tree-data-ref.c (stmt_with_adjacent_zero_store_dr_p): Reject
3326         bitfield accesses.
3327         * tree-vect-data-refs.c (vect_analyze_data_refs): Likewise.
3328
3329 2012-05-28  Bill Schmidt  <wschmidt@linux.ibm.com>
3330
3331         Backport from mainline
3332         2012-05-28  Richard Guenther  <rguenther@suse.de>
3333
3334         PR tree-optimization/53438
3335         * tree-sra.c (analyze_access_subtree): Correct bitfield exclusion.
3336
3337 2012-05-26  Eric Botcazou  <ebotcazou@adacore.com>
3338
3339         Backport from mainline
3340         2012-03-10  Chung-Lin Tang  <cltang@codesourcery.com>
3341
3342         PR rtl-optimization/52528
3343         * combine.c (can_combine_p): Add setting of subst_low_luid
3344         before call to expand_field_assignment().
3345
3346 2012-05-26  Martin Jambor  <mjambor@suse.cz>
3347
3348         Backport from mainline
3349         2012-05-23  Martin Jambor  <mjambor@suse.cz>
3350
3351         * ipa-inline-analysis.c (inline_merge_summary): Free operand_map.
3352
3353 2012-05-25  Eric Botcazou  <ebotcazou@adacore.com>
3354
3355         PR lto/52178
3356         * tree-inline.c (remap_gimple_op_r): Fix handling of FIELD_DECL.
3357         * tree.c (RETURN_TRUE_IF_VAR): Do not return true for PLACEHOLDER_EXPR.
3358
3359 2012-05-25  Alexander Ivchenko  <alexander.ivchenko@intel.com>
3360
3361         PR target/53435
3362         * config/i386/i386.c (ix86_expand_vec_perm): Use correct op.
3363         (ix86_expand_vec_perm): Use int mode instead of float.
3364
3365 2012-05-25  Eric Botcazou  <ebotcazou@adacore.com>
3366
3367         PR ada/52362
3368         * config.gcc (i[34567]86-*-mingw* | x86_64-*-mingw*): Set gas and
3369         gnu_ld variables to yes.
3370         * configure.ac (HAVE_GNU_LD): Move to after config.gcc inclusion.
3371         (HAVE_GNU_AS): Likewise.
3372         * config.in: Regenerate.
3373         * configure: Likewise.
3374
3375 2012-05-25  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
3376
3377         Backport from mainline
3378         2012-03-12  Richard Guenther  <rguenther@suse.de>
3379         * config/arm/arm.c (neon_dereference_pointer): Do not call
3380         covert during RTL expansion.
3381
3382 2012-05-24  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
3383
3384         Backport from mainline
3385         2012-05-18  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
3386
3387         PR target/53385
3388         * config/rs6000/rs6000.c (print_operand): Revise code that unsafely
3389         relied on signed overflow behavior.
3390
3391 2012-05-24  Richard Guenther  <rguenther@suse.de>
3392
3393         PR middle-end/53460
3394         * tree-profile.c (tree_profiling): Cleanup the CFG if
3395         execute_fixup_cfg requests it.
3396
3397 2012-05-24  Jakub Jelinek  <jakub@redhat.com>
3398
3399         PR tree-optimization/53465
3400         * tree-vrp.c (extract_range_from_cond_expr): First copy_value_range
3401         vr0 into *vr, then vrp_meet that.
3402         (vrp_meet): If one vr type is VR_UNDEFINED, ensure the result doesn't
3403         have any equivalences.
3404         (vrp_visit_phi_node): Call copy_value_range instead of vrp_meet the
3405         first time.
3406
3407 2012-05-23  Eric Botcazou  <ebotcazou@adacore.com>
3408
3409         * gimple.c (gimple_types_compatible_p_1) <ARRAY_TYPE>: Remove bogus
3410         size handling.
3411         (gimple_canonical_types_compatible_p) <ARRAY_TYPE>: Likewise.
3412         (iterative_hash_gimple_type): Adjust comment.
3413         (iterative_hash_canonical_type): Likewise.  Hash the bounds of the
3414         domain for an array type instead of the domain type itself.
3415
3416 2012-05-23  Georg-Johann Lay  <avr@gjlay.de>
3417
3418         Backport from 2012-05-23 mainline r187803
3419
3420         PR target/53448
3421         * config/avr/avr.h (ASM_OUTPUT_ALIGN): Don't inhibit .p2align 1.
3422         * config/avr/elf.h (ASM_OUTPUT_BEFORE_CASE_LABEL): Use
3423         ASM_OUTPUT_ALIGN.
3424
3425 2012-05-23  Ganesh Gopalasubramanian  <Ganesh.Gopalasubramanian@amd.com>
3426
3427         Backport from 2012-05-03 mainline r187075
3428
3429         * config/i386/driver-i386.c (host_detect_local_cpu): Reset
3430         has_fma4 for AMD processors with both fma3 and fma4 support.
3431
3432 2012-05-22  Richard Guenther  <rguenther@suse.de>
3433
3434         PR tree-optimization/53408
3435         * tree-vect-loop.c (vectorizable_induction): Properly check
3436         the restriction that we cannot handle induction results from
3437         the inner loop outside of the outer loop.
3438
3439 2012-05-21  Jakub Jelinek  <jakub@redhat.com>
3440
3441         PR tree-optimization/53436
3442         * omp-low.c (omp_build_component_ref): New function.
3443         (build_receiver_ref, build_sender_ref, create_task_copyfn): Use it.
3444
3445         PR tree-optimization/53366
3446         * tree-vect-slp.c (vect_supported_load_permutation_p): Don't shortcut
3447         tests if complex_numbers == 2, but there are non-complex number loads
3448         too.
3449
3450         PR tree-optimization/53409
3451         * tree-vect-loop.c (vect_analyze_loop_operations): Don't check
3452         vinfo_for_stmt (op_def_stmt) if op_def_stmt isn't inside loop.
3453
3454         PR tree-optimization/53410
3455         * fold-const.c (fold_binary_loc): Use build_zero_cst (type)
3456         instead of build_int_cst (type, 0) where vector types might be
3457         involved.
3458
3459 2012-05-21  Joseph Myers  <joseph@codesourcery.com>
3460
3461         PR c/53418
3462         * c-typeck.c (build_conditional_expr): Remove C_MAYBE_CONST_EXPR
3463         from folded operands before wrapping another around the
3464         conditional expression.
3465
3466 2012-05-21  Dave Boutcher  <daveboutcher@gmail.com>
3467             Patrick Marlier  <patrick.marlier@gmail.com>
3468
3469         * trans-mem.c (ipa_tm_transform_clone): Transform functions with
3470         indirect calls.
3471
3472 2012-05-21  H.J. Lu  <hongjiu.lu@intel.com>
3473
3474         Backport from mainline
3475         2012-05-21  H.J. Lu  <hongjiu.lu@intel.com>
3476
3477         PR target/53416
3478         * config/i386/i386.md (UNSPEC_RDRAND): Renamed to ...
3479         (UNSPECV_RDRAND): This.
3480         (rdrand<mode>_1): Updated.
3481
3482 2012-05-20  H.J. Lu  <hongjiu.lu@intel.com>
3483
3484         Backport from mainline
3485         2012-05-20  H.J. Lu  <hongjiu.lu@intel.com>
3486
3487         * config/i386/driver-i386.c (host_detect_local_cpu): Support
3488         RDRND, F16C and FSGSBASE.
3489
3490 2012-05-19  Eric Botcazou  <ebotcazou@adacore.com>
3491
3492         Backport from mainline
3493         2012-05-14  Eric Botcazou  <ebotcazou@adacore.com>
3494
3495         * tree-ssa-pre.c (can_value_number_call): Delete.
3496         (compute_avail): Skip all statements with side effects.
3497         <GIMPLE_CALL>: Skip calls to internal functions.
3498
3499 2012-05-18  David S. Miller  <davem@davemloft.net>
3500
3501         Backport r185385 from mainline
3502         2012-03-14  Richard Guenther  <rguenther@suse.de>
3503
3504         PR middle-end/52584
3505         * tree-vect-generic.c (type_for_widest_vector_mode): Take
3506         element type instead of mode, use build_vector_type_for_mode
3507         instead of the langhook, build a vector of proper signedness.
3508         (expand_vector_operations_1): Adjust.
3509
3510 2012-05-18  Olivier Hainque  <hainque@adacore.com>
3511
3512         * Makefile.in (FLAGS_TO_PASS): Pass $(libexecsubdir) instead of
3513         $(libsubdir) as libexecsubdir.
3514
3515 2012-05-16  Andrew Pinski  <apinski@cavium.com>
3516
3517         * gimple-fold.c (get_maxval_strlen): Move COND_EXPR handling under
3518         GIMPLE_ASSIGN.
3519
3520 2012-05-16  David S. Miller  <davem@davemloft.net>
3521
3522         * jump.c (delete_related_insns): If we remove a CALL, make sure
3523         we delete it's NOTE_INSN_CALL_ARG_LOCATION note too.
3524
3525 2012-05-16  Richard Henderson  <rth@redhat.com>
3526
3527         PR debug/52727
3528         * combine-stack-adj.c (prev_active_insn_bb): New.
3529         (next_active_insn_bb): New.
3530         (force_move_args_size_note): New.
3531         (combine_stack_adjustments_for_block): Use it.
3532
3533 2012-05-16  Olivier Hainque  <hainque@adacore.com>
3534
3535         * Makefile.in (install-no-fixedincludes): New target, former toplevel
3536         gcc-no-fixedincludes. Stash "include-fixed" in addition to "include".
3537         Add comments and improve stamp preservation across the whole sequence.
3538         (stmp-int-hdrs): Use move-if-change + cp -p to setup fix_dir/limits.h.
3539
3540 2012-05-16  Richard Guenther  <rguenther@suse.de>
3541
3542         PR tree-optimization/53364
3543         * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Properly
3544         detect a view-conversion of the decl.
3545
3546 2012-05-15  Jakub Jelinek  <jakub@redhat.com>
3547
3548         PR target/53358
3549  &n