OSDN Git Service

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