OSDN Git Service

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