OSDN Git Service

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