OSDN Git Service

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