OSDN Git Service

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