OSDN Git Service

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