OSDN Git Service

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