OSDN Git Service

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