OSDN Git Service

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