OSDN Git Service

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