OSDN Git Service

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