OSDN Git Service

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