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