OSDN Git Service

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