OSDN Git Service

PR c++/54652
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2014-01-25  Walter Lee  <walt@tilera.com>
2
3         Backport from mainline
4         2014-01-25  Walter Lee  <walt@tilera.com>
5
6         * config/tilegx/sync.md (atomic_fetch_sub): Fix negation and
7         avoid clobbering a live register.
8
9 2014-01-25  Walter Lee  <walt@tilera.com>
10
11         Backport from mainline
12         2014-01-25  Walter Lee  <walt@tilera.com>
13
14         * config/tilegx/tilegx-c.c (tilegx_cpu_cpp_builtins): 
15         Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{1,2}.
16         * config/tilegx/tilepro-c.c (tilepro_cpu_cpp_builtins): 
17         Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{1,2,4,8}.
18
19 2014-01-25  Walter Lee  <walt@tilera.com>
20
21         Backport from mainline
22         2014-01-25  Walter Lee  <walt@tilera.com>
23
24         * config/tilegx/tilegx.c (tilegx_gen_bundles): Delete barrier
25         insns before bundling.
26         * config/tilegx/tilegx.md (tile_network_barrier): Update
27         comment.
28
29 2014-01-25  Walter Lee  <walt@tilera.com>
30
31         Backport from mainline
32         2014-01-25  Walter Lee  <walt@tilera.com>
33
34         * config/tilegx/tilegx.c (tilegx_expand_builtin): Set
35         PREFETCH_SCHEDULE_BARRIER_P to true for prefetches.
36         * config/tilepro/tilepro.c (tilepro_expand_builtin): Ditto.
37
38 2014-01-25  Walter Lee  <walt@tilera.com>
39
40         Backport from mainline
41         2014-01-25  Walter Lee  <walt@tilera.com>
42
43         * config/tilepro/tilepro.md (ctzdi2): Use register_operand
44         predicate.
45         (clzdi2): Ditto.
46         (ffsdi2): Ditto.
47
48 2014-01-25  Walter Lee  <walt@tilera.com>
49
50         Backport from mainline
51         2014-01-25  Walter Lee  <walt@tilera.com>
52
53         * config/tilegx/tilegx.c (tilegx_expand_to_rtl_hook): New.
54         (TARGET_EXPAND_TO_RTL_HOOK): Define.
55
56 2014-01-22  Uros Bizjak  <ubizjak@gmail.com>
57             Jakub Jelinek  <jakub@redhat.com>
58
59         PR target/59880
60         * config/i386/i386.c (ix86_avoid_lea_for_addr): Return false
61         for SImode_address_operand operands.  Return false
62         if operands[1] is a REG.
63
64 2014-01-21  Andrey Belevantsev  <abel@ispras.ru>
65
66         Backport from mainline
67         2013-12-23  Andrey Belevantsev  <abel@ispras.ru>
68
69         PR rtl-optimization/57422
70         * sel-sched.c (mark_unavailable_hard_regs): Fix typo when calling
71         add_to_hard_reg_set.
72
73 2014-01-19  John David Anglin  <danglin@gcc.gnu.org>
74
75         * config/pa/pa.c (pa_attr_length_millicode_call): Correct length of
76         long non-pic millicode calls.
77
78 2014-01-17  John David Anglin  <danglin@gcc.gnu.org>
79
80         * config/pa/pa.c (pa_attr_length_indirect_call): Don't output a short
81         call to $$dyncall when TARGET_LONG_CALLS is true.
82
83 2014-01-17  Charles Baylis  <charles.baylis@linaro.org>
84
85         Backport from mainline
86         2013-12-19  Charles Baylis  <charles.baylis@linaro.org>
87
88         PR target/59142
89         * config/arm/arm-ldmstm.ml: Use low_register_operand for Thumb
90         patterns.
91         * config/arm/ldmstm.md: Regenerate.
92
93         2013-12-19  Charles Baylis  <charles.baylis@linaro.org>
94
95         PR target/59142
96         * config/arm/predicates.md (arm_hard_general_register_operand):
97         New predicate.
98         (arm_hard_register_operand): Remove.
99         * config/arm/arm-ldmstm.ml: Use arm_hard_general_register_operand
100         for all patterns.
101         * config/arm/ldmstm.md: Regenerate.
102
103 2014-01-16  Jakub Jelinek  <jakub@redhat.com>
104
105         PR target/59839
106         * config/i386/i386.c (ix86_expand_builtin): If target doesn't
107         satisfy operand 0 predicate for gathers, use a new pseudo as
108         subtarget.
109
110 2014-01-16  Richard Henderson  <rth@redhat.com>
111
112         PR debug/54694
113         * reginfo.c (global_regs_decl): Globalize.
114         * rtl.h (global_regs_decl): Declare.
115         * ira.c (do_reload): Diagnose frame_pointer_needed and it
116         reserved via global_regs.
117
118 2014-01-16  Marek Polacek  <polacek@redhat.com>
119
120         Backport from mainline
121         2014-01-16  Marek Polacek  <polacek@redhat.com>
122
123         PR middle-end/59827
124         * gimple-low.c (gimple_check_call_args): Don't use DECL_ARG_TYPE if
125         it is error_mark_node.
126
127 2014-01-14  Uros Bizjak  <ubizjak@gmail.com>
128
129         Revert:
130         2014-01-08  Uros Bizjak  <ubizjak@gmail.com>
131
132         * config/i386/i386.c (ix86_data_alignment): Calculate max_align
133         from prefetch_block tune setting.
134
135 2014-01-10  Richard Earnshaw  <rearnsha@arm.com>
136
137         PR rtl-optimization/54300
138         * regcprop.c (copyprop_hardreg_forward_1): Ensure any unused
139         outputs in a single-set are killed from the value chains.
140
141 2014-01-10  Huacai Chen  <chenhc@lemote.com>
142
143         * config/mips/driver-native.c (host_detect_local_cpu): Handle new
144         kernel strings for Loongson-2E/2F/3A.
145
146 2014-01-08  Uros Bizjak  <ubizjak@gmail.com>
147
148         Backport from mainline
149         2014-01-05  Uros Bizjak  <ubizjak@gmail.com>
150
151         * config/i386/i386.c (ix86_data_alignment): Calculate max_align
152         from prefetch_block tune setting.
153         (nocona_cost): Correct size of prefetch block to 64.
154
155 2013-12-28  Eric Botcazou  <ebotcazou@adacore.com>
156
157         * doc/invoke.texi (output file options): Add missing markers.
158
159 2013-12-11  Kai Tietz  <ktietz@redhat.com>
160
161         PR target/56807
162         * config/i386/i386.c (ix86_expand_prologue): plus_constant
163         takes no mode-argument.
164
165 2013-12-10  Kai Tietz  <ktietz@redhat.com>
166
167         PR target/56807
168         * config/i386/i386.c (ix86_expand_prologue): Address saved
169         registers stack-relative, not via frame-pointer.
170
171 2013-12-03  Marek Polacek  <polacek@redhat.com>
172
173         Backport from mainline
174         2013-12-03  Marek Polacek  <polacek@redhat.com>
175
176         PR c/59351
177         * c-decl.c (build_compound_literal): Allow compound literals with
178         empty initial value.
179
180 2013-12-01  Eric Botcazou  <ebotcazou@adacore.com>
181
182         * config/i386/winnt.c (i386_pe_asm_named_section): Be prepared for an
183         identifier node.
184
185 2013-11-28  Uros Bizjak  <ubizjak@gmail.com>
186
187         Backport from mainline
188         2013-11-23  Uros Bizjak  <ubizjak@gmail.com>
189
190         PR target/56788
191         * config/i386/i386.c (bdesc_multi_arg) <IX86_BUILTIN_VFRCZSS>:
192         Declare as MULTI_ARG_1_SF instruction.
193         <IX86_BUILTIN_VFRCZSD>: Decleare as MULTI_ARG_1_DF instruction.
194         * config/i386/sse.md (*xop_vmfrcz<mode>2): Rename
195         from *xop_vmfrcz_<mode>.
196         * config/i386/xopintrin.h (_mm_frcz_ss): Use __builtin_ia32_movss
197         to merge scalar result with __A.
198         (_mm_frcz_sd): Use __builtin_ia32_movsd to merge scalar
199         result with __A.
200
201 2013-11-19  Uros Bizjak  <ubizjak@gmail.com>
202
203         Backport from mainline
204         2013-11-18  Uros Bizjak  <ubizjak@gmail.com>
205
206         * config/i386/i386.c (ix86_decompose_address): Use REG_P instead of
207         ix86_address_subreg_operand.  Move subreg checks to
208         ix86_validate_address_register.  Move address override check to
209         ix86_legitimate_address_p.
210         (ix86_validate_address_register): New function.
211         (ix86_legitimate_address_p): Call ix86_validate_address_register
212         to validate base and index registers.  Add address override check
213         from ix86_decompose_address.
214         (ix86_decompose_address): Remove.
215
216         Backport from mainline
217         2013-11-17  Uros Bizjak  <ubizjak@gmail.com>
218
219         PR target/59153
220         * config/i386/i386.c (ix86_address_subreg_operand): Do not
221         reject non-integer subregs.
222         (ix86_decompose_address): Do not reject invalid CONST_INT RTXes.
223         Move check for invalid x32 constant addresses ...
224         (ix86_legitimate_address_p): ... here.
225
226         Bacport from mainline
227         2012-03-13  Uros Bizjak  <ubizjak@gmail.com>
228
229         * config/i386/i386.c (ix86_decompose_address): Prevent %fs:(%reg)
230         addresses only when %reg is not in word mode.
231
232 2013-11-10  Karlson2k  <k2k@narod.ru>
233             Kai Tietz  <ktietz@redhat.com>
234
235         Merged from trunk
236         PR plugins/52872
237         * configure.ac: Adding for exported symbols check
238         and for rdynamic-check executable-extension.
239         * configure: Regenerated.
240
241 2013-11-07  H.J. Lu  <hongjiu.lu@intel.com>
242
243         PR target/59034
244         * config/i386/i386.md (push peepholer/splitter): Use Pmode
245         with stack_pointer_rtx.
246
247 2013-11-05  Uros Bizjak  <ubizjak@gmail.com>
248
249         * config/i386/t-rtems (MULTILIB_MATCHES): Fix option typos.
250
251 2013-10-26  Uros Bizjak  <ubizjak@gmail.com>
252
253         Backport from mainline
254         2013-10-22  Uros Bizjak  <ubizjak@gmail.com>
255
256         PR target/58779
257         * config/i386/i386.c (put_condition_code) <case GTU, case LEU>:
258         Remove CCCmode handling.
259         <case LTU>: Return 'c' suffix for CCCmode.
260         <case GEU>: Return 'nc' suffix for CCCmode.
261         (ix86_cc_mode) <case GTU, case LEU>: Do not generate overflow checks.
262         * config/i386/i386.md (*sub<mode>3_cconly_overflow): Remove.
263         (*sub<mode>3_cc_overflow): Ditto.
264         (*subsi3_zext_cc_overflow): Ditto.
265
266 2013-10-26  Uros Bizjak  <ubizjak@gmail.com>
267
268         Backport from mainline
269         2013-10-19  Uros Bizjak  <ubizjak@gmail.com>
270
271         PR target/58792
272         * config/i386/i386.c (ix86_function_value_regno): Add DX_REG,
273         ST1_REG and XMM1_REG for 32bit and 64bit targets.  Also add DI_REG
274         and SI_REG for 64bit SYSV ABI targets.
275
276 2013-10-25  Richard Henderson  <rth@twiddle.net>
277
278         PR rtl/58542
279         * optabs.c (maybe_emit_atomic_exchange): Use create_input_operand
280         instead of create_convert_operand_to.
281         (maybe_emit_sync_lock_test_and_set): Likewise.
282         (expand_atomic_compare_and_swap): Likewise.
283         (maybe_emit_compare_and_swap_exchange_loop): Don't convert_modes.
284
285 2013-10-25  Eric Botcazou  <ebotcazou@adacore.com>
286
287         PR rtl-optimization/58831
288         * alias.c (init_alias_analysis): At the beginning of each iteration,
289         set the reg_seen[N] flag if static_reg_base_value[N] is non-null.
290
291 2013-10-25  Eric Botcazou  <ebotcazou@adacore.com>
292
293         * recog.c (search_ofs): New static variable moved from...
294         (peep2_find_free_register): ...here.
295         (peephole2_optimize): Initialize it.
296
297 2013-10-02  John David Anglin  <danglin@gcc.gnu.org>
298
299         * config.gcc (hppa*64*-*-linux*): Don't add pa/t-linux to tmake_file.
300
301 2013-09-23  Eric Botcazou  <ebotcazou@adacore.com>
302
303         * tree-ssa-ccp.c (insert_clobber_before_stack_restore): Recurse on copy
304         assignment statements.
305
306 2013-09-20  John David Anglin  <danglin@gcc.gnu.org>
307
308         * config/pa/pa.md: In "scc" insn patterns, change output template to
309         handle const0_rtx in reg_or_0_operand operands.
310
311 2013-09-18  Daniel Morris  <danielm@ecoscentric.com>
312             Paolo Carlini  <paolo.carlini@oracle.com>
313
314         PR c++/58458
315         * doc/implement-cxx.texi: Fix references to the C++ standards.
316
317 2013-09-14  John David Anglin  <danglin@gcc.gnu.org>
318
319         PR target/58382
320         * config/pa/pa.c (pa_expand_prologue): Change mode in gen_rtx_POST_INC
321         calls to word_mode.
322
323 2013-09-12  Terry Guo  <terry.guo@arm.com>
324
325         Backport from mainline
326         2012-09-17  Richard Guenther  <rguenther@suse.de>
327
328         PR lto/54598
329         * tree-streamer-in.c (unpack_ts_real_cst_value_fields): Use ggc'ed
330         FIXED_VALUE_TYPE instead of struct fixed_value.
331
332 2013-09-10  Richard Earnshaw  <rearnsha@arm.com>
333
334         PR target/58361
335         * arm/vfp.md (combine_vcvt_f32_<FCVTI32typename>): Fix pattern to
336         support conditional execution.
337         (combine_vcvt_f64_<FCVTI32typename>): Likewise.
338
339 2013-09-01  Uros Bizjak  <ubizjak@gmail.com>
340
341         Backport from mainline
342         2013-08-31  Uros Bizjak  <ubizjak@gmail.com>
343
344         * config/alpha/alpha.c (alpha_emit_conditional_move): Update
345         "cmp" RTX before signed_comparison_operator check to account
346         for "code" changes.
347
348 2013-09-01  John David Anglin  <danglin@gcc.gnu.org>
349
350         * config/pa/pa.md: Allow "const 0" operand 1 in "scc" insns.
351
352 2013-09-01  Iain Sandoe  <iain@codesourcery.com>
353
354         Backported from 4.8
355         2012-06-19  Steven Bosscher  <steven@gcc.gnu.org>
356
357         * doc/tm.texi.in (TARGET_OBJC_DECLARE_UNRESOLVED_CLASS_REFERENCE,
358         TARGET_OBJC_DECLARE_CLASS_DEFINITION): Add @hooks.
359         (ASM_DECLARE_CLASS_REFERENCE, ASM_DECLARE_UNRESOLVED_REFERENCE):
360         Remove.
361         * doc/tm.texi: Regenerate.
362         * config/darwin.h (ASM_OUTPUT_LABELREF): Remove special case for
363         .objc_class_name_*.
364         * config/darwin-c.c: Include target.h.
365         (darwin_objc_declare_unresolved_class_reference): New function.
366         (darwin_objc_declare_class_definition): New function.
367         (TARGET_OBJC_DECLARE_UNRESOLVED_CLASS_REFERENCE): Define.
368         (TARGET_OBJC_DECLARE_CLASS_DEFINITION): Define.
369
370 2013-09-01  Iain Sandoe  <iain@codesourcery.com>
371
372         Backport from mainline:
373         2013-07-22  Uros Bizjak  <ubizjak@gmail.com>
374
375         * config/i386/i386.md (nonlocal_goto_receiver): Delete insn if
376         it is not needed after split.
377
378         2013-07-20  Iain Sandoe  <iain@codesourcery.com>
379
380         PR target/51784
381         * config/i386/i386.c (output_set_got) [TARGET_MACHO]: Adjust to emit a
382         second label for nonlocal goto receivers. Don't output pic base labels
383         unless we're producing PIC; mark that action unreachable().
384         (ix86_save_reg): If the function contains a nonlocal label, save the
385         PIC base reg.
386         * config/darwin-protos.h (machopic_should_output_picbase_label): New.
387         * gcc/config/darwin.c (emitted_pic_label_num): New GTY.
388         (update_pic_label_number_if_needed): New.
389         (machopic_output_function_base_name): Adjust for nonlocal receiver
390         case.
391         (machopic_should_output_picbase_label): New.
392         * config/i386/i386.md (enum unspecv): UNSPECV_NLGR: New.
393         (nonlocal_goto_receiver): New insn and split.
394
395 2013-08-28  Uros Bizjak  <ubizjak@gmail.com>
396
397         Backport from mainline
398         2013-08-27  Christian Widmer  <shadow@umbrox.de>
399
400         PR target/57927
401         * config/i386/driver-i386.c (host_detect_local_cpu): Add detection
402         of Ivy Bridge processors.
403
404 2013-08-21  Richard Earnshaw  <rearnsha@arm.com>
405
406         PR target/56979
407         * arm.c (aapcs_vfp_allocate): Decompose the argument if the
408         suggested mode for the assignment isn't compatible with the
409         registers required.
410
411 2013-08-17  Uros Bizjak  <ubizjak@gmail.com>
412
413         Backport from mainline
414         2013-08-12  Perez Read  <netfirewall@gmail.com>
415
416         PR target/58132
417         * config/i386/i386.md (*movabs<mode>_1):  Add <ptrsize> PTR before
418         operand 0 for intel asm alternative.
419         (*movabs<mode>_2): Ditto for operand 1.
420
421 2013-08-13  Marek Polacek  <polacek@redhat.com>
422
423         Backport from 4.8:
424         2013-0813  Marek Polacek  <polacek@redhat.com>
425                    Jakub Jelinek  <jakub@redhat.com>
426
427         PR tree-optimization/57980
428         * tree-tailcall.c (process_assignment): Return false
429         when not dealing with integers or floats.
430
431 2013-08-12  David Edelsohn  <dje.gcc@gmail.com>
432
433         Backport from mainline
434         2013-02-14  Steven Bosscher  <steven@gcc.gnu.org>
435
436         * collect2-aix.h: Define F_LOADONLY.
437
438 2013-08-02  Eric Botcazou  <ebotcazou@adacore.com>
439
440         * config/sparc/sparc.c (sparc_emit_membar_for_model) <SMM_TSO>: Add
441         the implied StoreLoad barrier for atomic operations if before.
442
443 2013-07-11  Georg-Johann Lay  <avr@gjlay.de>
444
445         Backport from 2013-07-11 trunk r200901.
446
447         PR target/57631
448         * config/avr/avr.c (avr_set_current_function): Sanity-check signal
449         name seen by assembler/linker if available.
450
451 2013-07-10  Georg-Johann Lay  <avr@gjlay.de>
452
453         Backport from 2013-07-10 trunk r200872.
454
455         PR target/57844
456         * config/avr/avr.c (avr_prologue_setup_frame): Trunk -size to mode
457         of my_fp.
458
459 2013-07-10  Uros Bizjak  <ubizjak@gmail.com>
460
461         Backport from mainline
462         2013-07-06  Uros Bizjak  <ubizjak@gmail.com>
463
464         * config/i386/sse.md (sse_movlhps): Change alternative 3
465         of operand 2 to "m".
466
467 2013-07-09  Joseph Myers  <joseph@codesourcery.com>
468
469         * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Only
470         adjust register size for TDmode and TFmode for VSX registers.
471
472 2013-07-08  Eric Botcazou  <ebotcazou@adacore.com>
473
474         * Makefile.in (tree-ssa-reassoc.o): Add dependency on $(PARAMS_H).
475
476 2013-07-08  Jakub Jelinek  <jakub@redhat.com>
477
478         PR rtl-optimization/57829
479         * simplify-rtx.c (simplify_binary_operation_1) <case IOR>: Ensure that
480         mask bits outside of mode are just sign-extension from mode to HWI.
481
482 2013-07-05  Uros Bizjak  <ubizjak@gmail.com>
483
484         Backport from mainline
485         2013-06-20  Uros Bizjak  <ubizjak@gmail.com>
486
487         PR target/57655
488         * config/i386/i386.c (construct_container): Report error if
489         long double is used with disabled x87 float returns.
490
491 2013-06-21  David Edelsohn  <dje.gcc@gmail.com>
492
493         Backport from mainline
494         2013-06-19  David Edelsohn  <dje.gcc@gmail.com>
495
496         PR driver/57652
497         * collect2.c (collect_atexit): New.
498         (collect_exit): Delete.
499         (main): Register collect_atexit with atexit.
500         (collect_wait): Change collect_exit to exit.
501         (do_wait): Same.
502         * collect2.h (collect_exit): Delete.
503         * tlink.c (do_tlink): Rename exit to ret. Change collect_exit to exit.
504
505 2013-06-07  Uros Bizjak  <ubizjak@gmail.com>
506
507         Backport from mainline
508         2013-06-10  Uros Bizjak  <ubizjak@gmail.com>
509
510         * config/alpha/alpha.c (alpha_emit_xfloating_compare): Also use
511         cmp_code to construct REG_EQUAL note.
512
513         Backport from mainline
514         2013-06-05  Uros Bizjak  <ubizjak@gmail.com>
515
516         * config/alpha/alpha.c (alpha_emit_conditional_move): Swap all
517         GE, GT, GEU and GTU compares, modulo DImode compares with zero.
518
519         Backport from mainline
520         2013-05-23  Uros Bizjak  <ubizjak@gmail.com>
521
522         PR target/57379
523         * config/alpha/alpha.md (unspec): Add UNSPEC_XFLT_COMPARE.
524         * config/alpha/alpha.c (alpha_emit_xfloating_compare): Construct
525         REG_EQUAL note as UNSPEC_XFLT_COMPARE unspec.
526
527 2013-06-09  Jakub Jelinek  <jakub@redhat.com>
528
529         PR target/57568
530         * config/i386/i386.md (TARGET_READ_MODIFY_WRITE peepholes): Ensure
531         that operands[2] doesn't overlap with operands[0].
532
533 2013-05-22  Uros Bizjak  <ubizjak@gmail.com>
534
535         PR target/57356
536         * config/i386/i386.md (*movti_internal_rex64): Emit movaps/movups
537         for non-sse2 targets.  Simplify mode attribute calculation.
538
539 2013-05-17  Uros Bizjak  <ubizjak@gmail.com>
540
541         Backport from mainline
542         2013-05-16  Uros Bizjak  <ubizjak@gmail.com>
543
544         * config/i386/driver-i386.c (host_detect_local_cpu): Determine
545         cache parameters using detect_caches_amd also for CYRIX,
546         NSC and TM2 signatures.
547
548         2013-05-16  Uros Bizjak  <ubizjak@gmail.com>
549                     Dzianis Kahanovich  <mahatma@eu.by>
550
551         PR target/45359
552         PR target/46396
553         * config/i386/driver-i386.c (host_detect_local_cpu): Detect
554         VIA/Centaur processors and determine their cache parameters
555         using detect_caches_amd.
556
557         2013-05-15  Uros Bizjak  <ubizjak@gmail.com>
558
559         * config/i386/i386.c (ix86_option_override_internal): Add
560         PTA_POPCNT to corei7 entry.
561
562 2013-05-14  Richard Biener  <rguenther@suse.de>
563
564         PR gcov-profile/57269
565         Backport from mainline
566         2012-06-30  Nathan Sidwell  <nathan@acm.org>
567
568         * coverage.c (coverage_init): Read counts file before writing
569         graph header.
570
571 2013-05-13  Uros Bizjak  <ubizjak@gmail.com>
572
573         PR target/57264
574         Backport from mainline
575         2013-01-22  Jakub Jelinek  <jakub@redhat.com>
576
577         PR target/55686
578         * config/i386/i386.md (UNSPEC_STOS): New.
579         (strset_singleop, *strsetdi_rex_1, *strsetsi_1, *strsethi_1,
580         *strsetqi_1): Add UNSPEC_STOS.
581
582 2013-05-10  Joey Ye  <joey.ye@arm.com>
583
584         Backport from mainline
585         2012-11-29  Matthew Gretton-Dann  <matthew.gretton-dann@linaro.org>
586
587         PR target/54974
588         * config/arm/arm.md (thumb2_pool_range, pool_range): Add comment on
589         Thumb pool ranges.
590         (thumb1_extendhisi2): Reduce Thumb pool range.
591         (arm_movdi): Likewise.
592         (thumb1_movdi_insn): Likewise.
593         (thumb1_movsi_insn): Likewise.
594         (pic_load_addr_unified): Likewise.
595         (pic_load_addr_32bit): Likewise.
596         (pic_load_addr_thumb1): Likewise.
597         (thumb1_movhf): Likewise.
598         (arm_movsf_soft_insn): Likewise.
599         (thumb1_movsf_soft_insn): Likewise.
600         (movdf_soft_insn): Likewise.
601         (thumb1_movdf_soft_insn): Likewise.
602         * config/arm/neon.md (*neon_mov<mode>): Likewise.
603         (*neon_mov<mode>): Likwise.
604         * config/arm/thumb2.md: (*thumb2_movsi_insn): Likewise.
605         (*thumb2_movhi_insn): Likewise.
606         (*thumb2_extendqisi_v6): Likewise.
607         (*thumb2_zero_extendqisi_v6): Likewise.
608         (*thumb2_zero_extendqisi2_v6): Likewise.
609         * config/arm/vfp.md: (*thumb2_movsi_vfp): Likewise.
610         (*movdi_vfp): Likewise.
611         (*movdi_vfp_cortexa8): Likewise.
612         (*thumb2_movsf_vfp): Likewise.
613         (*thumb2_movdf_vfp): Likewise.
614
615 2013-05-10  Sebastian Huber  <sebastian.huber@embedded-brains.de>
616
617         * config/arm/t-rtems-eabi: Remove mthumb/march=armv7 multilib.
618         Add mthumb/march=armv7-a multilib.
619         Add mthumb/march=armv7-r multilib.
620         Add mthumb/march=armv7-a/mfpu=neon/mfloat-abi=hard multilib.
621
622 2013-05-10  Ralf Corsépius  <ralf.corsepius@rtems.org>
623
624         PR target/57237
625         * config/v850/t-rtems: Add more multilibs.
626
627 2013-05-07  Michael Meissner  <meissner@linux.vnet.ibm.com>
628
629         Backport from trunk
630         2013-05-03  Michael Meissner  <meissner@linux.vnet.ibm.com>
631
632         PR target/57150
633         * config/rs6000/rs6000.h (HARD_REGNO_CALLER_SAVE_MODE): Use DFmode
634         to save TFmode registers and DImode to save TImode registers for
635         caller save operations.
636         (HARD_REGNO_CALL_PART_CLOBBERED): TFmode and TDmode do not need to
637         mark being partially clobbered since they only use the first
638         double word.
639
640         * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): TFmode
641         and TDmode only use the upper 64-bits of each VSX register.
642
643 2013-05-03  Marek Polacek  <polacek@redhat.com>
644
645         Backport from mainline
646         2013-04-25  Marek Polacek  <polacek@redhat.com>
647
648         PR tree-optimization/57066
649         * builtins.c (fold_builtin_logb): Return +Inf for -Inf.
650
651 2013-04-30  Uros Bizjak  <ubizjak@gmail.com>
652
653         Backport from mainline
654         2013-04-29  Uros Bizjak  <ubizjak@gmail.com>
655
656         PR target/44578
657         * config/i386/i386.md (*zero_extendsidi2_rex64): Add "!" to m->?*y
658         alternative.
659         (*zero_extendsidi2): Ditto.
660
661         Backport from mainline
662         2013-04-29  Uros Bizjak  <ubizjak@gmail.com>
663
664         PR target/57098
665         * config/i386/i386.c (ix86_expand_vec_perm): Validize constant memory.
666
667 2013-04-29  Christian Bruel  <christian.bruel@st.com>
668
669         PR target/57108
670         * sh.md (tstsi_t_zero_extract_eq): Set mode for operand 0.
671
672 2013-04-27  Jakub Jelinek  <jakub@redhat.com>
673
674         PR target/56866
675         * config/i386/sse.md (xop_rotr<mode>3): Fix up computation of
676         the immediate rotate count.
677
678 2013-04-21  Eric Botcazou  <ebotcazou@adacore.com>
679
680         * cfgexpand.c (avoid_complex_debug_insns): Fix C++ism.
681
682 2013-04-19  Matthias Klose  <doko@ubuntu.com>
683
684         PR middle-end/56848
685         Re-apply
686         2013-04-01  Andrey Belevantsev  <abel@ispras.ru>
687
688         Backport from mainline
689         2013-02-25  Andrey Belevantsev  <abel@ispras.ru>
690         Alexander Monakov  <amonakov@ispras.ru>
691
692         PR middle-end/56077
693         * sched-deps.c (sched_analyze_insn): When reg_pending_barrier,
694         flush pending lists also on non-jumps.  Adjust comment.
695
696         Backport from 4.8:
697         2012-08-27  Maxim Kuvyrkov  <maxim@codesourcery.com>
698
699         * sched-deps.c (add_dependence_list_and_free): Simplify.
700         (flush_pending_list_and_free): Fix a hack that was fixing a hack.  Free
701         lists when add_dependence_list_and_free doesn't free them.
702
703 2013-04-19  Marek Polacek  <polacek@redhat.com>
704
705         Backport from mainline
706         2013-01-08  Steven Bosscher  <steven@gcc.gnu.org>
707                     Jakub Jelinek  <jakub@redhat.com>
708
709         PR tree-optimization/48189
710         * predict.c (predict_loops): If max is 0, don't call compare_tree_int.
711         If nitercst is 0, don't predict the exit edge.
712
713 2013-04-16  Jack Howarth  <howarth@bromo.med.uc.edu>
714
715         Backport from mainline
716         2012-05-29  Jack Howarth  <howarth@bromo.med.uc.edu>
717         * config/darwin.h (STARTFILE_SPEC): Use -no_new_main with -lgcrt1.o
718         on Darwin >= 12.
719         (DARWIN_CRT1_SPEC): Use -lcrt1.10.6.o when Darwin >= 10 and < 12.
720
721
722         2012-05-29  Jack Howarth  <howarth@bromo.med.uc.edu>
723         PR debug/53453
724         * doc/tm.texi: Update.
725         * doc/tm.texi.in (SDB and DWARF) <TARGET_FORCE_AT_COMP_DIR>: Add @hook.
726         * target.def (force_at_comp_dir): New hook.
727         * config/darwin.h (TARGET_FORCE_AT_COMP_DIR): Define.
728         * dwarf2out.c (dwarf2out_finish): Check targetm.force_at_comp_dir.
729
730 2013-04-15  Eric Botcazou  <ebotcazou@adacore.com>
731
732         PR target/56890
733         * config/sparc/sparc.c (enum sparc_mode_class): Add H_MODE value.
734         (S_MODES): Set H_MODE bit.
735         (SF_MODES): Set only S_MODE and SF_MODE bits.
736         (DF_MODES): Set SF_MODES and only D_MODE and DF_MODE bits.
737         (sparc_init_modes) <MODE_INT>: Set H_MODE bit for sub-word modes.
738         <MODE_VECTOR_INT>: Do not set SF_MODE for sub-word modes.
739         <MODE_FLOAT>: Likewise.
740
741 2013-04-13  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
742
743         Backport from mainline:
744         2013-04-06  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
745
746         PR target/55487
747         * config/pa/pa.c (legitimize_pic_address): Before incrementing label
748         nuses, make sure we have a label.
749
750 2013-04-11  Richard Biener  <rguenther@suse.de>
751
752         * BASE-VER: Set to 4.7.4.
753         * DEV-PHASE: Set to prerelease.
754
755 2013-04-11  Release Manager
756
757         * GCC 4.7.3 released.
758
759 2013-04-10  David S. Miller  <davem@davemloft.net>
760
761         * config/sparc/sparc.h (ASM_CPU_SPEC): Pass -Av8 if -mcpu=supersparc
762         or -mcpu=hypersparc.
763
764 2013-04-05  Eric Botcazou  <ebotcazou@adacore.com>
765
766         PR middle-end/56848
767         Revert
768         2013-04-01  Andrey Belevantsev  <abel@ispras.ru>
769
770         Backport from mainline
771         2013-02-25  Andrey Belevantsev  <abel@ispras.ru>
772         Alexander Monakov  <amonakov@ispras.ru>
773
774         PR middle-end/56077
775         * sched-deps.c (sched_analyze_insn): When reg_pending_barrier,
776         flush pending lists also on non-jumps.  Adjust comment.
777
778 2013-04-03  Richard Biener  <rguenther@suse.de>
779
780         PR tree-optimization/56501
781         * tree-switch-conversion.c (check_process_case): Properly
782         handle !single_succ_p case.
783
784 2013-04-03  Jakub Jelinek  <jakub@redhat.com>
785
786         Backported from mainline
787         2013-03-06  Jakub Jelinek  <jakub@redhat.com>
788
789         PR tree-optimization/56539
790         * tree-tailcall.c (adjust_return_value_with_ops): Use GSI_SAME_STMT
791         instead of GSI_CONTINUE_LINKING as last argument to
792         force_gimple_operand_gsi.  Adjust function comment.
793
794         2013-03-05  Jakub Jelinek  <jakub@redhat.com>
795
796         PR debug/56510
797         * cfgexpand.c (expand_debug_parm_decl): Call copy_rtx on incoming.
798         (avoid_complex_debug_insns): New function.
799         (expand_debug_locations): Call it.
800
801 2013-04-02  Wei Mi  <wmi@google.com>
802
803         * config/i386/i386.c (ix86_rtx_costs): Set proper rtx cost for
804         ashl<mode>3_mask, *<shift_insn><mode>3_mask and
805         *<rotate_insn><mode>3_mask in i386.md.
806
807 2013-04-02  Richard Biener  <rguenther@suse.de>
808
809         PR middle-end/56768
810         Backport from mainline
811         2012-05-16  Richard Guenther  <rguenther@suse.de>
812
813         * tree-inline.c (declare_return_variable): Properly handle
814         DECL_BY_REFERENCE return vars in SSA form.
815
816 2013-04-01  Wei Mi  <wmi@google.com>
817
818         * config/i386/i386.md (*ashl<mode>3_mask): Rewrite as define_insn.
819         Truncate operand 2 using %b asm operand modifier.
820         (*<shift_insn><mode>3_mask): Ditto.
821         (*<rotate_insn><mode>3_mask): Ditto.
822
823 2013-04-01  Uros Bizjak  <ubizjak@gmail.com>
824
825         * config/i386/i386.md (*movsf_internal): Change type of
826         alternatives 3,4 to imov.
827
828 2013-04-01  Andrey Belevantsev  <abel@ispras.ru>
829
830         Backport from mainline
831         2013-02-27  Andrey Belevantsev  <abel@ispras.ru>
832
833         PR middle-end/45472
834         * sel-sched-ir.c (merge_expr): Also change vinsn of merged expr
835         when the may_trap_p bit of the exprs being merged differs.
836         Reorder tests for speculativeness in the logical and operator.
837
838         Backport from mainline
839          2013-03-05  Jakub Jelinek  <jakub@redhat.com>
840
841         PR middle-end/56461
842         * sel-sched-ir.c (free_sched_pools): Release
843         succs_info_pool.stack[succs_info_pool.max_top] vectors too
844         if succs_info_pool.max_top isn't -1.
845
846 2013-04-01  Andrey Belevantsev  <abel@ispras.ru>
847
848         Backport from mainline
849         2012-02-19  Andrey Belevantsev  <abel@ispras.ru>
850
851         PR middle-end/55889
852         * sel-sched.c: Include ira.h.
853         (implicit_clobber_conflict_p): New function.
854         (moveup_expr): Use it.
855         * Makefile.in (sel-sched.o): Depend on ira.h.
856
857 2013-04-01  Andrey Belevantsev  <abel@ispras.ru>
858
859         Backport from mainline
860         2013-02-25  Andrey Belevantsev  <abel@ispras.ru>
861         Alexander Monakov  <amonakov@ispras.ru>
862
863         PR middle-end/56077
864         * sched-deps.c (sched_analyze_insn): When reg_pending_barrier,
865         flush pending lists also on non-jumps.  Adjust comment.
866
867 2013-03-30  Gerald Pfeifer  <gerald@pfeifer.com>
868
869         * doc/invoke.texi (AVR Options): Tweak link for AVR-LibC user manual.
870         * doc/extend.texi (Named Address Spaces): Ditto.
871         (Variable Attributes): Ditto.
872
873 2013-03-28  Eric Botcazou  <ebotcazou@adacore.com>
874
875         * toplev.c (process_options): Do not disable -fomit-frame-pointer on a
876         general basis if unwind info is requested and ACCUMULATE_OUTGOING_ARGS
877         is not enabled.
878
879 2013-03-27  Walter Lee  <walt@tilera.com>
880
881         Backport from mainline:
882         2013-03-27  Walter Lee  <walt@tilera.com>
883
884         * config/tilegx/tilegx.c (tilegx_expand_prologue): Avoid
885         double-decrement of next_scratch_regno.
886
887 2013-03-27  Walter Lee  <walt@tilera.com>
888
889         Backport from mainline:
890         2013-03-27  Walter Lee  <walt@tilera.com>
891
892         * config/tilegx/tilegx.md (insn_v1mulu): Fix predicates on
893         input operands.
894         (insn_v1mulus): Ditto.
895         (insn_v2muls): Ditto.
896
897 2013-03-27  Walter Lee  <walt@tilera.com>
898
899         Backport from mainline:
900         2013-03-27  Walter Lee  <walt@tilera.com>
901
902         * config/tilegx/tilegx.h (ASM_OUTPUT_ADDR_VEC_ELT): Delete
903         extra tab.
904         (ASM_OUTPUT_ADDR_DIFF_ELT): Ditto.
905
906 2013-03-27  Walter Lee  <walt@tilera.com>
907
908         Backport from mainline:
909         2013-03-27  Walter Lee  <walt@tilera.com>
910
911         * config/tilegx/tilegx.md (*sibcall_insn): Fix type atribute
912         for jr.
913         (*sibcall_value): Ditto.
914
915 2013-03-27  Walter Lee  <walt@tilera.com>
916
917         Backport from mainline:
918         2013-03-27  Walter Lee  <walt@tilera.com>
919
920         * config/tilegx/tilegx.md (insn_mnz_<mode>): Replaced by ...
921         (insn_mnz_v8qi): ... this ...
922         (insn_mnz_v4hi): ... and this.  Replace (const_int 0) with the
923         vector equivalent.
924         (insn_v<n>mnz): Replaced by ...
925         (insn_v1mnz): ... this ...
926         (insn_v2mnz): ... and this.  Replace (const_int 0) with the vector
927         equivalent.
928         (insn_mz_<mode>): Replaced by ...
929         (insn_mz_v8qi): ... this ...
930         (insn_mz_v4hi): ... and this.  Replace (const_int 0) with the
931         vector equivalent.
932         (insn_v<n>mz): Replaced by ...
933         (insn_v1mz): ... this ...
934         (insn_v2mz): ... and this.  Replace (const_int 0) with the vector
935         equivalent.
936
937 2013-03-26  Eric Botcazou  <ebotcazou@adacore.com>
938
939         * doc/invoke.texi (SPARC options): Remove -mlittle-endian.
940
941 2013-03-26  Richard Biener  <rguenther@suse.de>
942
943         Backport from mainline:
944         2013-03-13  Richard Biener  <rguenther@suse.de>
945
946         PR tree-optimization/56608
947         * tree-vect-slp.c (vect_schedule_slp): Do not remove scalar
948         calls when vectorizing basic-blocks.
949
950         2013-03-05  Richard Biener  <rguenther@suse.de>
951
952         PR tree-optimization/56270
953         * tree-vect-slp.c (vect_schedule_slp): Clear vectorized stmts
954         of loads after scheduling an SLP instance.
955
956 2013-03-26  Walter Lee  <walt@tilera.com>
957
958         Backport from mainline:
959         2013-03-26  Walter Lee  <walt@tilera.com>
960
961         * config/tilegx/tilegx.h (PROFILE_BEFORE_PROLOGUE): Define.
962         * config/tilegx/tilepro.h (PROFILE_BEFORE_PROLOGUE): Define.
963
964 2013-03-26  Walter Lee  <walt@tilera.com>
965
966         Backport from mainline:
967         2013-03-25  Walter Lee  <walt@tilera.com>
968
969         * config/tilegx/tilegx-builtins.h (enum tilegx_builtin): Add
970         TILEGX_INSN_SHUFFLEBYTES1.
971         * config/tilegx/tilegx.c (tilegx_builtin_info): Add entry for
972         shufflebytes1.
973         (tilegx_builtins): Ditto.
974         * config/tilegx/tilegx.md (insn_shufflebytes1): New pattern.
975
976 2013-03-26  Walter Lee  <walt@tilera.com>
977
978         Backport from mainline:
979         2013-03-25  Walter Lee  <walt@tilera.com>
980
981         * config/tilegx/tilegx.c (expand_set_cint64_one_inst): Inline
982         tests for constraint J, K, N, P.
983
984 2013-03-26  Walter Lee  <walt@tilera.com>
985
986         Backport from mainline:
987         2013-03-25  Walter Lee  <walt@tilera.com>
988
989         * config/tilegx/tilegx.c (tilegx_asm_preferred_eh_data_format):
990         Use indirect/pcrel encoding.
991         * config/tilepro/tilepro.c (tilepro_asm_preferred_eh_data_format):
992         Ditto.
993
994 2013-03-25  Oleg Endo  <olegendo@gcc.gnu.org>
995
996         Backport from mainline:
997         2013-03-13  Oleg Endo  <olegendo@gcc.gnu.org>
998         2013-03-14  Kaz Kojima  <kkojima@gcc.gnu.org>
999
1000         PR target/49880
1001         * config/sh/sh.opt (FPU_SINGLE_ONLY): New mask.
1002         (musermode): Convert to Var(TARGET_USERMODE).
1003         * config/sh/sh.h (SELECT_SH2A_SINGLE_ONLY, SELECT_SH4_SINGLE_ONLY,
1004         MASK_ARCH): Add MASK_FPU_SINGLE_ONLY.
1005         * config/sh/sh.c (sh_option_override): Use
1006         TARGET_FPU_DOUBLE || TARGET_FPU_SINGLE_ONLY for call-fp case.
1007         * config/sh/sh.md (udivsi3_i1, divsi3_i1): Remove ! TARGET_SH4
1008         condition.
1009         (udivsi3_i4, divsi3_i4): Use TARGET_FPU_DOUBLE condition instead of
1010         TARGET_SH4.
1011         (udivsi3_i4_single, divsi3_i4_single): Use
1012         TARGET_FPU_SINGLE_ONLY || TARGET_FPU_DOUBLE instead of TARGET_HARD_SH4.
1013         * config/sh/linux.h (TARGET_DEFAULT): Remove MASK_USERMODE.
1014         (SUBTARGET_OVERRIDE_OPTIONS): Set TARGET_USERMODE as default.
1015         * config/sh/netbsd-elf.h (TARGET_DEFAULT): Remove MASK_USERMODE.
1016         (SUBTARGET_OVERRIDE_OPTIONS): New.
1017
1018 2013-03-25  Oleg Endo  <olegendo@gcc.gnu.org>
1019
1020         Backport from mainline:
1021         2012-04-03  Kaz Kojima  <kkojima@gcc.gnu.org>
1022
1023         * config/sh/t-sh (MULTILIB_MATCHES): Match m2a-single-only
1024         to m2a-single instead of m2e.
1025
1026 2013-03-22  H.J. Lu  <hongjiu.lu@intel.com>
1027
1028         PR target/56560
1029         * config/i386/i386.h (ix86_args): Define only if USED_FOR_TARGET
1030         isn't defined.
1031
1032 2013-03-22  H.J. Lu  <hongjiu.lu@intel.com>
1033
1034         PR target/56560
1035         * config/i386/i386.c (init_cumulative_args): Also set
1036         cum->callee_return_avx256_p.
1037         (ix86_function_arg): Set cum->callee_pass_avx256_p.  Set
1038         cfun->machine->callee_pass_avx256_p only when MODE == VOIDmode.
1039
1040         * config/i386/i386.h (ix86_args): Add callee_pass_avx256_p and
1041         callee_return_avx256_p.
1042
1043 2013-03-20  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1044
1045         Backport from mainline:
1046         2012-12-04  Ian Lance Taylor  <iant@google.com>
1047
1048         * godump.c (find_dummy_types): Output a dummy type if we couldn't
1049         output the real type.
1050
1051 2013-03-20  Jack Howarth  <howarth@bromo.med.uc.edu>
1052
1053         PR bootstrap/56258
1054         * doc/generic.texi (POINTER_PLUS_EXPR): Use @item instead of @itemx.
1055         (PLUS_EXPR): Likewise.
1056         * doc/cppopts.texi (--help): Likewise.
1057         * doc/invoke.texi (-fenable-@var{kind}-@var{pass}): Likewise.
1058         (-fdump-rtl-cprop_hardreg): Likewise.
1059         (-fdump-rtl-csa): Likewise.
1060         (-fdump-rtl-dce): Likewise.
1061         (-fdump-rtl-dbr): Likewise.
1062         (-fdump-rtl-into_cfglayout): Likewise.
1063         (-fdump-rtl-outof_cfglayout): Likewise.
1064
1065 2013-03-18  Richard Earnshaw  <rearnsha@arm.com>
1066
1067         PR target/56470
1068         * config/arm/arm.c (shift_op): Validate RTL pattern on the fly.
1069         (arm_print_operand, case 'S'): Don't use shift_operator to validate
1070         the RTL.
1071
1072 2013-03-14  Seth LaForge  <sethml@google.com>
1073
1074         PR target/56351
1075         Backport from mainline
1076         2012-10-22  Julian Brown  <julian@codesourcery.com>
1077
1078         * config/arm/arm.h (CANNOT_CHANGE_MODE_CLASS): Avoid subreg'ing
1079         VFP D registers in big-endian mode.
1080
1081 2013-03-08  Joey Ye  <joey.ye@arm.com>
1082
1083         Backport from mainline
1084         2013-03-06  Joey Ye  <joey.ye@arm.com>
1085
1086         PR lto/50293
1087         * gcc.c (convert_white_space): New function.
1088         (main): Handles white space in function name.
1089
1090 2013-03-06  Oleg Endo  <olegendo@gcc.gnu.org>
1091
1092         Backport from mainline
1093         2013-03-06  Oleg Endo  <olegendo@gcc.gnu.org>
1094
1095         PR target/56529
1096         * config/sh/sh.c (sh_option_override): Check for TARGET_DYNSHIFT
1097         instead of TARGET_SH2 for call-table case.  Do not set sh_div_strategy
1098         to SH_DIV_CALL_TABLE for TARGET_SH2.
1099         * config.gcc (sh_multilibs): Add m2 and m2a to sh*-*-linux* multilib
1100         list.
1101         * doc/invoke.texi (SH options): Use table for mdiv= option.  Document
1102         mdiv= call-div1, call-fp, call-table options.
1103
1104 2013-03-06  Sebastian Huber <sebastian.huber@embedded-brains.de>
1105
1106         * config.gcc (arm*-*-rtemself*): New.
1107         (arm*-*-rtems*): Removed.
1108         (arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtemseabi*): Rename
1109         "arm*-*-rtemseabi*" to "arm*-*-rtems*".
1110
1111 2013-03-01  Richard Biener  <rguenther@suse.de>
1112
1113         Backport from mainline
1114         2012-12-12  Zdenek Dvorak  <ook@ucw.cz>
1115
1116         PR tree-optimization/55481
1117         * tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Fall
1118         back to general rewriting if we cannot leave an original biv
1119         definition alone.
1120
1121 2013-03-01  Richard Biener  <rguenther@suse.de>
1122
1123         Backport from mainline
1124         2012-04-10  Richard Guenther  <rguenther@suse.de>
1125
1126         PR middle-end/52888
1127         * gimple-low.c (gimple_check_call_args): Properly account for
1128         compatible aggregate types.
1129
1130 2013-02-26  Nick Clifton  <nickc@redhat.com>
1131
1132         PR target/56453
1133         Import this patch from the mainline:
1134
1135         2012-08-17  Nick Clifton  <nickc@redhat.com>
1136
1137         * config/fr30/fr30.md (cbranchsi4): Remove mode from comparison.
1138         (branch_true): Likewise.
1139         (branch_false): Likewise.
1140
1141 2013-02-26  Jakub Jelinek  <jakub@redhat.com>
1142
1143         PR tree-optimization/56443
1144         * tree-vect-stmts.c (get_vectype_for_scalar_type_and_size): For
1145         overaligned types, pass TYPE_UNSIGNED (scalar_type) as second argument
1146         to type_for_mode langhook.
1147
1148 2013-02-21  Jakub Jelinek  <jakub@redhat.com>
1149
1150         PR bootstrap/56258
1151         * doc/invoke.texi (-fdump-rtl-pro_and_epilogue): Use @item
1152         instead of @itemx.
1153
1154 2013-02-19  Jakub Jelinek  <jakub@redhat.com>
1155
1156         Backported from mainline
1157         2013-02-19  Jakub Jelinek  <jakub@redhat.com>
1158
1159         PR tree-optimization/56350
1160         * tree-vect-loop.c (vectorizable_reduction): If orig_stmt, return false
1161         if haven't found reduction or nested cycle operand, rather than
1162         asserting we must find it.
1163
1164         PR tree-optimization/56381
1165         * tree-ssa-pre.c (create_expression_by_pieces): Fix up last argument
1166         to fold_build3.
1167
1168         2013-02-08  Jakub Jelinek  <jakub@redhat.com>
1169
1170         PR tree-optimization/56250
1171         * fold-const.c (extract_muldiv_1) <case NEGATE_EXPR>: Don't optimize
1172         if type is unsigned and code isn't MULT_EXPR.
1173
1174         2013-02-06  Jakub Jelinek  <jakub@redhat.com>
1175
1176         PR middle-end/56217
1177         * omp-low.c (use_pointer_for_field): Return false if
1178         lower_send_shared_vars doesn't generate any copy-out code.
1179
1180         2012-11-27  Jakub Jelinek  <jakub@redhat.com>
1181
1182         PR tree-optimization/55110
1183         * tree-vect-loop.c (vectorizable_reduction): Don't assert
1184         that STMT_VINFO_RELATED_STMT of orig_stmt is stmt.
1185
1186 2013-02-18  Richard Biener  <rguenther@suse.de>
1187
1188         Revert
1189         2013-02-04  Richard Biener  <rguenther@suse.de>
1190
1191         Backport from mainline
1192         2012-07-04  Richard Guenther  <rguenther@suse.de>
1193
1194         PR tree-optimization/53844
1195         * tree-ssa-dse.c (dse_possible_dead_store_p): Properly handle
1196         the loop virtual PHI.
1197
1198 2013-02-13  David S. Miller  <davem@davemloft.net>
1199
1200         * expmed.c (expand_shift_1): Only strip scalar integer subregs.
1201
1202 2013-02-11  Uros Bizjak  <ubizjak@gmail.com>
1203
1204         Backport from mainline
1205         2013-02-11  Uros Bizjak  <ubizjak@gmail.com>
1206
1207         PR rtl-optimization/56275
1208         * simplify-rtx.c (avoid_constant_pool_reference): Check that
1209         offset is non-negative and less than cmode size before
1210         calling simplify_subreg.
1211
1212 2013-02-09  Uros Bizjak  <ubizjak@gmail.com>
1213
1214         Backport from mainline
1215         2013-02-08  Uros Bizjak  <ubizjak@gmail.com>
1216
1217         * config/i386/sse.md (FMAMODEM): New mode iterator.
1218         (fma<mode>4, fms<mode>4, fnma<mode>4, fnms<mode>4): Use FMAMODEM
1219         mode iterator. Do not use TARGET_SSE_MATH in insn constraint.
1220
1221         2013-02-08  Uros Bizjak  <ubizjak@gmail.com>
1222
1223         * config/i386/gnu-user.h (TARGET_CAN_SPLIT_STACK): Define only
1224         when HAVE_GAS_CFI_PERSONALITY_DIRECTIVE is set.
1225         * config/i386/gnu-user64.h (TARGET_CAN_SPLIT_STACK): Ditto.
1226
1227 2013-02-08  Michael Meissner  <meissner@linux.vnet.ibm.com>
1228
1229         Backport from mainline
1230         2013-02-08  Michael Meissner  <meissner@linux.vnet.ibm.com>
1231
1232         PR target/56043
1233         * config/rs6000/rs6000.c (rs6000_builtin_vectorized_libmass):
1234         If there is no implicit builtin declaration, just return NULL.
1235
1236 2013-02-08  David Edelsohn  <dje.gcc@gmail.com>
1237             Michael Meissner  <meissner@linux.vnet.ibm.com>
1238
1239         Backport from mainline
1240         * config/rs6000/rs6000.c (rs6000_option_override_internal): Clear
1241         MASK_VSX from set_masks if OS_MISSING_ALTIVEC.
1242
1243 2013-02-07  David S. Miller  <davem@davemloft.net>
1244
1245         * dwarf2out.c (based_loc_descr): Perform leaf register remapping
1246         on 'reg'.
1247         * var-tracking.c (vt_add_function_parameter): Test the presence of
1248         HAVE_window_save properly and do not remap argument registers when
1249         we have a leaf function.
1250
1251 2013-02-07  Uros Bizjak  <ubizjak@gmail.com>
1252
1253         Backport from mainline
1254         2013-02-07  Uros Bizjak  <ubizjak@gmail.com>
1255
1256         PR bootstrap/56227
1257         * ggc-page.c (ggc_print_statistics): Use HOST_LONG_LONG_FORMAT
1258         instead of "ll".
1259         * config/i386/i386.c (ix86_print_operand): Ditto.
1260
1261 2013-02-07  Alan Modra  <amodra@gmail.com>
1262
1263         PR target/53040
1264         * config/rs6000/rs6000.c (rs6000_savres_strategy): When using
1265         static chain, set REST_INLINE_FPRS too.
1266
1267 2013-02-06  David Edelsohn  <dje.gcc@gmail.com>
1268
1269         Backport from mainline
1270         2013-01-25  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
1271
1272         * configure.ac (gcc_cv_ld_static_dynamic): Define for AIX native ld.
1273         * configure: Regenerate.
1274
1275 2013-02-05  David Edelsohn  <dje.gcc@gmail.com>
1276
1277         Backport from mainline
1278         2013-02-03  David Edelsohn  <dje.gcc@gmail.com>
1279                     Andrew Dixie  <andrewd@gentrack.com>
1280
1281         * collect2.c (GCC_CHECK_HDR): Do not scan objects with F_LOADONLY
1282         flag set.
1283
1284 2013-02-05  Richard Biener  <rguenther@suse.de>
1285
1286         Backport from mainline
1287         2012-12-10  Richard Biener  <rguenther@suse.de>
1288
1289         PR tree-optimization/55107
1290         * tree-ssa-pre.c (struct pre_stats): Remove constified field.
1291         (bitmap_set_replace_value): Add gcc_unreachable.
1292         (do_regular_insertion): Re-write all_same handling.  Insert
1293         an assignment instead of a PHI in this case.
1294         (execute_pre): Do not record constified events.
1295
1296 2013-02-05  Richard Biener  <rguenther@suse.de>
1297
1298         PR tree-optimization/54767
1299         * tree-vrp.c (vrp_visit_phi_node): For PHI arguments coming via
1300         backedges drop all symbolical range information.
1301         (execute_vrp): Compute backedges.
1302
1303 2013-02-04  Richard Biener  <rguenther@suse.de>
1304
1305         Backport from mainline
1306         2012-01-11  Richard Guenther  <rguenther@suse.de>
1307
1308         PR tree-optimization/44061
1309         * tree-vrp.c (extract_range_basic): Compute zero as
1310         value-range for __builtin_constant_p of function parameters.
1311
1312         2013-01-08  Jakub Jelinek  <jakub@redhat.com>
1313
1314         PR middle-end/55890
1315         * tree-ssa-ccp.c (evaluate_stmt): Use gimple_call_builtin_class_p.
1316
1317 2013-02-04  Richard Biener  <rguenther@suse.de>
1318
1319         Backport from mainline
1320         2012-07-04  Richard Guenther  <rguenther@suse.de>
1321
1322         PR tree-optimization/53844
1323         * tree-ssa-dse.c (dse_possible_dead_store_p): Properly handle
1324         the loop virtual PHI.
1325
1326         2012-12-13  Richard Biener  <rguenther@suse.de>
1327
1328         PR lto/55660
1329         * tree-streamer.c (record_common_node): Check that we are not
1330         recursively pre-loading nodes we want to skip.  Handle
1331         char_type_node appearing as part of va_list_type_node.
1332
1333 2013-02-04  Richard Biener  <rguenther@suse.de>
1334
1335         PR middle-end/55890
1336         * gimple.h (gimple_call_builtin_class_p): New function.
1337         * gimple.c (validate_call): New function.
1338         (gimple_call_builtin_class_p): Likewise.
1339         * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
1340         Use gimple_call_builtin_class_p.
1341         (find_func_clobbers): Likewise.
1342         * tree-ssa-strlen.c (adjust_last_stmt): Likewise.
1343         (strlen_optimize_stmt): Likewise.
1344
1345 2013-02-01  Jakub Jelinek  <jakub@redhat.com>
1346
1347         Backported from mainline
1348         2013-01-28  Jakub Jelinek  <jakub@redhat.com>
1349
1350         PR tree-optimization/56125
1351         * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Don't optimize
1352         pow(x,c) into sqrt(x) * powi(x, n/2) or
1353         1.0 / (sqrt(x) * powi(x, abs(n/2))) if c is an integer or when
1354         optimizing for size.
1355         Don't optimize pow(x,c) into powi(x, n/3) * powi(cbrt(x), n%3) or
1356         1.0 / (powi(x, abs(n)/3) * powi(cbrt(x), abs(n)%3)) if 2c is an
1357         integer.
1358
1359         2013-01-25  Jakub Jelinek  <jakub@redhat.com>
1360
1361         PR tree-optimization/56098
1362         * tree-ssa-phiopt.c (nt_init_block): Don't call add_or_mark_expr
1363         for stmts with volatile ops.
1364         (cond_store_replacement): Don't optimize if assign has volatile ops.
1365         (cond_if_else_store_replacement_1): Don't optimize if either
1366         then_assign or else_assign have volatile ops.
1367
1368         2013-01-23  Jakub Jelinek  <jakub@redhat.com>
1369
1370         PR target/49069
1371         * config/arm/arm.md (cbranchdi4, cstoredi4): Use s_register_operand
1372         instead of cmpdi_operand for first comparison operand.
1373         Don't assert that comparison operands aren't both constants.
1374
1375         2013-01-21  Jakub Jelinek  <jakub@redhat.com>
1376
1377         PR tree-optimization/56051
1378         * fold-const.c (fold_binary_loc): Don't fold
1379         X < (cast) (1 << Y) into (X >> Y) != 0 if cast is either
1380         a narrowing conversion, or widening conversion from signed
1381         to unsigned.
1382
1383         2013-01-18  Jakub Jelinek  <jakub@redhat.com>
1384
1385         PR middle-end/56015
1386         * expr.c (expand_expr_real_2) <case COMPLEX_EXPR>: Handle
1387         the case where writing real complex part of target modifies
1388         op1.
1389
1390         2013-01-15  Jakub Jelinek  <jakub@redhat.com>
1391
1392         PR target/55940
1393         * function.c (thread_prologue_and_epilogue_insns): Always
1394         add crtl->drap_reg to set_up_by_prologue.set, even if
1395         stack_realign_drap is false.
1396
1397         2013-01-10  Jakub Jelinek  <jakub@redhat.com>
1398
1399         PR tree-optimization/55921
1400         * tree-complex.c (expand_complex_asm): New function.
1401         (expand_complex_operations_1): Call it for GIMPLE_ASM.
1402
1403         2013-01-03  Jakub Jelinek  <jakub@redhat.com>
1404
1405         PR rtl-optimization/55838
1406         * loop-iv.c (iv_number_of_iterations): Call lowpart_subreg on
1407         iv0.step, iv1.step and step.
1408
1409         2012-11-23  Jakub Jelinek  <jakub@redhat.com>
1410
1411         PR c++/54046
1412         * Makefile.in (gimple-low.o): Depend on langhooks.h.
1413         * gimple-low.c: Include langhooks.c.
1414         (block_may_fallthru): Handle TARGET_EXPR and ERROR_MARK,
1415         by default call lang_hooks.block_may_fallthru.
1416         * langhooks.h (struct lang_hooks): Add block_may_fallthru
1417         langhook.
1418         * langhooks-def.h (LANG_HOOKS_BLOCK_MAY_FALLTHRU): Define.
1419         (LANG_HOOKS_INITIALIZER): Use it.
1420
1421         2012-11-20  Jakub Jelinek  <jakub@redhat.com>
1422
1423         PR middle-end/55094
1424         * builtins.c (expand_builtin_trap): Add REG_ARGS_SIZE note
1425         on the trap insn for !ACCUMULATE_OUTGOING_ARGS.
1426         * cfgcleanup.c (outgoing_edges_match): Don't look at debug insns
1427         on the first old_insns_match_p call.  For !ACCUMULATE_OUTGOING_ARGS
1428         fail if the last real insn doesn't have REG_ARGS_SIZE note.
1429
1430         2012-11-17  Jakub Jelinek  <jakub@redhat.com>
1431
1432         PR tree-optimization/55236
1433         * fold-const.c (make_range_step) <case NEGATE_EXPR>: For -fwrapv
1434         and signed ARG0_TYPE, force low and high to be non-NULL.
1435
1436         2012-11-13  Jakub Jelinek  <jakub@redhat.com>
1437
1438         PR rtl-optimization/54127
1439         * cfgrtl.c (force_nonfallthru_and_redirect): When redirecting
1440         asm goto labels from BB_HEAD (e->dest) to target bb, decrement
1441         LABEL_NUSES of BB_HEAD (e->dest) and increment LABEL_NUSES of
1442         BB_HEAD (target) appropriately and adjust JUMP_LABEL and/or
1443         REG_LABEL_TARGET and REG_LABEL_OPERAND.
1444
1445 2013-02-01  Eric Botcazou  <ebotcazou@adacore.com>
1446
1447         * fold-const.c (make_range_step) <TRUTH_NOT_EXPR>: Bail out if the
1448         range isn't testing for zero.
1449
1450 2013-01-29  Richard Biener  <rguenther@suse.de>
1451
1452         PR tree-optimization/56113
1453         * tree-ssa-structalias.c (equiv_class_lookup): Also return
1454         the bitmap leader.
1455         (label_visit): Free duplicate bitmaps and record the leader instead.
1456         (perform_var_substitution): Adjust.
1457
1458 2013-01-28  Serowk  <serowk@yandex.ru>
1459
1460         PR target/35294
1461         * config/arm/arm.c (arm_expand_binop_builtin): Add new parameter.
1462         Fix mode checks to allow for the passing of constants in the
1463         second parameter.
1464         (arm_expand_builtin): Adjust calls to arm_expand_binop_builtin.
1465         Add entries in the switch statement for builtin iwmmxt vector
1466         shift and rotate builtins.
1467
1468 2013-01-27  Uros Bizjak  <ubizjak@gmail.com>
1469
1470         Backport from mainline
1471         2013-01-27  Uros Bizjak  <ubizjak@gmail.com>
1472
1473         PR target/56114
1474         * config/i386/i386.md (*movabs<mode>_1): Add square brackets around
1475         operand 0 in movabs insn template for -masm=intel asm alternative.
1476         (*movabs<mode>_2): Ditto for operand 1.
1477
1478 2013-01-27  Uros Bizjak  <ubizjak@gmail.com>
1479
1480         Backport from mainline
1481         2013-01-22  Uros Bizjak  <ubizjak@gmail.com>
1482
1483         PR target/56028
1484         * config/i386/i386.md (*movti_internal_rex64): Change (o,riF)
1485         alternative to (o,r).
1486         (*movdi_internal_rex64): Remove (!o,n) alternative.
1487         (DImode immediate->memory splitter): Remove.
1488         (DImode immediate->memory peephole2): Remove.
1489         (movtf): Enable for TARGET_64BIT || TARGET_SSE.
1490         (*movtf_internal_rex64): Rename from *movtf_internal. Change (!o,F*r)
1491         alternative to (!o,*r).
1492         (*movtf_internal_sse): New pattern.
1493         (*movxf_internal_rex64): New pattern.
1494         (*movxf_internal): Disable for TARGET_64BIT.
1495         (*movdf_internal_rex64): Remove (!o,F) alternative.
1496
1497         2013-01-23  Uros Bizjak  <ubizjak@gmail.com>
1498
1499         * config/i386/i386.md (*movdf_internal_rex64): Disparage alternatives
1500         involving stack registers slightly.
1501
1502         2013-01-24  Uros Bizjak  <ubizjak@gmail.com>
1503
1504         * config/i386/constraints.md (Yf): New constraint.
1505         * config/i386/i386.md (*movdf_internal_rex64): Use Yf*f instead
1506         of f constraint to conditionaly disable x87 register preferences.
1507         (*movdf_internal): Ditto.
1508         (*movsf_internal): Ditto.
1509
1510         2012-01-24  Uros Bizjak  <ubizjak@gmail.com>
1511
1512         * config/i386/i386.md (*movti_internal_rex64): Add (o,e) alternative.
1513         (*movtf_internal_rex64): Add (!o,C) alternative
1514         (*movxf_internal_rex64): Ditto.
1515         (*movdf_internal_rex64): Add (?r,C) and (?m,C) alternatives.
1516
1517 2013-01-25  Georg-Johann Lay  <avr@gjlay.de>
1518
1519         * doc/invoke.texi (AVR Built-in Macros): Document __XMEGA__.
1520
1521 2013-01-24  Martin Jambor  <mjambor@suse.cz>
1522
1523         Backport from mainline
1524         2013-01-04  Martin Jambor  <mjambor@suse.cz>
1525
1526         PR tree-optimization/55755
1527         * tree-sra.c (sra_modify_assign): Do not check that an access has no
1528         children when trying to avoid producing a VIEW_CONVERT_EXPR.
1529
1530 2013-01-21  Uros Bizjak  <ubizjak@gmail.com>
1531
1532         Backport from mainline
1533         2013-01-21  Uros Bizjak  <ubizjak@gmail.com>
1534
1535         * config/i386/i386.md (enabled): Do not disable fma4 for TARGET_FMA.
1536
1537 2013-01-21  Uros Bizjak  <ubizjak@gmail.com>
1538
1539         PR rtl-optimization/56023
1540         * haifa-sched.c (fix_inter_tick): Do not update ticks of instructions,
1541         dependent on debug instruction.
1542
1543 2013-01-21  Martin Jambor  <mjambor@suse.cz>
1544
1545         Backport from mainline
1546         2013-01-17  Martin Jambor  <mjambor@suse.cz>
1547
1548         PR tree-optimizations/55264
1549         * cgraph.c (cgraph_create_virtual_clone): Mark clones as non-virtual.
1550         * cgraph.h (cgraph_only_called_directly_p_or_aliased_p): Return false
1551         for virtual functions.
1552         * ipa-inline-transform.c (can_remove_node_now_p_1): Never return true
1553         for virtual methods.
1554         * ipa.c (cgraph_remove_unreachable_nodes): Never return true for
1555         virtual methods before inlining is over.
1556
1557 2013-01-17  Uros Bizjak  <ubizjak@gmail.com>
1558
1559         Backport from mainline
1560         2012-01-17  Uros Bizjak  <ubizjak@gmail.com>
1561
1562         PR target/55981
1563         * config/i386/sync.md (atomic_store<mode>): Generate SWImode
1564         store through atomic_store<mode>_1.
1565         (atomic_store<mode>_1): Macroize insn using SWI mode iterator.
1566
1567 2013-01-16  Richard Biener  <rguenther@suse.de>
1568
1569         PR middle-end/55882
1570         * emit-rtl.c (set_mem_attributes_minus_bitpos): Correctly
1571         account for bitpos when computing alignment.
1572
1573 2013-01-14  Georg-Johann Lay  <avr@gjlay.de>
1574
1575         Backport from 2013-01-14 trunk r195169.
1576
1577         PR target/55974
1578         * config/avr/avr-c.c (avr_cpu_cpp_builtins): Define __FLASH
1579         etc. to 1 and not to __flash.
1580         Use LL suffix for __INT24_MAX__ with -mint8.
1581         Use ULL suffix for __UINT24_MAX__ with -mint8.
1582
1583 2013-01-14  Matthias Klose  <doko@ubuntu.com>
1584
1585         * doc/invoke.texi: Document -print-multiarch.
1586         * doc/install.texi: Document --enable-multiarch.
1587         * doc/fragments.texi: Document MULTILIB_OSDIRNAMES, MULTIARCH_DIRNAME.
1588         * configure.ac: Add --enable-multiarch option.
1589         Substitute with_cpu, with_float.
1590         * configure: Regenerate.
1591         * Makefile.in (s-mlib): Pass MULTIARCH_DIRNAME to genmultilib.
1592         enable_multiarch, with_cpu, with_float: New macros.
1593         if_multiarch: New macro, define in terms of enable_multiarch.
1594         * genmultilib: Add new argument for the multiarch name.
1595         * gcc.c (multiarch_dir): Define.
1596         (for_each_path): Search for multiarch suffixes.
1597         (driver_handle_option): Handle multiarch option.
1598         (do_spec_1): Pass -imultiarch if defined.
1599         (main): Print multiarch.
1600         (set_multilib_dir): Separate multilib and multiarch names
1601         from multilib_select.
1602         (print_multilib_info): Ignore multiarch names in multilib_select.
1603         * incpath.c (add_standard_paths): Search the multiarch include dirs.
1604         * cppdefault.h (default_include): Document multiarch in multilib
1605         member.
1606         * cppdefault.c: [LOCAL_INCLUDE_DIR, STANDARD_INCLUDE_DIR] Add an
1607         include directory for multiarch directories.
1608         * common.opt: New options --print-multiarch and -imultilib.
1609
1610         * config.gcc <i[34567]86-*-linux* | x86_64-*-linux*> (tmake_file):
1611         Include i386/t-linux.
1612         <i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu> (tmake_file):
1613         Include i386/t-kfreebsd.
1614         <i[34567]86-*-gnu*> (tmake_file): Include i386/t-gnu.
1615         * config/i386/t-linux64: Add multiarch names in
1616         MULTILIB_OSDIRNAMES, define MULTIARCH_DIRNAME.
1617         * config/i386/t-gnu: New file.
1618         * config/i386/t-kfreebsd: Likewise.
1619         * config/i386/t-linux: Likewise.
1620
1621         * config/sparc/t-linux64: Add multiarch names in MULTILIB_OSDIRNAMES.
1622         * config/sparc/t-linux: New file; define MULTIARCH_DIRNAME.
1623         * config.gcc <sparc-*-linux*> (tmake_file): Include sparc/t-linux
1624         for 32bit non-biarch configurations.
1625
1626         * config/pa/t-linux: New file; define MULTIARCH_DIRNAME.
1627         * config.gcc <hppa*64*-*-linux*, hppa*-*-linux*> (tmake_file):
1628         Include pa/t-linux.
1629
1630         * config/mips/t-linux64: Add multiarch names in MULTILIB_OSDIRNAMES.
1631
1632         * config/arm/t-linux-eabi: Define MULTIARCH_DIRNAME for linux target.
1633
1634         * config/rs6000/t-linux64: Add multiarch names in MULTILIB_OSDIRNAMES.
1635         * config/rs6000/t-linux: New file; define MULTIARCH_DIRNAME.
1636         * config/rs6000/t-fprules (SOFT_FLOAT_CPUS): New macro. Add e300c2
1637         to the list.
1638         (MULTILIB_MATCHES_FLOAT): Define in terms of SOFT_FLOAT_CPUS.
1639         * config.gcc <powerpc-*-linux* | powerpc64-*-linux*> (tmake_file):
1640         Include rs6000/t-linux for 32bit non-biarch configurations.
1641
1642         * config/s390/t-linux64: Add multiarch names in MULTILIB_OSDIRNAMES.
1643
1644         * config/m68k/t-linux: Define MULTIARCH_DIRNAME.
1645
1646         * config/ia64/t-linux: New file; define MULTIARCH_DIRNAME.
1647         * config.gcc <ia64*-*-linux*> (tmake_file): Include ia64/t-linux.
1648
1649         * config/alpha/t-linux: New file; define MULTIARCH_DIRNAME.
1650         * config.gcc <alpha*-*-linux*> (tmake_file): Include alpha/t-linux.
1651
1652 2013-01-14  Eric Botcazou  <ebotcazou@adacore.com>
1653
1654         * tree-vectorizer.h (vect_get_single_scalar_iteraion_cost): Fix typo.
1655         * tree-vect-loop.c (vect_get_single_scalar_iteraion_cost): Likewise.
1656         (vect_estimate_min_profitable_iter): Adjust to above fix.
1657         * tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost): Likewise.
1658
1659 2013-01-11  Michael Meissner  <meissner@linux.vnet.ibm.com>
1660
1661         Backport from mainline
1662         2013-01-11  Michael Meissner  <meissner@linux.vnet.ibm.com>
1663
1664         * doc/extend.texi (X86 Built-in Functions): Add whitespace in
1665         __builtin_ia32_paddb256 and __builtin_ia32_pavgb256
1666         documentation.  Add missing '__' in front of
1667         __builtin_ia32_packssdw256.
1668
1669 2013-01-09  Uros Bizjak  <ubizjak@gmail.com>
1670
1671         Backport from mainline
1672         2013-01-09  Uros Bizjak  <ubizjak@gmail.com>
1673
1674         * config/i386/sse.md (*vec_interleave_highv2df): Change mode
1675         attribute of movddup insn to DF.
1676         (*vec_interleave_lowv2df): Ditto.
1677         (vec_dupv2df): Ditto.
1678
1679 2013-01-07  Georg-Johann Lay  <avr@gjlay.de>
1680
1681         Backport from 2013-01-07 trunk r194991, r194992.
1682
1683         PR target/55897
1684         * doc/extend.texi (AVR Named Address Spaces): __memx goes into
1685         .progmemx.data now.
1686
1687         * config/avr/avr.h (ADDR_SPACE_COUNT): New enum.
1688         (avr_addrspace_t): Add .section_name field.
1689         * config/avr/avr.c (progmem_section): Use ADDR_SPACE_COUNT as
1690         array size.
1691         (avr_addrspace): Same.  Initialize .section_name.  Remove last
1692         NULL entry.  Put __memx into .progmemx.data.
1693         (progmem_section_prefix): Remove.
1694         (avr_asm_init_sections): No need to initialize progmem_section.
1695         (avr_asm_named_section): Use avr_addrspace[].section_name to get
1696         section name prefix.
1697         (avr_asm_select_section): Ditto.  And use get_unnamed_section to
1698         retrieve the progmem section.
1699         * avr-c.c (avr_cpu_cpp_builtins): Use ADDR_SPACE_COUNT as loop
1700         boundary to run over avr_addrspace[].
1701         (avr_register_target_pragmas): Ditto.
1702
1703 2013-01-07  Georg-Johann Lay  <avr@gjlay.de>
1704
1705         Backport from 2013-01-07 trunk r194978.
1706
1707         PR target/54461
1708         * doc/install.texi (Cross-Compiler-Specific Options): Document
1709         --with-avrlibc.
1710
1711 2013-01-07  Georg-Johann Lay  <avr@gjlay.de>
1712
1713         Backport from 2013-01-07 trunk r194968.
1714
1715         PR other/55243
1716         * config/avr/t-avr: Don't automatically rebuild
1717         $(srcdir)/config/avr/t-multilib
1718         $(srcdir)/config/avr/avr-tables.opt
1719         (avr-mcus): New phony target to build them on request.
1720         (s-avr-mlib): Remove.
1721         * avr/avr-mcus.def: Adjust comments.
1722
1723 2013-01-07  Terry Guo  <terry.guo@arm.com>
1724
1725         Backport from mainline
1726         2012-12-19  Terry Guo  <terry.guo@arm.com>
1727
1728         * config/arm/arm.c (thumb_find_work_register): Check argument
1729         register number based on current PCS.
1730
1731 2013-01-06  Uros Bizjak  <ubizjak@gmail.com>
1732
1733         Backport from mainline
1734         2013-01-03  Uros Bizjak  <ubizjak@gmail.com>
1735
1736         PR target/55712
1737         * config/i386/i386-c.c (ix86_target_macros_internal): Depending on
1738         selected code model, define __code_mode_small__, __code_model_medium__,
1739         __code_model_large__, __code_model_32__ or __code_model_kernel__.
1740         * config/i386/cpuid.h (__cpuid, __cpuid_count) [__i386__]: Prefix
1741         xchg temporary register with %k.  Declare temporary register as
1742         early clobbered.
1743         [__x86_64__]: For medium and large code models, preserve %rbx register.
1744
1745 2013-01-03  Richard Henderson  <rth@redhat.com>
1746
1747         * config/i386/i386.c (ix86_expand_move): Always assign to op1
1748         after eliminating TLS symbols.
1749
1750 2013-01-03  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1751
1752         PR target/53789
1753         * config/pa/pa.md (movsi): Revert previous change.
1754         * config/pa/pa.c (pa_legitimate_constant_p): Reject all TLS symbol
1755         references.
1756
1757 2013-01-02  Rainer Emrich  <rainer@emrich-ebersheim.de>
1758
1759         PR bootstrap/55707
1760         * graphite-dependences.c (hash_poly_ddr_p): Cast from pointer via
1761         intptr_t.
1762
1763 2013-01-02  Jason Merrill  <jason@redhat.com>
1764
1765         PR c++/55804
1766         * tree.c (build_array_type_1): Revert earlier change.
1767
1768 2012-12-25  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1769
1770         PR target/53789
1771         * config/pa/pa.md (movsi): Reject expansion of TLS symbol references
1772         after reload starts.
1773
1774 2012-12-21  Martin Jambor  <mjambor@suse.cz>
1775
1776         PR tree-optimization/55355
1777         * tree-sra.c (type_internals_preclude_sra_p): Also check that
1778         bit_position is small enough to fit a single HOST_WIDE_INT.
1779
1780 2012-12-21  Matthew Gretton-Dann  <matthew.gretton-dann@linaro.org>
1781
1782         * config.gcc: Match arm*-*-uclinux*eabi* for EABI uCLinux.
1783
1784 2012-12-18  Matthew Gretton-Dann  <matthew.gretton-dann@linaro.org>
1785
1786         Backport from mainline
1787         2012-10-15  Matthias Klose  <doko@ubuntu.com>
1788
1789         * config.gcc: Match arm*-*-linux-* for ARM Linux/GNU.
1790         * doc/install.texi: Use arm-*-*linux-* instead of arm-*-*linux-gnueabi.
1791
1792 2012-12-16  Eric Botcazou  <ebotcazou@adacore.com>
1793             Tomash Brechko  <tomash.brechko@gmail.com>
1794
1795         PR target/55673
1796         * config/sparc/sparc.c (sparc_emit_membar_for_model): Fix reversed
1797         handling of before and after cases.
1798         * config/sparc/sync.md (atomic_store): Fix pasto.
1799
1800 2012-12-14  Yvan Roux  <yvan.roux@linaro.org>
1801
1802         * optabs.c (expand_atomic_store): Elide redundant model test.
1803
1804 2012-12-13  Richard Henderson  <rth@redhat.com>
1805
1806         PR middle-end/55492
1807         * optabs.c (expand_atomic_load): Emit acquire barrier after the load.
1808
1809 2012-12-11  Eric Botcazou  <ebotcazou@adacore.com>
1810
1811         PR target/54121
1812         * config/sparc/sparc.md (tldo_stb_sp32): Fix pasto.
1813         (tldo_stb_sp64): Likewise.
1814         (tldo_sth_sp32): Likewise.
1815         (tldo_sth_sp64): Likewise.
1816         (tldo_stw_sp32): Likewise.
1817         (tldo_stw_sp64): Likewise.
1818         (tldo_stx_sp64): Likewise.
1819
1820 2012-12-10 Kai Tietz  <ktietz@redhat.com>
1821
1822         PR target/53912
1823         * print-tree.c (print_node): Cast from pointer via uintptr_t.
1824
1825 2012-12-07  Uros Bizjak  <ubizjak@gmail.com>
1826
1827         Backport from mainline
1828         2012-12-06  Uros Bizjak  <ubizjak@gmail.com>
1829                     H.J. Lu  <hongjiu.lu@intel.com>
1830
1831         PR target/55597
1832         * config/i386/i386.c (legitimize_tls_address): Zero-extend x to Pmode,
1833         before using it as insn or call equivalent.
1834
1835 2012-12-06  Jason Merrill  <jason@redhat.com>
1836
1837         PR c++/55032
1838         * tree.c (build_array_type_1): Re-layout if we found it in the
1839         hash table.
1840
1841 2012-12-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1842
1843         * config/pa/pa.md: Use "const_int 0" instead of match_test to simplify
1844         opaque cond in all call insns.
1845
1846 2012-12-03  Eric Botcazou  <ebotcazou@adacore.com>
1847
1848         * config/ia64/ia64.c (ia64_compute_frame_size): Allocate the scratch
1849         area if the function allocates dynamic stack space.
1850         (ia64_initial_elimination_offset): Adjust offsets to above change.
1851
1852 2012-12-03  Richard Biener  <rguenther@suse.de>
1853
1854         Backport from mainline
1855         2012-09-24  Richard Guenther  <rguenther@suse.de>
1856
1857         PR tree-optimization/53663
1858         * tree-ssa-sccvn.c (vn_reference_lookup_3): Conditional
1859         native encode/interpret translation on VN_WALKREWRITE.
1860
1861 2012-12-03 Kai Tietz  <ktietz@redhat.com>
1862
1863         PR target/53912
1864         * ggc-common.c (POINTER_HASH): Cast from pointer via intptr_t.
1865
1866         PR target/53912
1867         * tree-dump.c (dump_pointer): Print pointer via HOST_WIDE_INT_PRINT.
1868
1869         PR target/53912
1870         * pointer-set.c (hash1): Cast from pointer via uintptr_t.
1871
1872 2012-12-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1873
1874         Backport from mainline:
1875         2012-11-12  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1876
1877         PR target/55195
1878         * config/pa/pa.md (type): Add sibcall and sh_func_adrs insn types.
1879         (in_branch_delay): Don't allow sibcall or sh_func_adrs insns.
1880         (in_nullified_branch_delay): Likewise.
1881         (in_call_delay): Likewise.
1882         Define delay for sibcall insns.  Adjust Z3 and Z4 insn reservations for
1883         new types.  Add opaque cond to mark all calls, sibcalls, dyncalls and
1884         the $$sh_func_adrs call as variable.  Update type of sibcalls and
1885         $$sh_func_adrs call.
1886         * config/pa/pa.c (pa_adjust_insn_length): Revise to return updated
1887         length instead of adjustment.  Handle negative and undefined call
1888         adjustments for insn_default_length.  Remove adjustment for millicode
1889         insn with unfilled delay slot.
1890         (pa_output_millicode_call): Update for revised millicode length.
1891         * config/pa/pa.h (ADJUST_INSN_LENGTH): Revise to set LENGTH.
1892
1893 2012-11-29  Kai Tietz  <ktietz@redhat.com>
1894
1895         PR target/55171
1896         * prefix.c (lookup_key): Replace xmalloc/xrealloc
1897         use by XNEWVEC/XRESIZEVEC.
1898
1899         * i386.c (get_scratch_register_on_entry): Handle
1900         thiscall-convention.
1901         (split_stack_prologue_scratch_regno): Likewise.
1902         (ix86_static_chain): Likewise.
1903         (x86_output_mi_thunk): Likewise.
1904
1905 2012-11-28  H.J. Lu  <hongjiu.lu@intel.com>
1906
1907         Backported from mainline
1908         2012-11-27  H.J. Lu  <hongjiu.lu@intel.com>
1909                     Markus Trippelsdorf  <markus@trippelsdorf.de>
1910
1911         PR lto/54795
1912         * lto-opts.c (lto_write_options): Also handle
1913         OPT_SPECIAL_unknown, OPT_SPECIAL_ignore and
1914         OPT_SPECIAL_program_name.
1915
1916         PR lto/55474
1917         * lto-wrapper.c (merge_and_complain): Handle
1918         OPT_SPECIAL_unknown, OPT_SPECIAL_ignore,
1919         OPT_SPECIAL_program_name and OPT_SPECIAL_input_file.
1920
1921 2012-11-27  Paolo Bonzini  <pbonzini@redhat.com>
1922
1923         PR rtl-optimization/55489
1924         * gcse.c (compute_transp): Precompute a canonical version
1925         of XEXP (x, 0), and pass it to canon_true_dependence.
1926
1927 2012-11-27  Richard Biener  <rguenther@suse.de>
1928
1929         PR middle-end/55331
1930         * gimple-fold.c (gimplify_and_update_call_from_tree): Replace
1931         stmt with a NOP instead of removing it.
1932
1933 2012-11-26  Richard Biener  <rguenther@suse.de>
1934
1935         Backport from mainline
1936         2012-10-19  Richard Biener  <rguenther@suse.de>
1937
1938         PR tree-optimization/54976
1939         * tree-vect-stmts.c (get_vectype_for_scalar_type_and_size):
1940         Robustify against odd inner_mode inputs.
1941
1942         2012-10-12  Richard Biener  <rguenther@suse.de>
1943
1944         PR tree-optimization/54894
1945         * tree-vect-stmts.c (get_vectype_for_scalar_type_and_size):
1946         Handle over-aligned scalar types properly.
1947
1948         2012-10-02  Richard Guenther  <rguenther@suse.de>
1949
1950         PR middle-end/54735
1951         * tree-ssa-pre.c (do_pre): Make sure to update virtual SSA form before
1952         cleaning up the CFG.
1953
1954 2012-11-21  Michael Meissner  <meissner@linux.vnet.ibm.com>
1955
1956         Backport from mainline
1957         2012-11-20  Michael Meissner  <meissner@linux.vnet.ibm.com>
1958
1959         * config/rs6000/rs6000.md (movdf_hardfloat32): Add a comment
1960         explaining the register ordering preferences.
1961
1962         2012-11-19  Michael Meissner  <meissner@linux.vnet.ibm.com>
1963         * config/rs6000/rs6000.md (movdf_hardfloat32): Reorder move
1964         constraints so that the traditional floating point loads, stores,
1965         and moves are done first, then the VSX loads, stores, and moves,
1966         and finally the GPR loads, stores, and moves so that reload
1967         chooses FPRs over GPRs, and uses the traditional load/store
1968         instructions which provide an offset.
1969         (movdf_hardfloat64): Likewise.
1970
1971 2012-11-19  H.J. Lu  <hongjiu.lu@intel.com>
1972
1973         Backported from mainline
1974         2012-11-13  Eric Botcazou  <ebotcazou@adacore.com>
1975                     H.J. Lu  <hongjiu.lu@intel.com>
1976
1977         PR middle-end/55142
1978         * config/i386/i386.c (legitimize_pic_address): Properly handle
1979         REG + CONST.
1980         (ix86_print_operand_address): Set code to 'k' when forcing
1981         addr32 prefix.  For x32, zero-extend negative displacement if
1982         it < -16*1024*1024.
1983
1984 2012-11-12  Eric Botcazou  <ebotcazou@adacore.com>
1985
1986         * common.opt (fvar-tracking-uninit): Document.
1987         * toplev.c (process_options): Fix handling of flag_var_tracking_uninit.
1988         * config/darwin.c (darwin_override_options): Likewise.
1989
1990 2012-11-11  Eric Botcazou  <ebotcazou@adacore.com>
1991
1992         * config/sparc/sparc.h (AS_NIAGARA3_FLAG): Tweak.
1993         * config/sparc/sol2.h (TARGET_CPU_niagara4 support): Fix pasto.
1994
1995 2012-11-09  Eric Botcazou  <ebotcazou@adacore.com>
1996
1997         * doc/install.texi (sparc64-x-solaris2): Mention MPC as well.
1998
1999 2012-11-09  Eric Botcazou  <ebotcazou@adacore.com>
2000
2001         * config/i386/i386.c (release_scratch_register_on_entry): Also adjust
2002         sp_offset manually.
2003
2004 2012-11-07  Uros Bizjak  <ubizjak@gmail.com>
2005
2006         Backport from mainline
2007         2012-11-06  Uros Bizjak  <ubizjak@gmail.com>
2008
2009         * config/i386/i386.c (ix86_init_machine_status): Do not
2010         explicitly clear tls_descriptor_call_expanded_p again.
2011
2012         2012-11-06  Uros Bizjak  <ubizjak@gmail.com>
2013
2014         * config/i386/sse.md
2015         (<avx_avx2>_maskstore<ssemodesuffix><avxsizesuffix>): Mark operand 0
2016         as read and written by the instruction.
2017
2018         2012-11-06  Uros Bizjak  <ubizjak@gmail.com>
2019
2020         * config/i386/i386.c (TARGET_INSTANTIATE_DECLS): New define.
2021         (ix86_instantiate_decls): New function.
2022         (ix86_expand_builtin) <case IX86_BUILTIN_LDMXCSR>: Use SLOT_TEMP
2023         stack slot instead of SLOT_VIRTUAL.
2024         <case IX86_BUILTIN_STMXCSR>: Ditto.
2025         (assign_386_stack_local): Do not assert when virtual slot is valid.
2026         * config/i386/i386.h (enum ix86_stack_slot): Remove SLOT_VIRTUAL.
2027         * config/i386/i386.md (truncdfsf2): Do not use SLOT_VIRTUAL stack slot.
2028         (truncxf<mode>2): Ditto.
2029         (floatunssi<mode>2): Ditto.
2030         (isinf<mode>2): Ditto.
2031         * config/i386/sync.md (atomic_load<mode>): Ditto.
2032         (atomic_store<mode>): Ditto.
2033
2034 2012-11-07  Eric Botcazou  <ebotcazou@adacore.com>
2035
2036         PR middle-end/55219
2037         * fold-const.c (fold_binary_op_with_conditional_arg): Do not fold if
2038         the argument is itself a conditional expression.
2039
2040 2012-11-05  H.J. Lu  <hongjiu.lu@intel.com>
2041
2042         * config/i386/i386.c (print_reg): Replace REX_INT_REG_P with
2043         REX_INT_REGNO_P.
2044
2045 2012-11-05  Eric Botcazou  <ebotcazou@adacore.com>
2046
2047         PR tree-optimization/54986
2048         * gimple-fold.c (canonicalize_constructor_val): Strip again all no-op
2049         conversions on entry but add them back on exit if needed.
2050
2051 2012-11-05  Richard Sandiford  <rdsandiford@googlemail.com>
2052
2053         PR target/55204
2054         * config/i386/i386.c (ix86_address_subreg_operand): Remove stack
2055         pointer check.
2056         (print_reg): Use true_regnum rather than REGNO.
2057         (ix86_print_operand_address): Remove SUBREG handling.
2058
2059 2012-11-05  Jakub Jelinek  <jakub@redhat.com>
2060
2061         Backported from mainline
2062         2012-10-24  Jakub Jelinek  <jakub@redhat.com>
2063
2064         PR debug/54828
2065         * gimple.h (is_gimple_sizepos): New inline function.
2066         * gimplify.c (gimplify_one_sizepos): Use it.  Remove useless
2067         final assignment to expr variable.
2068         * tree.c (RETURN_TRUE_IF_VAR): Return true also if
2069         !TYPE_SIZES_GIMPLIFIED (type) and _t is going to be gimplified
2070         into a local temporary.
2071
2072         2012-10-10  Jakub Jelinek  <jakub@redhat.com>
2073
2074         PR tree-optimization/54877
2075         * tree-vect-loop.c (vect_is_simple_reduction_1): For MINUS_EXPR
2076         use make_ssa_name instead of copy_ssa_name.
2077
2078 2012-11-03  Peter Bergner  <bergner@vnet.ibm.com>
2079
2080         Backport from mainline
2081         2012-10-31  Jakub Jelinek  <jakub@redhat.com>
2082
2083         PR tree-optimization/53708
2084         * tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Preserve
2085         user-supplied alignment when used with an explicit section name.
2086
2087 2012-11-02  Jeff Law  <law@redhat.com>
2088
2089         PR tree-optimization/54985
2090         * tree-ssa-threadedge.c (cond_arg_set_in_bb): New function extracted
2091         from thread_across_edge.
2092         (thread_across_edge): Use it in all cases where we might thread
2093         across a back edge.
2094
2095 2012-10-31  Eric Botcazou  <ebotcazou@adacore.com>
2096
2097         * config/i386/i386.c (ix86_expand_prologue): Emit frame info for the
2098         special register pushes before frame probing and allocation.
2099
2100 2012-10-31  Ralf Corsépius  <ralf.corsepius@rtems.org>,
2101             Joel Sherrill  <joel.sherrill@oarcorp.com>
2102
2103         * config/sparc/t-rtems: New (Custom multilibs).
2104         * config/sparc/t-rtems-64: New (Custom multilibs).
2105         * config.gcc (sparc64-*-rtems*): Add sparc/t-rtems-64.
2106         (sparc-*-rtems*): Add sparc/t-rtems.
2107
2108 2012-10-30  Eric Botcazou  <ebotcazou@adacore.com>
2109
2110         * cse.c (hash_rtx_cb): Replace RTX_UNCHANGING_P with MEM_READONLY_P in
2111         head comment.
2112         (hash_rtx): Likewise.
2113
2114 2012-10-29  Terry Guo  <terry.guo@arm.com>
2115
2116         Backport from mainline
2117         2012-10-11  Terry Guo  <terry.guo@arm.com>
2118
2119         * config/arm/arm.c (arm_arch6m): New variable to denote armv6-m
2120         architecture.
2121         * config/arm/arm.h (TARGET_HAVE_DMB): The armv6-m also has DMB
2122         instruction.
2123
2124 2012-10-26  Gunther Nikl  <gnikl@users.sourceforge.net>
2125
2126         * common/config/m68k/m68k-common.c (m68k_handle_option): Set
2127         gcc_options fields of opts_set for -m68020-40 and -m68020-60.
2128
2129 2012-10-26  Ralf Corsépius  <ralf.corsepius@rtems.org>
2130
2131         * config/avr/t-rtems: Revert previous commit.
2132
2133 2012-10-26  Terry Guo  <terry.guo@arm.com>
2134
2135         Backport from mainline
2136         2012-10-23  Terry Guo  <terry.guo@arm.com>
2137
2138         PR target/55019
2139         * config/arm/arm.c (thumb1_expand_prologue): Don't push high regs with
2140         live argument regs.
2141
2142 2012-10-26  Ralf Corsépius  <ralf.corsepius@rtems.org>
2143
2144         * config/avr/rtems.h (TARGET_OS_CPP_BUILTINS): Remove
2145         __USE_INIT_FINI__.
2146         * config/avr/t-rtems (LIB1ASMFUNCS): Filter out _exit.
2147
2148 2012-10-25  Ralf Corsépius  <ralf.corsepius@rtems.org>
2149
2150         * config.gcc (microblaze*-*-rtems*): New target.
2151         * config/microblaze/rtems.h: New.
2152         * config/microblaze/t-rtems: New.
2153
2154 2012-10-25  Richard Biener  <rguenther@suse.de>
2155
2156         PR tree-optimization/54902
2157         * tree-ssa-pre.c (fini_pre): Return TODO.
2158         (execute_pre): Adjust.
2159         * tree-ssa-tailmerge.c (tail_merge_optimize): Delete unreachable
2160         blocks before computing dominators.
2161
2162 2012-10-24  Uros Bizjak  <ubizjak@gmail.com>
2163
2164         Backport from mainline
2165         2012-10-22  Uros Bizjak  <ubizjak@gmail.com>
2166
2167         * config/i386/i386.c (memory_address_length): Assert that non-null
2168         base or index RTXes are registers.  Do not check for REG RTXes.
2169         Determine addr32 prefix using SImode_address_operand or
2170         from original base and index RTXes.  Simplify code.
2171
2172         2012-10-21  Uros Bizjak  <ubizjak@gmail.com>
2173
2174         * config/i386/i386-protos.h (memory_address_length): Add new bool
2175         argument.  Update all uses.
2176         * config/i386/i386.c (memory_address_length): If not LEA insn, then
2177         add length of addr32 prefix based on mode of base or index register.
2178         (ix86_attr_length_address_default) <TYPE_LEA>: Do not handle SImode
2179         addresses here.  Update call to memory_address_length.
2180         (ix86_print_address_operand): Use SImode_address_operand predicate.
2181         * config/i386/predicates.md (SImode_address_operand): New.
2182         * config/i386/i386.md (lea<mode>): Use SImode_address_operand
2183         to calculate "mode" attribute.  Use SImode_address_operand predicate
2184         instead of open-coding accepted RTX codes.
2185
2186 2012-10-22  Georg-Johann Lay  <avr@gjlay.de>
2187
2188         Backport from 2012-10-22 trunk r192685.
2189         * doc/invoke.texi (AVR Options): Document __AVR_ARCH__.
2190         Note __AVR_<device>__ is not defined for cores.
2191         Don't point to --help=target.
2192         Order --mcu= documentation according to trunk:/gcc/doc/avr-mmcu.texi.
2193
2194 2012-10-19  Marek Polacek  <polacek@redhat.com>
2195
2196         Backported from mainline
2197         2012-10-19  Marek Polacek  <polacek@redhat.com>
2198
2199         PR middle-end/54945
2200         * fold-const.c (fold_sign_changed_comparison):  Punt if folding
2201         pointer/non-pointer comparison.
2202
2203 2012-10-19  Zhenqiang Chen <zhenqiang.chen@linaro.org>
2204
2205         Backported from mainline
2206         2012-10-19  Zhenqiang Chen <zhenqiang.chen@linaro.org>
2207
2208         PR target/54892
2209         * config/arm/arm.c (arm_expand_compare_and_swap): Use SImode to make
2210         sure the mode is correct when falling through from above cases.
2211
2212 2012-10-19  Alan Modra  <amodra@gmail.com>
2213
2214         * configure.ac (HAVE_LD_NO_DOT_SYMS): Set if using gold.
2215         (HAVE_LD_LARGE_TOC): Likewise.
2216         * configure: Regenerate.
2217
2218 2012-10-19  Alan Modra  <amodra@gmail.com>
2219
2220         * config/rs6000/predicates.md (splat_input_operand): Don't call
2221         input_operand for MEMs.  Instead check for volatile and call
2222         memory_address_addr_space_p with modified mode.
2223
2224 2012-10-17  Matthew Gretton-Dann  <matthew.gretton-dann@linaro.org>
2225
2226         Backported from mainline
2227         2012-07-23  Ulrich Weigand  <ulrich.weigand@linaro.org>
2228
2229         * config/arm/arm.c (arm_reorg): Ensure all insns are split.
2230
2231 2012-10-16  Eric Botcazou  <ebotcazou@adacore.com>
2232
2233         PR rtl-optimization/54870
2234         * tree.h (TREE_ADDRESSABLE): Document special usage on SSA_NAME.
2235         * cfgexpand.c (update_alias_info_with_stack_vars ): Set it on the
2236         SSA_NAME pointer that points to a partition if there is at least
2237         one variable with it set in the partition.
2238         * dse.c (local_variable_can_escape): New predicate.
2239         (can_escape): Call it.
2240         * gimplify.c (mark_addressable): If this is a partitioned decl, also
2241         mark the SSA_NAME pointer that points to a partition.
2242
2243 2012-10-16  Andrey Belevantsev  <abel@ispras.ru>
2244
2245         Backport from mainline
2246         2012-08-09  Andrey Belevantsev  <abel@ispras.ru>
2247
2248         PR rtl-optimization/53701
2249         * sel-sched.c (vinsn_vec_has_expr_p): Clarify function comment.
2250         rocess not only expr's vinsns but all old vinsns from expr's
2251         istory of changes.
2252
2253 2012-10-16  Andrey Belevantsev  <abel@ispras.ru>
2254
2255         Backport from mainline
2256         2012-07-31  Andrey Belevantsev  <abel@ispras.ru>
2257         PR target/53975
2258
2259         * sel-sched-ir.c (has_dependence_note_reg_use): Clarify comment.
2260         Revert
2261         2011-08-04  Sergey Grechanik  <mouseentity@ispras.ru>
2262         * sel-sched-ir.c (has_dependence_note_reg_use): Call ds_full_merge
2263         only if producer writes to the register given by regno.
2264
2265 2012-09-15  Uros Bizjak  <ubizjak@gmail.com>
2266
2267         Backport from mainline
2268         2012-10-15  Uros Bizjak  <ubizjak@gmail.com>
2269
2270         * config/i386/sse.md (UNSPEC_MOVU): Remove.
2271         (UNSPEC_LOADU): New.
2272         (UNSPEC_STOREU): Ditto.
2273         (<sse>_movu<ssemodesuffix><avxsizesuffix>): Split to ...
2274         (<sse>_loadu<ssemodesuffix><avxsizesuffix>): ... this and ...
2275         (<sse>_storeu<ssemodesuffix><avxsizesuffix>) ... this.
2276         (<sse2>_movdqu<avxsizesuffix>): Split to ...
2277         (<sse2>_loaddqu<avxsizesuffix>): ... this and ...
2278         (<sse2>_storedqu<avxsizesuffix>): ... this.
2279         (*sse4_2_pcmpestr_unaligned): Update.
2280         (*sse4_2_pcmpistr_unaligned): Ditto.
2281
2282         * config/i386/i386.c (ix86_avx256_split_vector_move_misalign): Use
2283         gen_avx_load{dqu,ups,upd}256 to load from unaligned memory and
2284         gen_avx_store{dqu,ups,upd}256 to store to unaligned memory.
2285         (ix86_expand_vector_move_misalign): Use gen_sse_loadups or
2286         gen_sse2_load{dqu,upd} to load from unaligned memory and
2287         gen_sse_loadups or gen_sse2_store{dqu,upd}256 to store to
2288         unaligned memory.
2289         (struct builtin_description bdesc_spec) <IX86_BUILTIN_LOADUPS>:
2290         Use CODE_FOR_sse_loadups.
2291         <IX86_BUILTIN_LOADUPD>: Use CODE_FOR_sse2_loadupd.
2292         <IX86_BUILTIN_LOADDQU>: Use CODE_FOR_sse2_loaddqu.
2293         <IX86_BUILTIN_STOREUPS>: Use CODE_FOR_sse_storeups.
2294         <IX86_BUILTIN_STOREUPD>: Use CODE_FOR_sse2_storeupd.
2295         <IX86_BUILTIN_STOREDQU>: Use CODE_FOR_sse2_storedqu.
2296         <IX86_BUILTIN_LOADUPS256>: Use CODE_FOR_avx_loadups256.
2297         <IX86_BUILTIN_LOADUPD256>: Use CODE_FOR_avx_loadupd256.
2298         <IX86_BUILTIN_LOADDQU256>: Use CODE_FOR_avx_loaddqu256.
2299         <IX86_BUILTIN_STOREUPS256>: Use CODE_FOR_avx_storeups256.
2300         <IX86_BUILTIN_STOREUPD256>: Use CODE_FOR_avx_storeupd256.
2301         <IX86_BUILTIN_STOREDQU256>: Use CODE_FOR_avx_storedqu256.
2302
2303 2012-10-15  Steven Bosscher  <steven@gcc.gnu.org>
2304
2305         Backport from trunk (r190222):
2306
2307         PR tree-optimization/54146
2308         * ifcvt.c: Include pointer-set.h.
2309         (cond_move_process_if_block): Change type of then_regs and
2310         else_regs from alloca'd array to pointer_sets.
2311         (check_cond_move_block): Update for this change.
2312         (cond_move_convert_if_block): Likewise.
2313         * Makefile.in: Fix dependencies for ifcvt.o.
2314
2315 2012-10-15  Richard Guenther  <rguenther@suse.de>
2316
2317         PR tree-optimization/54920
2318         * tree-ssa-pre.c (create_expression_by_pieces): Properly
2319         allocate temporary storage for all NARY elements.
2320
2321 2012-10-08  Georg-Johann Lay  <avr@gjlay.de>
2322
2323         PR target/54854
2324         * doc/invoke.texi (AVR Options): Deprecate -mshort-calls.
2325
2326 2012-10-05  Mark Kettenis  <kettenis@openbsd.org>
2327
2328         * config.gcc (*-*-openbsd4.[3-9]|*-*-openbsd[5-9]*): Set
2329         default_use_cxa_atexit to yes.
2330
2331 2012-10-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2332
2333         * config/pa/pa.md: Adjust unamed HImode add insn pattern.
2334
2335 2012-10-05  Jan Hubicka  <jh@suse.cz>
2336             Jakub Jelinek  <jakub@redhat.com>
2337
2338         PR tree-optimization/33763
2339         * tree-inline.c (expand_call_inline): Silently ignore always_inline
2340         attribute for redefined extern inline functions.
2341
2342 2012-10-03  H.J. Lu  <hongjiu.lu@intel.com>
2343
2344         Backported from mainline
2345         2012-10-03  Andrew W. Nosenko <andrew.w.nosenko@gmail.com>
2346
2347         * config/i386/driver-i386.c (host_detect_local_cpu): Fix logic
2348         in SSE and YMM state support check for -march=native.
2349
2350 2012-10-03  Alexandre Oliva <aoliva@redhat.com>
2351
2352         PR debug/53135
2353         * dwarf2out.c (value_format): Use block4 for dw_val_class_loc
2354         when needed.
2355
2356 2012-10-02  H.J. Lu  <hongjiu.lu@intel.com>
2357
2358         Backported from mainline
2359         2012-10-02  H.J. Lu  <hongjiu.lu@intel.com>
2360
2361         PR target/54785
2362         * doc/invoke.texi: Document -mprefer-avx128.
2363
2364 2012-10-02  H.J. Lu  <hongjiu.lu@intel.com>
2365
2366         Backported from mainline
2367         2012-10-02  H.J. Lu  <hongjiu.lu@intel.com>
2368
2369         PR target/54741
2370         *  config/i386/driver-i386.c (XCR_XFEATURE_ENABLED_MASK): New.
2371         (XSTATE_FP): Likewise.
2372         (XSTATE_SSE): Likewise.
2373         (XSTATE_YMM): Likewise.
2374         (host_detect_local_cpu): Disable AVX, AVX2, FMA, FMA4 and XOP if
2375         SSE and YMM states aren't supported.
2376
2377 2012-10-01  Tom de Vries  <tom@codesourcery.com>
2378
2379         * var-tracking.c (set_dv_changed): Add an 'inline' function specifier to
2380         the prototype.
2381
2382 2012-10-01  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
2383
2384         PR target/54746
2385         * config/s390/s390.c (s390_option_override): Add missing break.
2386
2387 2012-09-29  Andreas Tobler  <andreast@fgznet.ch>
2388
2389         Backport from mainline
2390         2012-09-29  Andreas Tobler  <andreast@fgznet.ch>
2391
2392         * config.gcc: Replace 'host' with 'target' when configuring for
2393         powerpc64*-*-freebsd.
2394
2395 2012-09-28  Meador Inge  <meadori@codesourcery.com>
2396
2397         Backport from mainline
2398         2012-09-27  Meador Inge  <meadori@codesourcery.com>
2399
2400         * gcc-ar.c (main): Handle the returning of the sub-process error
2401         code correctly.
2402
2403 2012-09-28  Georg-Johann Lay  <avr@gjlay.de>
2404
2405         Backport from 2012-09-28 trunk r191821.
2406         * config/avr/avr.c (avr_pgm_check_var_decl): Fix non-error diagnostic.
2407
2408 2012-09-27  Jakub Jelinek  <jakub@redhat.com>
2409
2410         PR target/54703
2411         * simplify-rtx.c (simplify_binary_operation_1): Perform
2412         (x - (x & y)) -> (x & ~y) optimization only for integral modes.
2413
2414 2012-09-24  Eric Botcazou  <ebotcazou@adacore.com>
2415
2416         * tree-streamer-in.c (unpack_ts_type_common_value_fields): Stream in
2417         TYPE_NONALIASED_COMPONENT flag.
2418         * tree-streamer-out.c (pack_ts_type_common_value_fields): Stream out
2419         TYPE_NONALIASED_COMPONENT flag.
2420
2421 2012-09-21  Richard Guenther  <rguenther@suse.de>
2422
2423         PR middle-end/54638
2424         Backport from mainline
2425         2012-04-19  Richard Guenther  <rguenther@suse.de>
2426
2427         * ira-int.h (ira_allocno_object_iter_cond): Avoid out-of-bound
2428         array access.
2429
2430 2012-09-20  Joseph Myers  <joseph@codesourcery.com>
2431
2432         PR c/54552
2433         * c-typeck.c (c_cast_expr): When casting to a type requiring
2434         C_MAYBE_CONST_EXPR to be created, pass the inner expression to
2435         c_fully_fold first.
2436
2437 2012-09-20  Joseph Myers  <joseph@codesourcery.com>
2438
2439         PR c/54103
2440         * c-typeck.c (build_unary_op): Pass original argument of
2441         TRUTH_NOT_EXPR to c_objc_common_truthvalue_conversion, then remove
2442         any C_MAYBE_CONST_EXPR, if it has integer operands.
2443         (build_binary_op): Pass original arguments of TRUTH_ANDIF_EXPR,
2444         TRUTH_ORIF_EXPR, TRUTH_AND_EXPR, TRUTH_OR_EXPR and TRUTH_XOR_EXPR
2445         to c_objc_common_truthvalue_conversion, then remove any
2446         C_MAYBE_CONST_EXPR, if they have integer operands.  Use
2447         c_objc_common_truthvalue_conversion not
2448         c_common_truthvalue_conversion.
2449         (c_objc_common_truthvalue_conversion): Build NE_EXPR directly and
2450         call note_integer_operands for arguments with integer operands
2451         that are not integer constants.
2452
2453 2012-09-20  Jakub Jelinek  <jakub@redhat.com>
2454
2455         Backported from mainline
2456         2012-09-17  Jakub Jelinek  <jakub@redhat.com>
2457
2458         PR tree-optimization/54563
2459         * tree-ssa-math-opts.c (execute_cse_sincos): Call
2460         gimple_purge_dead_eh_edges if last call has been changed.
2461
2462         2012-09-14  Jakub Jelinek  <jakub@redhat.com>
2463
2464         PR target/54564
2465         * config/i386/sse.md (fmai_vmfmadd_<mode>): Use (match_dup 1)
2466         instead of (match_dup 0) as second argument to vec_merge.
2467         (*fmai_fmadd_<mode>, *fmai_fmsub_<mode>): Likewise.
2468         Remove third alternative.
2469         (*fmai_fnmadd_<mode>, *fmai_fnmsub_<mode>): Likewise.  Negate
2470         operand 2 instead of operand 1, but put it as first argument
2471         of fma.
2472         * config/i386/fmaintrin.h (_mm_fnmadd_sd, _mm_fnmadd_ss,
2473         _mm_fnmsub_sd, _mm_fnmsub_ss): Negate the second argument instead
2474         of the first.
2475
2476 2012-09-20  Jakub Jelinek  <jakub@redhat.com>
2477
2478         * BASE-VER: Set to 4.7.3.
2479         * DEV-PHASE: Set to prerelease.
2480
2481 2012-09-20  Release Manager
2482
2483         * GCC 4.7.2 released.
2484
2485 2012-09-15  Andi Kleen  <ak@linux.intel.com>
2486
2487         Backport from mainline
2488         2012-09-07  Andi Kleen  <ak@linux.intel.com>
2489
2490         * gcc/lto-streamer.h (res_pair): Add.
2491         (lto_file_decl_data): Replace resolutions with respairs.
2492         Add max_index.
2493         * gcc/lto/lto.c (lto_resolution_read): Remove max_index.  Add rp.
2494         Initialize respairs.
2495         (lto_file_finalize): Set up resolutions vector lazily from respairs.
2496
2497 2012-09-14  Walter Lee  <walt@tilera.com>
2498
2499         Backport from mainline.
2500         2012-09-14  Walter Lee  <walt@tilera.com>
2501
2502         * doc/invoke.texi (Option Summary): fix typesetting for -mcpu
2503         option for TILEPro and TILE-Gx.
2504
2505 2012-09-13  Uros Bizjak  <ubizjak@gmail.com>
2506
2507         * config/i386/i386.h (x86_prefetchw): New global variable.
2508         (TARGET_PREFETCHW): New macro.
2509         * config/i386/i386.c (PTA_PREFETCHW): Ditto.
2510         (processor_alias_table): Add PTA_PREFETCHW to
2511         bdver1, bdver2 and btver1.
2512         (ix86_option_override_internal): Set x86_prefetchw for
2513         PTA_PREFETCHW targets.
2514         * config/i386/i386.md (prefetch): Expand to prefetchw
2515         for TARGET_PREFETCHW.
2516         (*prefetch_3dnow_<mode>): Also enable for TARGET_PREFETCHW.
2517
2518         Backport from mainline
2519         2012-08-13  Uros Bizjak  <ubizjak@gmail.com>
2520
2521         * config/i386/i386.md (prefetch): Do not assert mode of operand 0.
2522         (*prefetch_sse_<mode>): Do not set mode of address_operand predicate.
2523         Rename to ...
2524         (*prefetch_sse): ... this.
2525         (*prefetch_3dnow_<mode>): Do not set mode of address_operand predicate.
2526         Rename to ...
2527         (*prefetch_3dnow): ... this.
2528
2529 2012-09-13  Jakub Jelinek  <jakub@redhat.com>
2530
2531         PR c/54559
2532         * c-typeck.c (c_finish_return): Do convert to BOOLEAN_TYPE or
2533         COMPLEX_TYPE with in_late_binary_op set temporarily to true.
2534
2535 2012-09-12  Teresa Johnson  <tejohnson@google.com>
2536
2537         Backport from mainline.
2538         2012-09-12  Teresa Johnson  <tejohnson@google.com>
2539
2540         PR gcov-profile/54487
2541         * configure.ac (HOST_HAS_F_SETLKW): Set based on compile
2542         test using F_SETLKW with fcntl.
2543         * configure, config.in: Regenerate.
2544
2545 2012-09-12  Uros Bizjak  <ubizjak@gmail.com>
2546
2547         Backport from mainline
2548         2012-09-12  Ganesh Gopalasubramanian  <Ganesh.Gopalasubramanian@amd.com>
2549
2550         * config/i386/i386.md : Comments on fma4 instruction selection
2551         reflect requirement on register pressure based cost model.
2552
2553         * config/i386/driver-i386.c (host_detect_local_cpu): fma4
2554         flag is set-reset as informed by the cpuid flag.
2555
2556         * config/i386/i386.c (processor_alias_table): fma4
2557         flag is enabled for bdver2.
2558
2559 2012-09-12  Christian Bruel  <christian.bruel@st.com>
2560
2561         * config/sh/newlib.h (NO_IMPLICIT_EXTERN_C): Define.
2562
2563 2012-09-12  Jakub Jelinek  <jakub@redhat.com>
2564
2565         * config.gcc: Obsolete picochip-*.
2566
2567 2012-09-11  Richard Guenther  <rguenther@suse.de>
2568
2569         PR debug/54534
2570         * cgraph.h (varpool_can_remove_if_no_refs): Restore dependence
2571         on flag_toplevel_reorder.
2572
2573 2012-09-10  Richard Henderson  <rth@redhat.com>
2574
2575         * config/alpha/predicates.md (small_symbolic_operand): Disallow
2576         large offsets.
2577
2578 2012-09-10  Georg-Johann Lay  <avr@gjlay.de>
2579
2580         Backport from 2012-09-10 mainline r191132.
2581
2582         PR target/54536
2583         * config/avr/avr-mcus.def (at90usb1287): Set LIBRARY_NAME to "usb1287".
2584
2585 2012-09-10  Markus Trippelsdorf  <markus@trippelsdorf.de>
2586
2587         PR middle-end/54515
2588         * tree-sra.c (disqualify_base_of_expr): Check for possible
2589         NULL_TREE returned by get_base_address()
2590
2591 2012-09-07  Richard Guenther  <rguenther@suse.de>
2592
2593         Backport from mainline
2594         2012-06-26  Jan Hubicka  <jh@suse.cz>
2595
2596         PR lto/53572
2597         * cgraph.h (varpool_can_remove_if_no_refs): Fix handling of
2598         used symbols.
2599
2600 2012-09-07  Richard Guenther  <rguenther@suse.de>
2601
2602         Backport from mainline
2603         2012-07-13  Richard Guenther  <rguenther@suse.de>
2604
2605         PR tree-optimization/53922
2606         * tree-vrp.c (value_inside_range): Change prototype to take
2607         min/max instead of value-range.
2608         (range_includes_zero_p): Likewise.  Return the result from
2609         value_inside_range.
2610         (extract_range_from_binary_expr_1): Adjust to handle dont-know
2611         return value from range_includes_zero_p.
2612         (extract_range_from_unary_expr_1): Likewise.
2613         (compare_range_with_value): Likewise.
2614         (vrp_meet_1): Likewise.
2615
2616 2012-09-07  Richard Guenther  <rguenther@suse.de>
2617
2618         PR middle-end/53667
2619         * tree-ssa-structalias.c (handle_rhs_call): Properly clobber
2620         EAF_NOESCAPED arguments.  Transitively close non-EAF_DIRECT
2621         arguments separately.
2622
2623 2012-09-07  Jakub Jelinek  <jakub@redhat.com>
2624
2625         Backported from mainline
2626         2012-09-06  Jakub Jelinek  <jakub@redhat.com>
2627
2628         PR rtl-optimization/54455
2629         * sel-sched-ir.c (maybe_tidy_empty_bb): Give up if previous fallthru
2630         bb ends up with asm goto referencing bb's label.
2631
2632 2012-09-07  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
2633
2634         Backport from mainline.
2635         2012-08-29  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
2636                     Richard Earnshaw  <richard.earnshaw@arm.com>
2637
2638         PR target/54252
2639         * config/arm/arm.c (neon_dereference_pointer): Adjust nelems by
2640         element size. Use elem_type from the formal parameter. New parameter
2641         fcode.
2642         (neon_expand_args): Adjust call to neon_dereference_pointer.
2643
2644 2012-09-06  Uros Bizjak  <ubizjak@gmail.com>
2645
2646         * config/i386/sse.md (<sse4_1_avx2>_pblendvb): Use
2647         reg_not_xmm0_operand_maybe_avx as operand 0 constraint.
2648
2649 2012-09-06  Uros Bizjak  <ubizjak@gmail.com>
2650
2651         Backport from mainline
2652         2012-08-11  Uros Bizjak  <ubizjak@gmail.com>
2653
2654         * config/i386/i386.md (isa): Add fma and fma4.
2655         (enabled): Handle fma and fma4.
2656         * config/i386/sse.md (*fma_fmadd_<mode>): Merge *fma4_fmadd_<mode>.
2657         (*fma_fmsub_<mode>): Merge *fma4_fmsub_<mode>.
2658         (*fma_fnmadd_<mode>): Merge *fma4_fnmadd_<mode>.
2659         (*fma_fnmsub_<mode>): Merge *fma4_fnmsub_<mode>.
2660         (*fma_fmaddsub_<mode>): Merge *fma4_fmaddsub_<mode>.
2661         (*fma_fmsubadd_<mode>): Merge *fma4_fmsubadd_<mode>.
2662
2663         2012-08-10  Uros Bizjak  <ubizjak@gmail.com>
2664
2665         * config/i386/sse.md (*fma_fmadd_<mode>, *fma_fmsub_<mode>,
2666         *fma_fnmadd_<mode>, *fma_fnmsub_<mode>, *fma_fmaddsub_<mode>,
2667         *fma_fmsubadd_<mode>): Move FMA3 insn patterns before FMA4 patterns.
2668
2669 2012-09-06  Richard Guenther  <rguenther@suse.de>
2670
2671         PR tree-optimization/54498
2672         * tree-ssa-alias.h (get_continuation_for_phi): Add flag to
2673         abort when reaching an already visited region.
2674         * tree-ssa-alias.c (maybe_skip_until): Likewise.  And do it.
2675         (get_continuation_for_phi_1): Likewise.
2676         (walk_non_aliased_vuses): When we translated the reference,
2677         abort when we re-visit a region.
2678         * tree-ssa-pre.c (translate_vuse_through_block): Adjust.
2679
2680 2012-09-06  Andrew Pinski  <apinski@cavium.com>
2681
2682         PR tree-opt/54494
2683         * tree-inline.c (remap_gimple_op_r): Copy TREE_SIDE_EFFECTS also.
2684
2685 2012-09-05  Jakub Jelinek  <jakub@redhat.com>
2686
2687         PR middle-end/54486
2688         * builtins.c (fold_builtin_strspn, fold_builtin_strcspn): Use
2689         build_int_cst with size_type_node instead of size_int.
2690
2691 2012-09-05  Georg-Johann Lay  <avr@gjlay.de>
2692
2693         Backport from 2012-09-05 mainline r190697.
2694
2695         PR target/54461
2696         * config.gcc (tm_file,target=avr-*-*): Add avr/avrlibc.h if
2697         configured --with-avrlibc.
2698         (tm_defines,target=avr-*-*): Add WITH_AVRLIBC if configured
2699         --with-avrlibc.
2700         * config/avr/avrlibc.h: New file.
2701         * config/avr/avr-c.c: Build-in define __WITH_AVRLIBC__ if
2702         configured --with-avrlibc.
2703         * doc/invoke.texi (AVR Built-in Macros): Document __WITH_AVRLIBC__
2704
2705 2012-09-05  Bin Cheng  <bin.cheng@arm.com>
2706
2707         Backport from 2012-09-04 mainline r190919
2708
2709         PR target/45070
2710         * config/arm/arm.c (thumb1_extra_regs_pushed): Handle return value
2711         of size less than 4 bytes by using macro ARM_NUM_INTS.
2712         (thumb1_unexpanded_epilogue): Use macro ARM_NUM_INTS.
2713
2714 2012-09-04  Richard Henderson  <rth@redhat.com>
2715
2716         * alias.c (read_dependence): Return true for ALIAS_SET_MEMORY_BARRIER.
2717
2718 2012-09-04  Georg-Johann Lay  <avr@gjlay.de>
2719
2720         Backport from 2012-09-04 mainline r190920
2721
2722         PR target/54476
2723         * config/avr/avr.c (avr_expand_delay_cycles): Mask operand with SImode.
2724
2725 2012-09-04  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
2726
2727         Backport from 2012-09-04 mainline r190914
2728
2729         PR target/54220
2730         * config/avr/avr.c (TARGET_ALLOCATE_STACK_SLOTS_FOR_ARGS): New
2731         define to...
2732         (avr_allocate_stack_slots_for_args): ...this new static function.
2733
2734 2012-09-03  H.J. Lu  <hongjiu.lu@intel.com>
2735
2736         Backported from mainline
2737         2012-08-23  H.J. Lu  <hongjiu.lu@intel.com>
2738
2739         PR driver/54335
2740         * doc/invoke.texi: Add -da and remove -dm.
2741
2742 2012-09-03  Jakub Jelinek  <jakub@redhat.com>
2743
2744         Backported from mainline
2745         2012-09-01  Jakub Jelinek  <jakub@redhat.com>
2746
2747         PR target/54436
2748         * config/i386/i386.md (*mov<mode>_insv_1_rex64, *movsi_insv_1): If
2749         operands[1] is CONST_INT_P, convert it to QImode before printing.
2750
2751         2012-08-31  Jakub Jelinek  <jakub@redhat.com>
2752
2753         PR c/54428
2754         * c-convert.c (convert): Don't call fold_convert_loc if
2755         TYPE_MAIN_VARIANT of a COMPLEX_TYPE is the same, unless e
2756         is a COMPLEX_EXPR.  Remove TYPE_MAIN_VARIANT check from
2757         COMPLEX_TYPE -> COMPLEX_TYPE conversion.
2758
2759         2012-08-24  Jakub Jelinek  <jakub@redhat.com>
2760
2761         PR c/54363
2762         * gimplify.c (optimize_compound_literals_in_ctor): Only recurse
2763         if init is a CONSTRUCTOR.
2764
2765 2012-09-02  Eric Botcazou  <ebotcazou@adacore.com>
2766
2767         PR rtl-optimization/54369
2768         * config/mips/mips.c (mips_reorg): Invoke cleanup_barriers before
2769         calling dbr_schedule.
2770         * config/sparc/sparc.c (sparc_reorg): Likewise.
2771
2772 2012-08-31  Kirill Yukhin  <kirill.yukhin@intel.com>
2773
2774         Backport from mainline
2775         2012-08-23  Yuri Rumyantsev  <ysrumyan@gmail.com>
2776
2777         * config/i386/i386.c (ia32_multipass_dfa_lookahead) : Add
2778         case for Atom processor.
2779
2780 2012-08-28  Uros Bizjak  <ubizjak@gmail.com>
2781
2782         Backport from mainline
2783         2012-08-27  Uros Bizjak  <ubizjak@gmail.com>
2784
2785         PR target/46254
2786         * config/i386/predicates.md (cmpxchg8b_pic_memory_operand): Return
2787         true for TARGET_64BIT or !flag_pic.
2788         * config/i386/sync.md (*atomic_compare_and_swap_doubledi_pic): Remove.
2789         (atomic_compare_and_swap_double<mode>): Change operand 2 predicate
2790         to cmpxchg8b_pic_memory_operand.  Use DWIH mode iterator.
2791         Add insn constraint.  Conditionally emit xchg asm insns.
2792         (atomic_compare_and_swap<mode>): Update calls.  Check only
2793         cmpxchg8b_pic_memory_operand in memory address fixup.
2794         (DCASMODE): Remove.
2795         (CASHMODE): Rename from DCASHMODE.
2796         (doublemodesuffix): Update modes.
2797         (regprefix): New mode attribute.
2798
2799         (unspecv) <UNSPECV_CMPXCHG_{1,2,3,4}>: Remove.
2800         <UNSPECV_CMPXCHG>: New constant.
2801         (atomic_compare_and_swap<mode>_1): Rename from
2802         atomic_compare_and_swap_single<mode>.  Update calls and
2803         unspec_volatile constants.
2804         (atomic_compare_and_swap<mode>_doubleword): Rename from
2805         atomic_compare_and_swap_double<mode>.  Update calls and
2806         unspec_volatile constants.
2807
2808 2012-08-28  Walter Lee  <walt@tilera.com>
2809
2810         Backport from mainline
2811         2012-08-28  Walter Lee  <walt@tilera.com>
2812
2813         * confg/tilegx/tilegx.md: Fix code style.
2814         (*zero_extendsidi_truncdisi): Fix typo.
2815         * config/tilegx/tilegx.c: Fix code style.
2816         (tilegx_function_profiler): Fix typo.
2817
2818 2012-08-27  Walter Lee  <walt@tilera.com>
2819
2820         Backport from mainline
2821         2012-08-27  Walter Lee  <walt@tilera.com>
2822
2823         * doc/md.texi (TILE-Gx): Fix typo.
2824
2825 2012-08-27  Walter Lee  <walt@tilera.com>
2826
2827         Backport from mainline
2828         2012-08-27  Walter Lee  <walt@tilera.com>
2829
2830         * config/tilegx/tilegx.c (tilegx_function_profiler): Fix typo.
2831         * config/tilepro/tilepro.c (tilepro_function_profiler): Ditto.
2832
2833 2012-08-27  Walter Lee  <walt@tilera.com>
2834
2835         Backport from mainline
2836         2012-08-27  Walter Lee  <walt@tilera.com>
2837
2838         * config/tilegx/tilegx.md (*bfins): Rename to insn_bfins.
2839         (insn_bfins): Delete.
2840
2841 2012-08-27  Walter Lee  <walt@tilera.com>
2842
2843         Backport from mainline
2844         2012-08-27  Walter Lee  <walt@tilera.com>
2845
2846         * config/tilegx/sync.md (atomic_compare_and_swap_bare<mode>,
2847         atomic_exchange_bare<mode>,
2848         atomic_fetch_<fetchop_name>_bare<mode>): Set type to X1_remote.
2849         * config/tilegx/tilegx-generic.md (X1_remote): New insn_reservation.
2850         * config/tilegx/tilegx.md (type): Add X1_remove.
2851         (insn_cmpexch<four_if_si>, insn_exch<four_if_si>,
2852         insn_fetchadd<four_if_si>, insn_fetchaddgez<four_if_si>,
2853         insn_fetchand<four_if_si>, insn_fetchor<four_if_si>): Set type to
2854         X1_remote.
2855
2856 2012-08-25  Eric Botcazou  <ebotcazou@adacore.com>
2857
2858         PR rtl-optimization/54088
2859         * jump.c (delete_related_insns): Robustify latest change.
2860
2861 2012-08-21  Richard Guenther  <rguenther@suse.de>
2862
2863         Backport from mainline
2864         2012-08-16  Richard Guenther  <rguenther@suse.de>
2865
2866         PR middle-end/54146
2867         * tree-ssa-loop-niter.c (find_loop_niter_by_eval): Free the
2868         exit vector.
2869         * ipa-pure-const.c (analyze_function): Use FOR_EACH_LOOP_BREAK.
2870         * cfgloop.h (FOR_EACH_LOOP_BREAK): Fix.
2871         * tree-ssa-structalias.c (handle_lhs_call): Properly free rhsc.
2872         * tree-ssa-loop-im.c (analyze_memory_references): Adjust.
2873         (tree_ssa_lim_finalize): Free all mem_refs.
2874         * tree-ssa-sccvn.c (extract_and_process_scc_for_name): Free
2875         scc when bailing out.
2876         * modulo-sched.c (sms_schedule): Use FOR_EACH_LOOP_BREAK.
2877         * ira-build.c (loop_with_complex_edge_p): Free loop exit vector.
2878         * graphite-sese-to-poly.c (scop_ivs_can_be_represented): Use
2879         FOR_EACH_LOOP_BREAK.
2880
2881         2012-08-17  Richard Guenther  <rguenther@suse.de>
2882
2883         * tree-sra.c (modify_function): Free redirect_callers vector.
2884         * ipa-split.c (split_function): Free args_to_pass vector.
2885         * tree-vect-stmts.c (vectorizable_operation): Do not pre-allocate
2886         vec_oprnds.
2887         (new_stmt_vec_info): Do not pre-allocate STMT_VINFO_SAME_ALIGN_REFS.
2888         * tree-vect-slp.c (vect_free_slp_instance): Free the instance.
2889         (vect_analyze_slp_instance): Free everything.
2890         (destroy_bb_vec_info): Free the SLP instances.
2891
2892         2012-08-17  Richard Guenther  <rguenther@suse.de>
2893
2894         * params.def (integer-share-limit): Decrease from 256 to 251,
2895         add rationale.
2896
2897         2012-08-21  Richard Guenther  <rguenther@suse.de>
2898
2899         * tree-ssa-loop-im.c (tree_ssa_lim_finalize): Properly free
2900         the affine expansion cache.
2901
2902 2012-08-20  Patrick Marlier  <patrick.marlier@gmail.com>
2903
2904         Backported from trunk
2905         2012-08-20  Patrick Marlier  <patrick.marlier@gmail.com>
2906
2907         PR middle-end/53992
2908         * omp-low.c (lower_omp_1): Handle GIMPLE_TRANSACTION.
2909
2910 2012-08-20  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
2911
2912         Backport from mainline.
2913         2012-08-15  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
2914
2915         PR target/54212
2916         * config/arm/neon.md (vec_set<mode>_internal VD,VQ): Do not
2917         mark as predicable. Adjust asm template.
2918         (vec_setv2di_internal): Likewise.
2919         (vec_extract<mode> VD, VQ): Likewise.
2920         (vec_extractv2di): Likewise.
2921         (neon_vget_lane<mode>_sext_internal VD, VQ): Likewise.
2922         (neon_vset_lane<mode>_sext_internal VD, VQ): Likewise.
2923         (neon_vdup_n<mode> VX, V32): Likewise.
2924         (neon_vdup_nv2di): Likewise.
2925
2926 2012-08-17  Walter Lee  <walt@tilera.com>
2927
2928         Backport from mainline
2929         2012-08-17  Walter Lee  <walt@tilera.com>
2930
2931         * config/tilegx/feedback.h (FEEDBACK_ENTER_EXPLICIT): Define.
2932         (FEEDBACK_ENTER): Define.
2933         (FEEDBACK_REENTER): Define.
2934         (FEEDBACK_ENTRY): Define.
2935         * config/tilepro/feedback.h: (FEEDBACK_ENTER_EXPLICIT): Define.
2936         (FEEDBACK_ENTER): Define.
2937         (FEEDBACK_REENTER): Define.
2938         (FEEDBACK_ENTRY): Define.
2939
2940 2012-08-16  Walter Lee  <walt@tilera.com>
2941
2942         Backport from mainline
2943         2012-08-16  Walter Lee  <walt@tilera.com>
2944
2945         * config.gcc (tilegx-*-linux*): Add feedback.h.
2946         (tilepro-*-linux*): Likewise.
2947         * config/tilegx/feedback.h: New file.
2948         * config/tilepro/feedback.h: New file.
2949
2950 2012-08-08  Pavel Chupin  <pavel.v.chupin@intel.com>
2951
2952         Backport from mainline r189840 and r187586:
2953         2012-07-25 Sergey Melnikov <sergey.melnikov@intel.com>
2954
2955         * config/i386/i386.md (stack_protect_set): Disable the pattern
2956         for Android since Android libc (bionic) does not provide random
2957         value for stack protection guard at gs:0x14. Guard value
2958         will be provided from external symbol (default implementation).
2959         (stack_protect_set_<mode>): Likewise.
2960         (stack_protect_test): Likewise.
2961         (stack_protect_test_<mode>): Likewise.
2962         * gcc/defaults.h: Define macro TARGET_HAS_BIONIC to 0 - target does
2963         not have Bionic by default
2964         * config/linux.h: Redefine macro TARGET_HAS_BIONIC to (OPTION_BIONIC)
2965         Macro OPTION_BIONIC is defined in this file and provides Bionic
2966         accessibility status
2967
2968         2012-05-16  Igor Zamyatin  <igor.zamyatin@intel.com>
2969
2970         * configure.ac: Stack protector enabling for Android targets.
2971         * configure: Regenerate.
2972
2973 2012-08-13  Jakub Jelinek  <jakub@redhat.com>
2974
2975         Backported from trunk
2976         2012-07-19  Jakub Jelinek  <jakub@redhat.com>
2977
2978         PR rtl-optimization/53942
2979         * function.c (assign_parm_setup_reg): Avoid zero/sign extension
2980         directly from likely spilled non-fixed hard registers, move them
2981         to pseudo first.
2982
2983 2012-08-11  Uros Bizjak  <ubizjak@gmail.com>
2984
2985         * config/i386/sse.md (xop_phaddbq):  Fix vec_select selectors.
2986         (xop_phaddubq): Ditto.
2987
2988 2012-08-10  Ulrich Weigand  <ulrich.weigand@linaro.org>
2989
2990         Backport from mainline
2991         2012-07-30  Ulrich Weigand  <ulrich.weigand@linaro.org>
2992                     Richard Earnshaw  <rearnsha@arm.com>
2993
2994         * target.def (vector_alignment): New target hook.
2995         * doc/tm.texi.in (TARGET_VECTOR_ALIGNMENT): Document new hook.
2996         * doc/tm.texi: Regenerate.
2997         * targhooks.c (default_vector_alignment): New function.
2998         * targhooks.h (default_vector_alignment): Add prototype.
2999         * stor-layout.c (layout_type): Use targetm.vector_alignment.
3000         * config/arm/arm.c (arm_vector_alignment): New function.
3001         (TARGET_VECTOR_ALIGNMENT): Define.
3002
3003         * tree-vect-data-refs.c (vect_update_misalignment_for_peel): Use
3004         vector type alignment instead of size.
3005         * tree-vect-loop-manip.c (vect_do_peeling_for_loop_bound): Use
3006         element type size directly instead of computing it from alignment.
3007         Fix variable naming and comment.
3008
3009 2012-08-09  Uros Bizjak  <ubizjak@gmail.com>
3010
3011         Backport from mainline
3012         2012-08-09  Uros Bizjak  <ubizjak@gmail.com>
3013
3014         * config/alpha/alpha.c (alpha_pad_noreturn): Rename to ...
3015         (alpha_pad_function_end): ... this.  Also insert NOP between
3016         sibling call and GP load.
3017         (alpha_reorg): Update call to alpha_pad_function_end.  Expand comment.
3018
3019 2012-08-09  H.J. Lu  <hongjiu.lu@intel.com>
3020
3021         Backport from mainline
3022         2012-08-08  Richard Sandiford  <rdsandiford@googlemail.com>
3023                     H.J. Lu  <hongjiu.lu@intel.com>
3024
3025         PR rtl-optimization/54157
3026         * combine.c (gen_lowpart_for_combine): Don't return identity
3027         for CONST or symbolic reference.
3028
3029 2012-08-06  Uros Bizjak  <ubizjak@gmail.com>
3030
3031         Backport from mainline
3032         2012-07-23  Uros Bizjak  <ubizjak@gmail.com>
3033
3034         * config/i386/i386-protos.h (ix86_lea_outperforms): Remove prototype.
3035         * config/i386/i386.c (ix86_lea_outperforms): Make static.  Make
3036         split_cost argument signed.
3037         (ix86_use_lea_for_mov): Use INVALID_REGNUM instead of -1.
3038         (ix86_avoid_lea_for_addr): Ditto.
3039
3040         2012-07-27  Uros Bizjak  <ubizjak@gmail.com>
3041
3042         * config/i386/i386.c (ix86_avoid_lea_for_addr): Return false if
3043         the address has less than two components.
3044
3045 2012-08-02  Steve Ellcey  <sellcey@mips.com>
3046
3047         Backport from mainline
3048         2012-07-19  Steve Ellcey  <sellcey@mips.com>
3049
3050         * config/mips/mips.c (mips_set_mips16_mode): Clear SYNCI_MASK in
3051         MIPS16 mode.
3052
3053 2012-08-02  Uros Bizjak  <ubizjak@gmail.com>
3054
3055         Backport from mainline
3056         2012-07-24  Uros Bizjak  <ubizjak@gmail.com>
3057
3058         PR target/53961
3059         * config/i386/i386.c (ix86_legitimate_address_p): Move check for
3060         negative constant address for TARGET_X32 ...
3061         (ix86_decompose_address): ... here.  Reject constant addresses
3062         that don't satisfy x86_64_immediate_operand predicate.
3063
3064         2012-07-23  Uros Bizjak  <ubizjak@gmail.com>
3065
3066         PR target/53961
3067         * config/i386/i386.md (*lea): Add asserts to detect invalid addresses.
3068         * config/i386/i386.c (ix86_print_operand_address): Ditto.
3069         (ix86_decompose_address): Allow (zero_extend:DI (subreg:SI (...)))
3070         addresses.  Prevent zero extensions of CONST_INT operands.
3071
3072         2012-07-22  Uros Bizjak  <ubizjak@gmail.com>
3073
3074         PR target/53961
3075         * config/i386/i386.md (*lea): New insn pattern.
3076         (*lea_1): Remove.
3077         (*lea<mode>_2): Ditto.
3078         (*lea_{3,4,5,6}_zext): Ditto.
3079         * config/i386/predicates.md (lea_address_operand): Do not reject
3080         zero-extended address operands.
3081         * config/i386/constraints.md (j): Remove address constraint.
3082         * config/i386/i386.c (ix86_decompose_address): Allow SImode subreg
3083         of an address.
3084         (ix86_print_operand_address): Handle SImode subreg of an address.
3085         (ix86_avoid_lea_for_addr): Reject zero-extended addresses for now.
3086
3087 2012-08-01  Uros Bizjak  <ubizjak@gmail.com>
3088
3089         Backport from mainline
3090         2012-03-09  Uros Bizjak  <ubizjak@gmail.com>
3091
3092         PR target/52530
3093         * config/i386/i386.c (ix86_print_operand): Handle 'E' operand modifier.
3094         (ix86_print_operand_address): Handle UNSPEC_LEA_ADDR. Do not fallback
3095         to set code to 'q'.
3096         * config/i386/i386.md (UNSPEC_LEA_ADDR): New unspec.
3097         (*movdi_internal_rex64): Use %E operand modifier for lea.
3098         (*movsi_internal): Ditto.
3099         (*lea_1): Ditto.
3100         (*lea<mode>_2): Ditto.
3101         (*lea_{3,4,5,6}_zext): Ditto.
3102         (*tls_global_dynamic_32_gnu): Ditto.
3103         (*tls_global_dynamic_64): Ditto.
3104         (*tls_dynamic_gnu2_lea_32): Ditto.
3105         (*tls_dynamic_gnu2_lea_64): Ditto.
3106         (pro_epilogue_adjust_stack_<mode>_add): Ditto.
3107
3108 2012-08-01  Uros Bizjak  <ubizjak@gmail.com>
3109
3110         Backport from mainline
3111         2012-08-01  Uros Bizjak  <ubizjak@gmail.com>
3112
3113         * config/i386/i386.c (ix86_address_subreg_operand): Reject
3114         stack pointer.
3115         (ix86_print_operand_address): Assert that parts.base and parts.index
3116         are non-NULL after call to simplify_subreg.
3117
3118 2012-07-22  Oleg Endo  <olegendo@gcc.gnu.org>
3119
3120         PR target/33135
3121         * config/sh/sh.opt (mieee): Use Var instead of Mask.  Correct
3122         description.
3123         * config/sh/sh.c (sh_option_override): Do not change
3124         flag_finite_math_only.  Set TARGET_IEEE to complement of
3125         flag_finite_math_only.
3126         * doc/invoke.texi (SH options): Add mno-ieee.  Correct
3127         description of mieee and mno-ieee behavior.
3128
3129 2012-07-20  Kirill Yukhin  <kirill.yukhin@intel.com>
3130
3131         PR target/53877
3132         * config/i386/lzcntintrin.h (_lzcnt_u32): New.
3133         (_lzcnt_u64): Ditto.
3134
3135 2012-07-20  Andrey Belevantsev  <abel@ispras.ru>
3136
3137         Backport from mainline
3138         2012-03-06  Andrey Belevantsev  <abel@ispras.ru>
3139
3140         PR rtl-optimization/52250
3141         * sel-sched-ir.c (maybe_tidy_empty_bb): Try harder to find a bb
3142         to put note list into.  Unconditionally call move_bb_info.
3143         (move_bb_info): Do not assert the blocks being in the same region,
3144         just drop the note list if they are not.
3145
3146 2012-07-19  Eric Botcazou  <ebotcazou@adacore.com>
3147
3148         * config/sparc/sparc.md (adddi3_insn_sp32): Add earlyclobber.
3149
3150 2012-07-19  Eric Botcazou  <ebotcazou@adacore.com>
3151
3152         * tree-ssa-forwprop.c (combine_conversions): Punt if the RHS of the
3153         defining statement is a SSA name that occurs in abnormal PHIs.
3154
3155 2012-07-19  Eric Botcazou  <ebotcazou@adacore.com>
3156
3157         * gimple-fold.c (canonicalize_constructor_val): Strip only useless type
3158         conversions.
3159
3160 2012-07-19  Richard Guenther  <rguenther@suse.de>
3161             Eric Botcazou  <ebotcazou@adacore.com>
3162
3163         * tree-ssa-ccp.c (valid_lattice_transition): Clarify comment
3164         about transition from invariant to known bits.
3165         (likely_value): Addresses with UNDEFINED components are UNDEFINED.
3166
3167 2012-07-19  Jakub Jelinek  <jakub@redhat.com>
3168
3169         PR middle-end/54017
3170         * tree-cfgcleanup.c (cleanup_omp_return): Remove.
3171         (cleanup_tree_cfg_bb): Don't call it.
3172         * omp-low.c (expand_omp_sections): Fix up the !exit_reachable case
3173         handling.
3174
3175 2012-07-19  Christian Bruel  <christian.bruel@st.com>
3176
3177         PR target/54029
3178         * config/sh/sh.c (gen_far_branch): Set JUMP_LABEL for return jumps.
3179
3180 2012-07-18  Ralf Corsépius  <ralf.corsepius@rtems.org>
3181
3182         * config.gcc (v850-*-rtems*): New target.
3183         * config/v850/rtems.h: New.
3184         * config/v850/t-rtems: New.
3185
3186 2012-07-18  Nick Clifton  <nickc@redhat.com>
3187
3188         * doc/invoke.texi (ARM Options): Document -munaligned-access.
3189
3190 2012-07-15  Uros Bizjak  <ubizjak@gmail.com>
3191
3192         PR target/53961
3193
3194         Backport from mainline
3195         2012-04-25  Jakub Jelinek  <jakub@redhat.com>
3196
3197         PR target/53110
3198         * config/i386/i386.md (and<mode>3): For andq $0xffffffff, reg
3199         instead expand it as zero extension.
3200
3201 2012-07-14  Uros Bizjak  <ubizjak@gmail.com>
3202
3203         * config/i386/i386.md (QImode and HImode cmove splitters): Merge
3204         QImode and HImode splitters.  Use ix86_comparison_operator.
3205         Explicitly match FLAGS_REG.
3206         (DFmode cmove splitter): Explicitly match FLAGS_REG.
3207
3208 2012-07-13  Richard Sandiford  <rdsandiford@googlemail.com>
3209             Steven Bosscher  <steven@gcc.gnu.org>
3210             Bernd Schmidt  <bernds@codesourcery.com>
3211
3212         PR rtl-optimization/53908
3213         * df-problems.c (can_move_insns_across): When doing
3214         memory-reference book-keeping, handle call insns.
3215
3216 2012-07-10  Uros Bizjak  <ubizjak@gmail.com>
3217
3218         Backport from mainline
3219         2012-07-03  Uros Bizjak  <ubizjak@gmail.com>
3220
3221         PR target/53811
3222         * config/i386/i386.c (x86_output_mi_thunk): Check if fnaddr satisfies
3223         sibcall_insn_operand.  Move it to a temporary register if not.
3224
3225         2012-07-06  Uros Bizjak  <ubizjak@gmail.com>
3226
3227         PR target/53853
3228         * config/i386/i386.c (x86_output_mi_thunk): For CM_LARGE_PIC model,
3229         emit PIC sequence for fnaddr symbol reference in advance.
3230
3231 2012-07-09  Jason Merrill  <jason@redhat.com>
3232
3233         PR c++/53882
3234         * tree.c (type_contains_placeholder_1): Handle NULLPTR_TYPE.
3235         (type_hash_eq): Likewise.
3236
3237         PR c++/53826
3238         * tree.c (build_zero_cst): Handle NULLPTR_TYPE.
3239
3240 2012-07-07  Ulrich Weigand  <ulrich.weigand@linaro.org>
3241
3242         * combine.c (force_to_mode) [LSHIFTRT]: Avoid undefined behaviour
3243         due to negative shift amount.
3244
3245 2012-07-06  Kai Tietz  <ktietz@redhat.com>
3246
3247         Backport from mainline.
3248         PR bootstrap/52947
3249         * config/i386/mingw32.h (NATIVE_SYSTEM_HEADER_DIR): Define it always
3250         as "/mingw/include".
3251
3252 2012-07-06  Nick Clifton  <nickc@redhat.com>
3253
3254         * config/mn10300/mn10300.c (mn10300_encode_section_info): Call
3255         default_encode_section_info.
3256
3257 2012-07-06  Richard Guenther  <rguenther@suse.de>
3258
3259         Backport from mainline
3260         2012-03-30  Richard Guenther  <rguenther@suse.de>
3261
3262         PR middle-end/52786
3263         * double-int.c (rshift_double): Remove not needed cast.
3264
3265         2012-03-28  Richard Guenther  <rguenther@suse.de>
3266
3267         PR middle-end/50708
3268         * double-int.h (rshift_double): Remove.
3269         * double-int.c (lshift_double): Use absu_hwi to make count
3270         positive.
3271         (rshift_double): Make static, take unsigned count argument,
3272         remove handling of negative count argument.
3273         (double_int_rshift): Dispatch to lshift_double.
3274
3275 2012-07-06  Richard Guenther  <rguenther@suse.de>
3276
3277         Backport from mainline
3278         2012-06-18  Richard Guenther  <rguenther@suse.de>
3279
3280         PR tree-optimization/53693
3281         * tree-vect-patterns.c (vect_operation_fits_smaller_type):
3282         Reject operands with more than one use.
3283
3284 2012-07-06  Richard Guenther  <rguenther@suse.de>
3285
3286         Backport from mainline
3287         2012-04-11  Richard Guenther  <rguenther@suse.de>
3288
3289         PR middle-end/52621
3290         * tree-chrec.c (evolution_function_is_invariant_rec_p): Properly
3291         consider loop nesting.
3292         (evolution_function_is_univariate_p): Properly check the remainder
3293         for chrecs.
3294
3295 2012-07-05  Pat Haugen <pthaugen@us.ibm.com>
3296
3297         Backport from mainline
3298         2012-05-24  Pat Haugen <pthaugen@us.ibm.com>
3299
3300         * config/rs6000/rs6000.c (rs6000_option_override_internal): Change
3301         rs6000_sched_costly_dep default to true_store_to_load_dep_costly.
3302         (adjacent_mem_locations): Move some code to and call...
3303         (get_memref_parts): ...new function.
3304         (mem_locations_overlap): New function.
3305         (rs6000_adjust_priority): Adjust calls to is_load_insn/is_store_insn.
3306         (is_mem_ref): Rename to...
3307         (find_mem_ref): ...this. Return MEM rtx.
3308         (get_store_dest): Remove function.
3309         (is_load_insn1, is_load_insn, is_store_insn1, is_store_insn): Add
3310         new parameter and adjust calls.
3311         (rs6000_is_costly_dependence): Update calls for extra arg. Make sure
3312         mem refs overlap for true_store_to_load_dep_costly.
3313         (rs6000_sched_reorder2): Update calls for extra arg. Adjust args
3314         passed to adjacent_mem_locations.
3315         (is_costly_group): Walk resolved dependency list.
3316         (force_new_group): Emit group ending nop for Power6/Power7.
3317         * config/rs6000/rs6000.md (UNSPEC_GRP_END_NOP): New enum value.
3318         (group_ending_nop): New define_insn.
3319
3320 2012-07-04  Richard Guenther  <rguenther@suse.de>
3321
3322         PR middle-end/53433
3323         * gimple-fold.c (get_base_constructor): Do not return an
3324         error_mark_node DECL_INITIAL.
3325
3326 2012-07-04  Uros Bizjak  <ubizjak@gmail.com>
3327
3328         Backport from mainline
3329         2012-07-03  Uros Bizjak  <ubizjak@gmail.com>
3330
3331         * config/i386/i386.c (ix86_option_override_internal): Fix wrong
3332         code model string in the error message.
3333
3334 2012-07-04  Tristan Gingold  <gingold@adacore.com>
3335
3336         Backport from mainline.
3337         2012-06-25  Tristan Gingold  <gingold@adacore.com>
3338
3339         * config/i386/winnt.c (i386_pe_seh_end_prologue): Move code to ...
3340         (seh_cfa_adjust_cfa): ... that function.
3341         (seh_emit_stackalloc): Do not emit out of range values.
3342         * config/i386/i386.md: Delete unused UNSPEC_REG_SAVE,
3343         UNSPEC_DEF_CFA constants.
3344         * config/i386/i386.h (SEH_MAX_FRAME_SIZE): Define.
3345         * config/i386/i386.c (ix86_frame_pointer_required): Required
3346         for very large frames on SEH target.
3347         (ix86_compute_frame_layout): Save area is before frame pointer
3348         on SEH target.  Handle very large frames.
3349         (ix86_expand_prologue): Likewise.
3350
3351 2012-07-04  Richard Guenther  <rguenther@suse.de>
3352
3353         * tree.c (find_decls_types_r): Handle TYPE_CONTEXT the same
3354         as in free_lang_data_in_type.
3355
3356 2012-07-02  Martin Jambor  <mjambor@suse.cz>
3357
3358         Backport from mainline.
3359         2012-07-02  Martin Jambor  <mjambor@suse.cz>
3360
3361         PR middle-end/38474
3362         * ipa-prop.c (compute_known_type_jump_func): Put BINFO check before a
3363         dynamic type change check.
3364
3365 2012-06-29  Eric Botcazou  <ebotcazou@adacore.com>
3366
3367         * tree-eh.c (lower_try_finally_switch): Really put the location of the
3368         last statement of the finally block onto the switch.
3369
3370 2012-06-29  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
3371
3372         * configure: Regenerate.
3373
3374         Backport from mainline.
3375         2012-03-15  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
3376
3377         * config.gcc (target_type_format_char): New. Document it. Set it for
3378         arm*-*-* .
3379         * configure.ac (gnu_unique_option): Use target_type_format_char
3380         in test.  Comment rationale.
3381
3382 2012-06-29  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
3383
3384         Backport from mainline.
3385         2012-05-30  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
3386
3387         * config/arm/arm.c (arm_evpc_neon_vrev): Adjust off by one error.
3388
3389 2012-06-28  Georg-Johann Lay  <avr@gjlay.de>
3390
3391         Backport from 2012-06-28 mainline r189049
3392
3393         PR 53595
3394         * config/avr/avr.c (avr_hard_regno_call_part_clobbered): New.
3395         * config/avr/avr-protos.h (avr_hard_regno_call_part_clobbered): New.
3396         * config/avr/avr.h (HARD_REGNO_CALL_PART_CLOBBERED): Forward to
3397         avr_hard_regno_call_part_clobbered.
3398
3399 2012-06-28  Richard Guenther  <rguenther@suse.de>
3400
3401         PR middle-end/53790
3402         * expr.c (expand_expr_real_1): Verify if the type is complete
3403         before inspecting its size.
3404
3405 2012-06-27  Nick Clifton  <nickc@redhat.com>
3406
3407         * config/rx/rx.md (comparesi3_extend): Remove = modifier from
3408         input operand.
3409
3410 2012-06-26  Alexandre Oliva  <aoliva@redhat.com>
3411
3412         PR debug/53682
3413         * cselib.c (promote_debug_loc): Don't crash on NULL argument.
3414
3415 2012-06-26  Nick Clifton  <nickc@redhat.com>
3416
3417         * config/rx/rx.md (simple_return): Use the simple_return rtx.
3418
3419 2012-06-25  Jakub Jelinek  <jakub@redhat.com>
3420
3421         PR target/53759
3422         * config/i386/sse.md (sse_loadlps): Use x m x constraints instead
3423         of x x x in the vmovlps load alternative.
3424
3425 2012-06-22  Richard Guenther  <rguenther@suse.de>
3426
3427         * gcov-iov.c: Include bconfig.h and system.h.
3428
3429 2012-06-22  Richard Guenther  <rguenther@suse.de>
3430
3431         PR gcov-profile/53744
3432         * gcov-iov.c (main): Treat "" and "prerelease" the same.
3433
3434 2012-06-22  Eric Botcazou  <ebotcazou@adacore.com>
3435
3436         * tree-ssa-live.c (remove_unused_scope_block_p): Remove again
3437         DECL_IGNORED_P non-reg vars even if they are used.
3438
3439 2012-06-19  Jason Merrill  <jason@redhat.com>
3440
3441         PR c++/52637
3442         * dwarf2out.c (modified_type_die): Use scope_die_for.
3443         (gen_type_die_with_usage, dwarf2out_finish): Likewise.
3444         (uses_local_type_r, uses_local_type): New.
3445         (scope_die_for): Keep a type that uses a local type in local scope.
3446         Use get_context_die for namespace and type scope.
3447
3448 2012-06-19  Richard Guenther  <rguenther@suse.de>
3449
3450         PR middle-end/53470
3451         * tree.c (free_lang_data_in_type): Do not clear TYPE_CONTEXT but
3452         replace it with the first non-BLOCK context.
3453
3454 2012-06-18  Vladimir Makarov  <vmakarov@redhat.com>
3455
3456         PR rtl-optimization/53700
3457
3458         Backport from mainline
3459         2012-03-29  Vladimir Makarov  <vmakarov@redhat.com>
3460
3461         * ira-color.c (setup_left_conflict_sizes_p): Process all
3462         conflicting objects.
3463
3464 2012-06-18  Venkataramanan Kumar <venkataramanan.kumar@amd.com>
3465
3466         Backport from mainline
3467         2012-05-09 Uros Bizjak  <ubizjak@gmail.com>
3468
3469         PR target/52908
3470         * config/i386/sse.md (vec_widen_smult_hi_v4si): Expand using
3471         xop_pmacsdqh insn pattern instead of xop_mulv2div2di3_high.
3472         (vec_widen_smult_lo_v4si): Expand using xop_pmacsdql insn pattern
3473         instead of xop_mulv2div2di3_low.
3474         (xop_p<macs>dql): Fix vec_select selector.
3475         (xop_p<macs>dqh): Ditto.
3476         (xop_mulv2div2di3_low): Remove insn_and_split pattern.
3477         (xop_mulv2div2di3_high): Ditto.
3478
3479 2012-06-17  Uros Bizjak  <ubizjak@gmail.com>
3480
3481         Backport from mainline:
3482         2012-06-17  Uros Bizjak  <ubizjak@gmail.com>
3483
3484         * config/i386/sse.md (vcvtph2ps): Fix vec_select selector.
3485
3486 2012-06-16  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3487
3488         Backport from mainline:
3489         2012-06-03  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3490
3491         * config/pa/pa.h (MAX_PCREL17F_OFFSET): Define.
3492         * config/pa/pa.c (pa_attr_length_millicode_call): Use
3493         MAX_PCREL17F_OFFSET instead of fixed offset.
3494         (pa_attr_length_call): Likewise.
3495         (pa_attr_length_indirect_call): Likewise.
3496
3497 2012-06-15  Walter Lee  <walt@tilera.com>
3498
3499         Backport from mainline:
3500         2012-06-15  Walter Lee  <walt@tilera.com>
3501
3502         * config/tilegx/sync.md (atomic_fetch_<fetchop_name><mode>): Fix typo.
3503
3504         2012-06-14  Maxim Kuvyrkov  <maxim@codesourcery.com>
3505
3506         * config/tilegx/sync.md (atomic_fetch_sub<mode>): Fix typo.
3507
3508 2012-06-15  Aldy Hernandez  <aldyh@redhat.com>
3509
3510         Backport from mainline:
3511
3512         2012-05-31  Aldy Hernandez  <aldyh@redhat.com>
3513         * tree-ssa-loop-im.c (execute_sm): Do not check flag_tm.
3514         * gimple.h (block_in_transaction): Check for flag_tm.
3515
3516 2012-06-14  Aldy Hernandez  <aldyh@redhat.com>
3517
3518         PR tree-optimization/52558
3519
3520         Backport from mainline:
3521         2012-05-21  Aldy Hernandez  <aldyh@redhat.com>
3522         * gimple.h (gimple_set_in_transaction): Remove.
3523         (gimple_in_transaction): Look in BB instead.
3524         (gimple_statement_base): Remove in_transaction field.
3525         * basic-block.h (enum bb_flags): Add BB_IN_TRANSACTION.
3526         * trans-mem.c (compute_transaction_bits): Place transaction bit
3527         information into basic blocks.
3528
3529         2012-05-31  Aldy Hernandez  <aldyh@redhat.com>
3530
3531         PR tree-optimization/52558
3532         * cfg.c (alloc_aux_for_edge): Fix comment.
3533         (alloc_aux_for_edge): Remove static.
3534         * basic-block.h (alloc_aux_for_edge): Protoize.
3535         * tree-ssa-loop-im.c (execute_sm_if_changed): New.
3536         (execute_sm_if_changed_flag): New.
3537         (execute_sm_if_changed_flag_set): New.
3538         (execute_sm): Do not generate data races unless requested.
3539         (tree_ssa_lim_initialize): Call alloc_aux_for_edges.
3540         (tree_ssa_lim_finalize): Call free_aux_for_edges.
3541         * gimple.h (block_in_transaction): New.
3542         (gimple_in_transaction): Use block_in_transaction.
3543
3544 2012-06-14  Jakub Jelinek  <jakub@redhat.com>
3545
3546         Backported from mainline
3547         2012-06-12  Jakub Jelinek  <jakub@redhat.com>
3548
3549         PR rtl-optimization/53589
3550         * cfgrtl.c (force_nonfallthru_and_redirect): Do asm_goto_edge
3551         discovery even when e->dest != target.  If any LABEL_REF points
3552         to e->dest label, redirect it to target's label.
3553
3554         2012-06-07  Jakub Jelinek  <jakub@redhat.com>
3555
3556         PR middle-end/53580
3557         * omp-low.c (scan_omp_1_stmt): If check_omp_nesting_restrictions
3558         returns false, replace stmt with GIMPLE_NOP.
3559         (check_omp_nesting_restrictions): Instead of issuing warnings,
3560         issue errors and return false if any errors were reported.
3561
3562 2012-06-14  Richard Guenther  <rguenther@suse.de>
3563
3564         * BASE-VER: Set to 4.7.2.
3565         * DEV-PHASE: Set to prerelease.
3566
3567 2012-06-12  Christian Bruel  <christian.bruel@st.com>
3568
3569         PR target/53621
3570         * config/sh/sh.c (sh_option_override): Don't force
3571          flag_omit_frame_pointer and maccumulate_outgoing_args.
3572         * config/sh/sh.opt (maccumulate-outgoing-args): Init as Var.
3573
3574 2012-06-14  Release Manager
3575
3576         * GCC 4.7.1 released.
3577
3578 2012-06-13  Uros Bizjak  <ubizjak@gmail.com>
3579
3580         * config/ia64/sync.md (fetchop_name): Change ior attribute to "or".
3581
3582 2012-06-13  Richard Henderson  <rth@redhat.com>
3583
3584         * config/rs6000/sync.md (atomic_load, atomic_store): Use INT1 mode
3585         iterator instead of INT.
3586
3587 2012-06-08  Richard Henderson  <rth@redhat.com>
3588
3589         PR c++/53602
3590         * combine-stack-adj.c (force_move_args_size_note): Add ARGS_SIZE
3591         note to a clobber insn when no other insn is available.
3592
3593 2012-06-04  Paolo Carlini  <paolo.carlini@oracle.com>
3594
3595         PR c++/53524
3596         * doc/invoke.texi (Wenum-compare): Update documentation.
3597
3598 2012-06-04  Edmar Wienskoski  <edmar@freescale.com>
3599
3600         PR target/53559
3601         * config/rs6000/altivec.md (altivec_stvlx): Change machine mode of
3602         operands.
3603         (altivec_stvlxl): Ditto.
3604         (altivec_stvrx): Ditto.
3605         (altivec_stvrxl): Ditto.
3606
3607 2012-06-04  Aldy Hernandez  <aldyh@redhat.com>
3608
3609         PR middle-end/47530
3610         * trans-mem.c (expand_block_edges): Do not skip the first
3611         statement when resetting the BB.
3612
3613 2012-06-04  Richard Guenther  <rguenther@suse.de>
3614
3615         PR middle-end/53471
3616         * dwarf2out.c (dwarf2out_finish): If generating LTO do not
3617         create new assembler names.
3618
3619 2012-06-04  Richard Guenther  <rguenther@suse.de>
3620
3621         Backport from mainline
3622         2012-04-25  Jakub Jelinek  <jakub@redhat.com>
3623
3624         PR middle-end/52979
3625         * stor-layout.c (get_best_mode): Don't return mode with bitsize
3626         larger than maxbits.  Don't compute maxbits modulo align.
3627         Also check that unit bytes long store at bitpos / unit * unit
3628         doesn't affect bits beyond bitregion_end.
3629         * expmed.c (store_bit_field_1): Avoid trying insv if OP_MODE MEM
3630         would not fit into bitregion_start ... bitregion_end + 1 bit
3631         region.
3632         (store_split_bit_field): Decrease unit close to end of bitregion_end
3633         if access is restricted in order to avoid mutual recursion.
3634
3635 2012-06-04  Georg-Johann Lay  <avr@gjlay.de>
3636
3637         Backport from 2012-06-04 mainline r188172
3638
3639         PR target/46261
3640         * config/avr/avr-stdint.h: New file.
3641         * config.gcc (avr-*-*,tm_file): Use avr/avr-stdint.h instead of
3642         newlib-stdint.h
3643
3644 2012-06-04  Jakub Jelinek  <jakub@redhat.com>
3645
3646         PR tree-optimization/53550
3647         * tree-ssa-loop-niter.c (number_of_iterations_cond): If type
3648         is POINTER_TYPE_P, use sizetype as step type instead of type.
3649
3650 2012-06-04  Richard Guenther  <rguenther@suse.de>
3651             Eric Botcazou  <ebotcazou@adacore.com>
3652
3653         Backport from mainline
3654         2012-04-03  Eric Botcazou  <ebotcazou@adacore.com>
3655
3656         * expr.c (get_bit_range): Add OFFSET parameter and adjust BITPOS.
3657         Change type of BITOFFSET to signed.  Make sure the lower bound of
3658         the computed range is non-negative by adjusting OFFSET and BITPOS.
3659         (expand_assignment): Adjust call to get_bit_range.
3660
3661         2012-03-27  Eric Botcazou  <ebotcazou@adacore.com>
3662
3663         * expr.c (get_bit_range): Return the null range if the enclosing record
3664         is part of a larger bit field.
3665
3666         2012-03-20  Richard Guenther  <rguenther@suse.de>
3667
3668         * stor-layout.c (finish_bitfield_representative): Fallback
3669         to conservative maximum size if the padding up to the next
3670         field cannot be computed as a constant.
3671         (finish_bitfield_layout): If we cannot compute the distance
3672         between the start of the bitfield representative and the
3673         bitfield member start a new representative.
3674         * expr.c (get_bit_range): The distance between the start of
3675         the bitfield representative and the bitfield member is zero
3676         if the field offsets are not constants.
3677
3678         2012-03-16  Richard Guenther  <rguenther@suse.de>
3679
3680         * stor-layout.c (finish_bitfield_representative): Fall back
3681         to the conservative maximum size if we cannot compute the
3682         size of the tail padding.
3683
3684         2012-03-14  Richard Guenther  <rguenther@suse.de>
3685
3686         * tree.h (DECL_BIT_FIELD_REPRESENTATIVE): New define.
3687         * stor-layout.c (start_bitfield_representative): New function.
3688         (finish_bitfield_representative): Likewise.
3689         (finish_bitfield_layout): Likewise.
3690         (finish_record_layout): Call finish_bitfield_layout.
3691         * tree.c (free_lang_data_in_decl): Only free DECL_QUALIFIER
3692         for QUAL_UNION_TYPE fields.
3693         * tree-streamer-in.c (lto_input_ts_field_decl_tree_pointers):
3694         Stream DECL_BIT_FIELD_REPRESENTATIVE.
3695         * tree-streamer-out.c (write_ts_field_decl_tree_pointers): Likewise.
3696
3697         PR middle-end/52080
3698         PR middle-end/52097
3699         PR middle-end/48124
3700         * expr.c (get_bit_range): Unconditionally extract bitrange
3701         from DECL_BIT_FIELD_REPRESENTATIVE.
3702         (expand_assignment): Adjust call to get_bit_range.
3703
3704 2012-06-01  Eric Botcazou  <ebotcazou@adacore.com>
3705
3706         PR middle-end/53501
3707         * fold-const.c (fold_binary_loc): Refine previous change.
3708
3709 2012-06-01  Oleg Endo  <olegendo@gcc.gnu.org>
3710
3711         Backport from mainline
3712         2012-03-27  Chung-Lin Tang  <cltang@codesourcery.com>
3713
3714         PR target/52667
3715         * config/sh/sh.c (find_barrier): Add equality check of last_got to
3716         avoid going above orig insn.  Update comments.
3717
3718 2012-06-01  Oleg Endo  <olegendo@gcc.gnu.org>
3719
3720         Backport from mainline
3721         2012-03-21  Kaz Kojima  <kkojima@gcc.gnu.org>
3722
3723         PR target/52642
3724         * config/sh/sh.c (sh_expand_prologue): Emit blockage at the end of
3725         prologue for unwinder and profiler.
3726
3727 2012-06-01  Oleg Endo  <olegendo@gcc.gnu.org>
3728
3729         Backport from mainline
3730         2012-03-03  Kaz Kojima  <kkojima@gcc.gnu.org>
3731
3732         * config/sh/sh.md (abssi2): Add TARGET_SH1 condition.
3733
3734 2012-06-01  Oleg Endo  <olegendo@gcc.gnu.org>
3735
3736         Backport from mainline
3737         2012-03-03  Kaz Kojima  <kkojima@gcc.gnu.org>
3738
3739         * config/sh/sh.c (sh_dwarf_register_span): Don't apply
3740         DBX_REGISTER_NUMBER.
3741
3742 2012-06-01  Oleg Endo  <olegendo@gcc.gnu.org>
3743
3744         Backport from mainline
3745         2012-03-03  Kaz Kojima  <kkojima@gcc.gnu.org>
3746
3747         * config/sh/sh.c (shiftcosts): Return MAX_COST when the first
3748         operand is CONST_INT.  Take COSTS_N_INSNS into account.
3749         (sh_rtx_costs): Don't apply COSTS_N_INSNS to the return value of
3750         shiftcosts.     
3751
3752 2012-05-31  Georg-Johann Lay  <avr@gjlay.de>
3753
3754         * config/avr/avr.opt (-msp8): Document it.
3755         * doc/invoke.texi (AVR Options): Copy from trunk docu.
3756
3757 2012-05-31  Richard Guenther  <rguenther@suse.de>
3758
3759         PR middle-end/48493
3760         * expr.c (expand_assignment): Do not use movmisalign on
3761         non-memory.
3762
3763 2012-05-30  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3764
3765         PR target/52999
3766         * config/pa/pa.c (TARGET_SECTION_TYPE_FLAGS): Define.
3767         (pa_section_type_flags): New.
3768         (pa_legitimate_constant_p): Revert previous change.
3769
3770 2012-05-30  Aldy Hernandez  <aldyh@redhat.com>
3771
3772         Backport from mainline
3773         2012-05-25  Aldy Hernandez  <aldyh@redhat.com>
3774
3775         PR middle-end/53008
3776         * trans-mem.c (ipa_tm_create_version_alias): Output new_node if
3777         accessed indirectly.
3778         (ipa_tm_create_version): Same.
3779
3780 2012-05-30  Jason Merrill  <jason@redhat.com>
3781
3782         PR c++/53220
3783         * c-typeck.c (array_to_pointer_conversion): Give -Wc++-compat warning
3784         about array compound literals.
3785
3786 2012-05-30  Richard Guenther  <rguenther@suse.de>
3787
3788         PR middle-end/53501
3789         * fold-const.c (fold_binary_loc): Make sure to call
3790         fold_plusminus_mult_expr with the original sign of operands.
3791
3792 2012-05-30  Eric Botcazou  <ebotcazou@adacore.com>
3793
3794         * explow.c (probe_stack_range): Restore simple control flow and stop
3795         again when the probe cannot be generated if HAVE_check_stack.
3796
3797 2012-05-30  Jakub Jelinek  <jakub@redhat.com>
3798
3799         PR rtl-optimization/53519
3800         * combine.c (simplify_shift_const_1) <case NOT>: Use constm1_rtx
3801         instead of GEN_INT (GET_MODE_MASK (mode)) as second operand of XOR.
3802
3803 2012-05-29  Richard Guenther  <rguenther@suse.de>
3804
3805         PR tree-optimization/53516
3806         * tree-data-ref.c (stmt_with_adjacent_zero_store_dr_p): Reject
3807         bitfield accesses.
3808         * tree-vect-data-refs.c (vect_analyze_data_refs): Likewise.
3809
3810 2012-05-28  Bill Schmidt  <wschmidt@linux.ibm.com>
3811
3812         Backport from mainline
3813         2012-05-28  Richard Guenther  <rguenther@suse.de>
3814
3815         PR tree-optimization/53438
3816         * tree-sra.c (analyze_access_subtree): Correct bitfield exclusion.
3817
3818 2012-05-26  Eric Botcazou  <ebotcazou@adacore.com>
3819
3820         Backport from mainline
3821         2012-03-10  Chung-Lin Tang  <cltang@codesourcery.com>
3822
3823         PR rtl-optimization/52528
3824         * combine.c (can_combine_p): Add setting of subst_low_luid
3825         before call to expand_field_assignment().
3826
3827 2012-05-26  Martin Jambor  <mjambor@suse.cz>
3828
3829         Backport from mainline
3830         2012-05-23  Martin Jambor  <mjambor@suse.cz>
3831
3832         * ipa-inline-analysis.c (inline_merge_summary): Free operand_map.
3833
3834 2012-05-25  Eric Botcazou  <ebotcazou@adacore.com>
3835
3836         PR lto/52178
3837         * tree-inline.c (remap_gimple_op_r): Fix handling of FIELD_DECL.
3838         * tree.c (RETURN_TRUE_IF_VAR): Do not return true for PLACEHOLDER_EXPR.
3839
3840 2012-05-25  Alexander Ivchenko  <alexander.ivchenko@intel.com>
3841
3842         PR target/53435
3843         * config/i386/i386.c (ix86_expand_vec_perm): Use correct op.
3844         (ix86_expand_vec_perm): Use int mode instead of float.
3845
3846 2012-05-25  Eric Botcazou  <ebotcazou@adacore.com>
3847
3848         PR ada/52362
3849         * config.gcc (i[34567]86-*-mingw* | x86_64-*-mingw*): Set gas and
3850         gnu_ld variables to yes.
3851         * configure.ac (HAVE_GNU_LD): Move to after config.gcc inclusion.
3852         (HAVE_GNU_AS): Likewise.
3853         * config.in: Regenerate.
3854         * configure: Likewise.
3855
3856 2012-05-25  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
3857
3858         Backport from mainline
3859         2012-03-12  Richard Guenther  <rguenther@suse.de>
3860         * config/arm/arm.c (neon_dereference_pointer): Do not call
3861         covert during RTL expansion.
3862
3863 2012-05-24  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
3864
3865         Backport from mainline
3866         2012-05-18  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
3867
3868         PR target/53385
3869         * config/rs6000/rs6000.c (print_operand): Revise code that unsafely
3870         relied on signed overflow behavior.
3871
3872 2012-05-24  Richard Guenther  <rguenther@suse.de>
3873
3874         PR middle-end/53460
3875         * tree-profile.c (tree_profiling): Cleanup the CFG if
3876         execute_fixup_cfg requests it.
3877
3878 2012-05-24  Jakub Jelinek  <jakub@redhat.com>
3879
3880         PR tree-optimization/53465
3881         * tree-vrp.c (extract_range_from_cond_expr): First copy_value_range
3882         vr0 into *vr, then vrp_meet that.
3883         (vrp_meet): If one vr type is VR_UNDEFINED, ensure the result doesn't
3884         have any equivalences.
3885         (vrp_visit_phi_node): Call copy_value_range instead of vrp_meet the
3886         first time.
3887
3888 2012-05-23  Eric Botcazou  <ebotcazou@adacore.com>
3889
3890         * gimple.c (gimple_types_compatible_p_1) <ARRAY_TYPE>: Remove bogus
3891         size handling.
3892         (gimple_canonical_types_compatible_p) <ARRAY_TYPE>: Likewise.
3893         (iterative_hash_gimple_type): Adjust comment.
3894         (iterative_hash_canonical_type): Likewise.  Hash the bounds of the
3895         domain for an array type instead of the domain type itself.
3896
3897 2012-05-23  Georg-Johann Lay  <avr@gjlay.de>
3898
3899         Backport from 2012-05-23 mainline r187803
3900
3901         PR target/53448
3902         * config/avr/avr.h (ASM_OUTPUT_ALIGN): Don't inhibit .p2align 1.
3903         * config/avr/elf.h (ASM_OUTPUT_BEFORE_CASE_LABEL): Use
3904         ASM_OUTPUT_ALIGN.
3905
3906 2012-05-23  Ganesh Gopalasubramanian  <Ganesh.Gopalasubramanian@amd.com>
3907
3908         Backport from 2012-05-03 mainline r187075
3909
3910         * config/i386/driver-i386.c (host_detect_local_cpu): Reset
3911         has_fma4 for AMD processors with both fma3 and fma4 support.
3912
3913 2012-05-22  Richard Guenther  <rguenther@suse.de>
3914
3915         PR tree-optimization/53408
3916         * tree-vect-loop.c (vectorizable_induction): Properly check
3917         the restriction that we cannot handle induction results from
3918         the inner loop outside of the outer loop.
3919
3920 2012-05-21  Jakub Jelinek  <jakub@redhat.com>
3921
3922         PR tree-optimization/53436
3923         * omp-low.c (omp_build_component_ref): New function.
3924         (build_receiver_ref, build_sender_ref, create_task_copyfn): Use it.
3925
3926         PR tree-optimization/53366
3927         * tree-vect-slp.c (vect_supported_load_permutation_p): Don't shortcut
3928         tests if complex_numbers == 2, but there are non-complex number loads
3929         too.
3930
3931         PR tree-optimization/53409
3932         * tree-vect-loop.c (vect_analyze_loop_operations): Don't check
3933         vinfo_for_stmt (op_def_stmt) if op_def_stmt isn't inside loop.
3934
3935         PR tree-optimization/53410
3936         * fold-const.c (fold_binary_loc): Use build_zero_cst (type)
3937         instead of build_int_cst (type, 0) where vector types might be
3938         involved.
3939
3940 2012-05-21  Joseph Myers  <joseph@codesourcery.com>
3941
3942         PR c/53418
3943         * c-typeck.c (build_conditional_expr): Remove C_MAYBE_CONST_EXPR
3944         from folded operands before wrapping another around the
3945         conditional expression.
3946
3947 2012-05-21  Dave Boutcher  <daveboutcher@gmail.com>
3948             Patrick Marlier  <patrick.marlier@gmail.com>
3949
3950         * trans-mem.c (ipa_tm_transform_clone): Transform functions with
3951         indirect calls.
3952
3953 2012-05-21  H.J. Lu  <hongjiu.lu@intel.com>
3954
3955         Backport from mainline
3956         2012-05-21  H.J. Lu  <hongjiu.lu@intel.com>
3957
3958         PR target/53416
3959         * config/i386/i386.md (UNSPEC_RDRAND): Renamed to ...
3960         (UNSPECV_RDRAND): This.
3961         (rdrand<mode>_1): Updated.
3962
3963 2012-05-20  H.J. Lu  <hongjiu.lu@intel.com>
3964
3965         Backport from mainline
3966         2012-05-20  H.J. Lu  <hongjiu.lu@intel.com>
3967
3968         * config/i386/driver-i386.c (host_detect_local_cpu): Support
3969         RDRND, F16C and FSGSBASE.
3970
3971 2012-05-19  Eric Botcazou  <ebotcazou@adacore.com>
3972
3973         Backport from mainline
3974         2012-05-14  Eric Botcazou  <ebotcazou@adacore.com>
3975
3976         * tree-ssa-pre.c (can_value_number_call): Delete.
3977         (compute_avail): Skip all statements with side effects.
3978         <GIMPLE_CALL>: Skip calls to internal functions.
3979
3980 2012-05-18  David S. Miller  <davem@davemloft.net>
3981
3982         Backport r185385 from mainline
3983         2012-03-14  Richard Guenther  <rguenther@suse.de>
3984
3985         PR middle-end/52584
3986         * tree-vect-generic.c (type_for_widest_vector_mode): Take
3987         element type instead of mode, use build_vector_type_for_mode
3988         instead of the langhook, build a vector of proper signedness.
3989         (expand_vector_operations_1): Adjust.
3990
3991 2012-05-18  Olivier Hainque  <hainque@adacore.com>
3992
3993         * Makefile.in (FLAGS_TO_PASS): Pass $(libexecsubdir) instead of
3994         $(libsubdir) as libexecsubdir.
3995
3996 2012-05-16  Andrew Pinski  <apinski@cavium.com>
3997
3998         * gimple-fold.c (get_maxval_strlen): Move COND_EXPR handling under
3999         GIMPLE_ASSIGN.
4000
4001 2012-05-16  David S. Miller  <davem@davemloft.net>
4002
4003         * jump.c (delete_related_insns): If we remove a CALL, make sure
4004         we delete it's NOTE_INSN_CALL_ARG_LOCATION note too.
4005
4006 2012-05-16  Richard Henderson  <rth@redhat.com>
4007
4008         PR debug/52727
4009         * combine-stack-adj.c (prev_active_insn_bb): New.
4010         (next_active_insn_bb): New.
4011         (force_move_args_size_note): New.
4012         (combine_stack_adjustments_for_block): Use it.
4013
4014 2012-05-16  Olivier Hainque  <hainque@adacore.com>
4015
4016         * Makefile.in (install-no-fixedincludes): New target, former toplevel
4017         gcc-no-fixedincludes. Stash "include-fixed" in addition to "include".
4018         Add comments and improve stamp preservation across the whole sequence.
4019         (stmp-int-hdrs): Use move-if-change + cp -p to setup fix_dir/limits.h.
4020
4021 2012-05-16  Richard Guenther  <rguenther@suse.de>
4022
4023         PR tree-optimization/53364
4024         * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Properly
4025         detect a view-conversion of the decl.
4026
4027 2012-05-15  Jakub Jelinek  <jakub@redhat.com>
4028
4029         PR target/53358
4030         * config/i386/i386.md (*addqi_2 peephole with QImode addition): Check
4031         that operands[2] is either immediate, or q_regs_operand.
4032
4033 2012-05-15  Bin Cheng  <bin.cheng@arm.com>
4034
4035         Backport r187139 from mainline.
4036         2012-05-04  Bin Cheng  <bin.cheng@arm.com>
4037
4038         PR rtl-optimization/52804
4039         * reload1.c (reload_reg_reaches_end_p): Check whether successor
4040         reload with type RELOAD_FOR_INPUT_ADDRESS kills reload register
4041         of current one with type RELOAD_FOR_INPADDR_ADDRESS.
4042         Same stands for reloads with type RELOAD_FOR_OUTPUT_ADDRESS and
4043         RELOAD_FOR_OUTADDR_ADDRESS.
4044
4045 2012-05-14  Uros Bizjak  <ubizjak@gmail.com>
4046
4047         PR target/46098
4048         * config/i386/i386.c (ix86_expand_special_args_builtin): Always
4049         generate target register for "load" class builtins.
4050
4051         Revert:
4052         2010-10-22  Uros Bizjak  <ubizjak@gmail.com>
4053
4054         PR target/46098
4055         * config/i386/sse.md (*avx_movu<ssemodesuffix><avxmodesuffix>):
4056         Rename from avx_movu<ssemodesuffix><avxmodesuffix>.
4057         (avx_movu<ssemodesuffix><avxmodesuffix>): New expander.
4058         (*<sse>_movu<ssemodesuffix>): Rename from <sse>_movu<ssemodesuffix>.
4059         (<sse>_movu<ssemodesuffix>): New expander.
4060         (*avx_movdqu<avxmodesuffix>): Rename from avx_movdqu<avxmodesuffix>.
4061         (avx_movdqu<avxmodesuffix>): New expander.
4062         (*sse2_movdqu): Rename from sse2_movdqu.
4063         (sse2_movdqu): New expander.
4064
4065 2012-05-14  Jakub Jelinek  <jakub@redhat.com>
4066
4067         * dwarf2out.c (dwarf2out_define, dwarf2out_undef): Treat
4068         lineno 1 the same as lineno 0 before first start file directive.
4069         (optimize_macinfo_range): Likewise.
4070
4071         * dwarf2out.c (have_macinfo): Define.
4072         (dwarf2out_finish): Don't emit DW_AT_GNU_macros or DW_AT_macro_info
4073         attribute, don't force empty compilation unit and don't emit any
4074         .debug_macinfo/.debug_macro section if macinfo_table is empty.
4075
4076 2012-05-13  Uros Bizjak  <ubizjak@gmail.com>
4077
4078         Backport from mainline
4079         2012-05-12  Uros Bizjak  <ubizjak@gmail.com>
4080
4081         * config/alpha/alpha.c (alpha_emit_conditional_branch): Handle
4082         ORDERED and UNORDERED conditions.
4083
4084 2012-05-12  Eric Botcazou  <ebotcazou@adacore.com>
4085
4086         * function.c (requires_stack_frame_p): If the function can throw
4087         non-call exceptions, return true if the insn can throw internally.
4088
4089 2012-05-10  Eric Botcazou  <ebotcazou@adacore.com>
4090
4091         * gimplify.c (gimplify_decl_expr): For a TYPE_DECL, also gimplify the
4092         DECL_ORIGINAL_TYPE if it is present.
4093
4094 2012-05-09  Georg-Johann Lay  <avr@gjlay.de>
4095
4096         Backport from 2012-05-12 mainline r187342.
4097
4098         PR target/53256
4099         * config/avr/elf.h (ASM_DECLARE_FUNCTION_NAME): Remove.
4100         * config/avr/avr-protos.h (avr_asm_declare_function_name): Remove.
4101         * config/avr/avr.h (struct machine_function): Add attributes_checked_p.
4102         * config/avr/avr.c (avr_asm_declare_function_name): Remove.
4103         (expand_prologue): Move initialization of cfun->machine->is_naked,
4104         is_interrupt, is_signal, is_OS_task, is_OS_main from here to...
4105         (avr_set_current_function): ...this new static function.
4106         (TARGET_SET_CURRENT_FUNCTION): New define.
4107         (avr_function_ok_for_sibcall): Use cfun->machine->is_* instead of
4108         checking attributes of current_function_decl.
4109         (avr_regs_to_save): Ditto.
4110         (signal_function_p): Rename to avr_signal_function_p.
4111         (interrupt_function_p): Rename to avr_interrupt_function_p.
4112
4113         * doc/extend.texi (Function Attributes): Better explanation of
4114         'interrupt' and 'signal' for AVR. Move 'ifunc' down to establish
4115         alphabetical order.
4116
4117 2012-05-09  Matthias Klose  <doko@ubuntu.com>
4118
4119         * gcc-ar.c (main): Don't check for execute bits for the plugin.
4120
4121 2012-05-08  Hans-Peter Nilsson  <hp@axis.com>
4122
4123         PR target/53272
4124         * config/cris/cris.c (cris_normal_notice_update_cc): For TARGET_V32,
4125         when a constant source operand matches an "I" constraint, the "no
4126         CC0 change" applies to a register-destination only, not a
4127         strict_low_part-destination.
4128
4129 2012-05-07  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
4130
4131         Backport from mainline:
4132         2012-04-19  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
4133
4134         * config/arm/sync.md (sync_optab): Change ior attribute to "or".
4135
4136 2012-05-07  Jakub Jelinek  <jakub@redhat.com>
4137
4138         PR tree-optimization/53239
4139         * tree-vrp.c (get_value_range): Set VR of
4140         SSA_NAME_IS_DEFAULT_DEF of DECL_BY_REFERENCE RESULT_DECL
4141         to nonnull.
4142
4143 2012-05-07  Richard Guenther  <rguenther@suse.de>
4144
4145         PR tree-optimization/53195
4146         * tree-inline.c (setup_one_parameter): Properly add referenced
4147         vars from the parameters new known value.
4148
4149 2012-05-06  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4150
4151         Backport from mainline:
4152         2012-04-27  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4153
4154         PR target/52999
4155         * config/pa/pa.c (pa_legitimate_constant_p): Don't put function labels
4156         in constant pool.
4157
4158 2012-05-04  Ian Lance Taylor  <iant@google.com>
4159
4160         * tree-vect-patterns.c (vect_single_imm_use): Correct return
4161         values from false to NULL.
4162
4163 2012-05-04  Uros Bizjak  <ubizjak@gmail.com>
4164
4165         Backport from mainline
4166         2012-05-04  Uros Bizjak  <ubizjak@gmail.com>
4167
4168         PR target/53228
4169         * config/i386/i386.h (X86_ARCH_CMOV): Rename from X86_ARCH_CMOVE.
4170         (TARGET_CMOV): Rename from TARGET_CMOVE.
4171         (TARGET_CMOVE): New define.
4172         * config/i386/i386.c (ix86_option_override_internal): Use TARGET_CMOV.
4173         Do not set TARGET_CMOVE here.
4174
4175 2012-05-04  Ulrich Weigand  <ulrich.weigand@linaro.org>
4176
4177         Backport from mainline:
4178
4179         2012-05-04  Ulrich Weigand  <ulrich.weigand@linaro.org>
4180
4181         PR tree-optimization/52633
4182         * tree-vect-patterns.c (vect_vect_recog_func_ptrs): Swap order of
4183         vect_recog_widen_shift_pattern and vect_recog_over_widening_pattern.
4184         (vect_recog_over_widening_pattern): Remove handling of code that was
4185         already detected as over-widening pattern.  Remove special handling
4186         of "unsigned" cases.  Instead, support general case of conversion
4187         of the shift result to another type.
4188
4189         2012-05-04  Ulrich Weigand  <ulrich.weigand@linaro.org>
4190
4191         * tree-vect-patterns.c (vect_single_imm_use): New function.
4192         (vect_recog_widen_mult_pattern): Use it instead of open-coding loop.
4193         (vect_recog_over_widening_pattern): Likewise.
4194         (vect_recog_widen_shift_pattern): Likewise.
4195
4196         2012-04-10  Ulrich Weigand  <ulrich.weigand@linaro.org>
4197
4198         PR tree-optimization/52870
4199         * tree-vect-patterns.c (vect_recog_widen_mult_pattern): Verify that
4200         presumed pattern statement is within the same loop or basic block.
4201
4202 2012-05-04  Richard Guenther  <rguenther@suse.de>
4203
4204         * common.opt (flto-report): Do not mark as Optimization.
4205
4206 2012-05-04  Eric Botcazou  <ebotcazou@adacore.com>
4207
4208         PR target/48496
4209         * recog.c (constrain_operands): If extra constraints are present, also
4210         accept pseudo-registers with equivalent memory locations during reload.
4211
4212 2012-05-03  Michael Meissner  <meissner@linux.vnet.ibm.com>
4213
4214         Backport from the mainline
4215         2012-05-03  Michael Meissner  <meissner@linux.vnet.ibm.com>
4216
4217         PR target/53199
4218         * config/rs6000/rs6000.md (bswapdi splitters): If
4219         -mavoid-indexed-addresses (or -mcpu=power6 which sets it by
4220         default) is used, generate an alternate sequence that does not
4221         depend on using indexed addressing.
4222
4223 2012-05-03  David S. Miller  <davem@davemloft.net>
4224
4225         PR target/52684
4226         * config/sparc/sparc.c (emit_soft_tfmode_libcall): If we pass a
4227         MEM directly into a libcall, mark it's MEM_EXPR as addressable.
4228         (sparc_emit_float_lib_cmp): Likewise.
4229
4230 2012-05-04  Martin Jambor  <mjambor@suse.cz>
4231
4232         Backport from mainline
4233         2012-05-02  Martin Jambor  <mjambor@suse.cz>
4234
4235         PR lto/52605
4236         * dwarf2out.c (dwarf2out_decl): Only lookup die representing context
4237         of a variable when the contect is a function.
4238
4239 2012-05-03  Jakub Jelinek  <jakub@redhat.com>
4240
4241         PR plugins/53126
4242         * gcc-ar.c (main): If GCC_EXEC_PREFIX is set in env,
4243         append program name to it and pass that as first argument
4244         to make_relative_prefix.  Always pass standard_libexec_prefix
4245         as last argument to make_relative_prefix.  If
4246         make_relative_prefix returns NULL, fall back to
4247         standard_libexec_prefix.
4248
4249         PR debug/53174
4250         * tree-predcom.c (remove_stmt): Call reset_debug_uses on stmts being
4251         removed.
4252
4253         PR target/53187
4254         * config/arm/arm.c (arm_select_cc_mode): If x has MODE_CC class
4255         mode, return that mode.
4256
4257 2012-05-03  Richard Guenther  <rguenther@suse.de>
4258
4259         PR tree-optimization/53144
4260         * tree-ssa-sccvn.c (vn_reference_lookup_or_insert_constant_for_pieces):
4261         Rename to ...
4262         (vn_reference_lookup_or_insert_for_pieces): ... this.  Properly deal
4263         with SSA name values.
4264         (vn_reference_lookup_3): Adjust callers.
4265
4266 2012-05-02  Jakub Jelinek  <jakub@redhat.com>
4267
4268         PR tree-optimization/53163
4269         * tree-ssa-phiopt.c (cond_if_else_store_replacement): Don't ignore
4270         return value from compute_all_dependences.
4271
4272         PR rtl-optimization/53160
4273         * ree.c (combine_reaching_defs): Handle the case where cand->insn
4274         has been modified by ree pass already.
4275
4276 2012-05-01  Uros Bizjak  <ubizjak@gmail.com>
4277
4278         Backport from mainline
4279         2012-04-30  Uros Bizjak  <ubizjak@gmail.com>
4280
4281         PR middle-end/53136
4282         * ipa-prop.c (ipa_print_node_jump_functions): Wrap multiple
4283         calls to cgraph_node_name in xstrdup.
4284         (ipa_make_edge_direct_to_target): Ditto.
4285         * tree-sra.c (convert_callers_for_node): Ditto.
4286         * lto-symtab.c (lto_cgraph_replace_node): Ditto.
4287         * ipa-cp.c (perhaps_add_new_callers): Ditto.
4288         * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Ditto.
4289         (cgraph_materialize_all_clones): Ditto.
4290         * ipa-inline.c (report_inline_failed_reason): Ditto.
4291         (want_early_inline_function_p): Ditto.
4292         (edge_badness): Ditto.
4293         (update_edge_key): Ditto.
4294         (flatten_function): Ditto.
4295         (ipa_inline): Ditto.
4296         (inline_always_inline_functions): Ditto.
4297         (early_inline_small_functions): Ditto.
4298
4299 2012-04-30  Andreas Tobler  <andreast@fgznet.ch>
4300
4301         Backport from mainline
4302         2012-03-21  Andreas Tobler  <andreast@fgznet.ch>
4303
4304         * configure.ac (HAVE_LD_NO_DOT_SYMBOLS): Add powerpc64-*-freebsd*.
4305         Introduce emul_name to select the right linker emulation for
4306         powerpc64-*-freebsd*.
4307         * configure: Regenerate.
4308         * config.gcc: Add bits to support powerpc64-*-freebsd*.
4309         * config/rs6000/freebsd.h (POWERPC_FREEBSD): Define.
4310         * config/rs6000/freebsd64.h: New file.
4311         * config/rs6000/rs6000.c (rs6000_option_override_internal): Use
4312         POWERPC_FREEBSD.
4313         (rs6000_savres_strategy): Likewise.
4314         (rs6000_savres_routine_name): Likewise.
4315         (rs6000_elf_file_end): Likewise.
4316         * config/rs6000/t-freebsd64: New file.
4317         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Set the
4318         rs6000_current_abi for 64-bit FreeBSD to ABI_AIX.
4319
4320 2012-04-30  Uros Bizjak  <ubizjak@gmail.com>
4321
4322         Backport from mainline
4323         2012-04-27  Paolo Bonzini  <bonzini@gnu.org>
4324
4325         PR target/53138
4326         * config/i386/i386.md (x86_mov<mode>cc_0_m1_neg): Add clobber.
4327
4328 2012-04-30  Eric Botcazou  <ebotcazou@adacore.com>
4329
4330         * config/i386/i386.c (ix86_handle_struct_attribute): Use the proper
4331         predicate to discriminate types.
4332
4333 2012-04-27  Richard Guenther  <rguenther@suse.de>
4334
4335         PR c/51527
4336         * convert.c (convert_to_integer): Avoid infinite recursion for
4337         target-defined built-in types.
4338
4339 2012-04-26  Hans-Peter Nilsson  <hp@axis.com>
4340
4341         PR target/53120
4342         * config/cris/cris.md ("*andhi_lowpart_v32")
4343         ("*andqi_lowpart_v32"): Change first input-only operand from
4344         a (match_operand ...) to (match_dup 0).  Drop alternatives with
4345         const_int-matching constraints for redundancy.
4346         ("*andhi_lowpart_non_v32", "*andqi_lowpart_non_v32"): Ditto.  Drop
4347         three-operand alternative.
4348
4349 2012-04-26  Uros Bizjak  <ubizjak@gmail.com>
4350
4351         Backport from mainline
4352         2012-04-23  Uros Bizjak  <ubizjak@gmail.com>
4353
4354         * config/i386/i386.md (*add<mode>_2): Add r/r/0 alternative.
4355         (*addsi_2_zext): Ditto.
4356         (*add<mode>_3): Ditto.
4357         (*addsi_3_zext): Ditto.
4358         (*add<mode>_5): Ditto.
4359
4360 2012-04-25  Jakub Jelinek  <jakub@redhat.com>
4361
4362         PR c/52880
4363         * c-typeck.c (set_nonincremental_init,
4364         set_nonincremental_init_from_string): Pass true instead of false
4365         as IMPLICIT to add_pending_init.
4366
4367 2012-04-24  Georg-Johann Lay  <avr@gjlay.de>
4368
4369         Backport from 2012-04-24 mainline r186768.
4370
4371         PR target/53065
4372         * config/avr/avr.h (HARD_REGNO_CALL_PART_CLOBBERED): New hook define.
4373
4374 2012-04-24  Richard Guenther  <rguenther@suse.de>
4375
4376         PR tree-optimization/53085
4377         * tree-ssa-pre.c (eliminate): Do not eliminate volatile redundant
4378         stores.
4379
4380 2012-04-24  Jakub Jelinek  <jakub@redhat.com>
4381
4382         PR middle-end/53084
4383         * varasm.c (compute_reloc_for_constant): Handle ADDR_EXPR
4384         of MEM_REF.
4385         (output_addressed_constants): Likewise.
4386
4387         PR middle-end/52999
4388         * varasm.c (get_section): Don't ICE for section conflicts with
4389         built-in section kinds.
4390
4391 2012-04-23  David Edelsohn  <dje.gcc@gmail.com>
4392
4393         * config/rs6000/sync.md (fetchop_name): Change ior attribute to "or".
4394
4395 2012-04-23  Georg-Johann Lay  <avr@gjlay.de>
4396
4397         * doc/extend.texi (AVR Named Address Spaces): Fix typos.
4398
4399 2012-04-23  Richard Guenther  <rguenther@suse.de>
4400
4401         PR c/53060
4402         * c-typeck.c (build_binary_op): Fix typo.
4403
4404 2012-04-23  Jakub Jelinek  <jakub@redhat.com>
4405
4406         PR tree-optimizations/52891
4407         * tree-vect-patterns.c (adjust_bool_pattern): Use
4408         build_nonstandard_type even if rhs1 has unsigned INTEGER_TYPE,
4409         but with non-standard precision.
4410
4411 2012-04-22  Ian Lance Taylor  <iant@google.com>
4412
4413         * godump.c (go_output_typedef): Dump size of structs.
4414
4415 2012-04-20  Ulrich Weigand  <ulrich.weigand@linaro.org>
4416
4417         Backport from mainline:
4418
4419         * config/arm/arm.c (arm_print_operand): Fix invalid alignment
4420         hints for 'A' operand types.
4421
4422 2012-04-19  Georg-Johann Lay  <avr@gjlay.de>
4423
4424         Backport from 2012-04-19 mainline r186588.
4425
4426         PR target/53033
4427         * config/avr/avr.c (avr_out_load_psi): Fix assembler template for
4428         the case *(X+const).
4429
4430 2012-04-18  Uros Bizjak  <ubizjak@gmail.com>
4431
4432         * config/alpha/sync.md (fetchop_name): Change ior attribute to "or".
4433
4434 2012-04-17  Uros Bizjak  <ubizjak@gmail.com>
4435
4436         PR target/53020
4437         * config/i386/sync.md (atomic_<code><mode>): Rename to
4438         atomic_<logic><mode>.
4439
4440 2012-04-16  Uros Bizjak  <ubizjak@gmail.com>
4441
4442         Backport from mainline
4443         2012-04-12  Uros Bizjak  <ubizjak@gmail.com>
4444
4445         PR target/52932
4446         * config/i386/avx2intrin.h (_mm256_permutevar8x32_ps): Change second
4447         argument type to __m256i.  Update call to __builtin_ia32_permvarsf256.
4448         * config/i386/sse.md (avx2_permvarv8sf): Change operand 1 to V8SI.
4449         (avx2_permvarv8sf, avx2_permvarv8si): Switch operands 1 and 2.
4450         * config/i386/i386.c (bdesc_args) <__builtin_ia32_permvarsf256>:
4451         Update builtin type to V8SF_FTYPE_V8SF_V8SI.
4452         (ix86_expand_vec_perm): Update calls to gen_avx2_permvarv8si and
4453         gen_avx2_permvarv8sf.
4454
4455 2012-04-16  Martin Jambor  <mjambor@suse.cz>
4456
4457         Backported from mainline
4458
4459         2012-04-13  Martin Jambor  <mjambor@suse.cz>
4460         PR middle-end/52939
4461
4462         * gimple-fold.c (gimple_get_virt_method_for_binfo): Bail out if
4463         fold_ctor_reference returns a zero constant.
4464
4465 2012-04-13  H.J. Lu  <hongjiu.lu@intel.com>
4466
4467         Backported from mainline
4468         2012-04-13  H.J. Lu  <hongjiu.lu@intel.com>
4469
4470         * config/i386/i386-c.c (ix86_target_macros): Define _ILP32
4471         and __ILP32__ for x32.
4472
4473 2012-04-13  Tom de Vries  <tom@codesourcery.com>
4474
4475         Backport from mainline r186418.
4476
4477         2012-04-13  Tom de Vries  <tom@codesourcery.com>
4478
4479         * tree-ssa-tail-merge.c (gsi_advance_bw_nondebug_nonlocal): Add
4480         parameters vuse and vuse_escaped.
4481         (find_duplicate): Init vuse1, vuse2 and vuse_escaped.  Pass to
4482         gsi_advance_bw_nondebug_nonlocal.  Return if vuse_escaped and
4483         vuse1 != vuse2.
4484
4485 2012-04-13  Richard Guenther  <rguenther@suse.de>
4486
4487         PR tree-optimization/52969
4488         * tree-if-conv.c (predicate_mem_writes): Properly gimplify
4489         the condition for the COND_EXPR and handle predicate negation
4490         by swapping the COND_EXPR arms.
4491
4492 2012-04-13  Richard Guenther  <rguenther@suse.de>
4493
4494         PR c/52862
4495         * convert.c (convert_to_pointer): Remove special-casing of
4496         zero.
4497
4498 2012-04-12  Michael Meissner  <meissner@linux.vnet.ibm.com>
4499
4500         Backport from mainline
4501         2012-04-12  Michael Meissner  <meissner@linux.vnet.ibm.com>
4502
4503         PR target/52775
4504         * config/rs6000/rs6000.h (TARGET_FCFID): Add TARGET_PPC_GPOPT to
4505         the list of options to enable the FCFID instruction.
4506         (TARGET_EXTRA_BUILTINS): Adjust comment.
4507
4508 2012-04-12  Richard Guenther  <rguenther@suse.de>
4509
4510         PR tree-optimization/52943
4511         * tree-chrec.h (chrec_is_positive): Remove.
4512         * tree-scalar-evolution.c (chrec_is_positive): Move ...
4513         * tree-data-ref.c (chrec_is_positive): ... here.  Make static.
4514         Return false for a constant zero instead of negative.
4515         (analyze_siv_subscript_cst_affine): Handle zero difference
4516         in the initial condition explicitely.
4517
4518 2012-04-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4519
4520         PR middle-end/52894
4521         * varasm.c (process_pending_assemble_externals): Set
4522         pending_assemble_externals_processed true.
4523         (assemble_external): Call assemble_external_real if the pending
4524         assemble externals have been processed.
4525
4526 2012-04-09  Eric Botcazou  <ebotcazou@adacore.com>
4527
4528         PR target/52717
4529         * config/sparc/sparc.c (sparc_file_end): Set TREE_PUBLIC explicitly on
4530         the DECL generated for the special GOT helper.
4531
4532 2012-04-06  Walter Lee  <walt@tilera.com>
4533
4534         Backport from mainline
4535         2012-03-07  Walter Lee  <walt@tilera.com>
4536
4537         * config/tilegx/tilegx.c (tilegx_expand_prologue): Don't generate
4538         REG_CFA_* notes for the stack pointer.
4539         (tilegx_expand_epilogue): Restore stack pointer by adjusting it by
4540         EH_RETURN_STACKADJ_RTX.
4541         * config/tilepro/tilepro.c (tilepro_expand_prologue): Don't
4542         generate REG_CFA_* notes for the stack pointer.
4543         (tilepro_expand_epilogue): Restore stack pointer by adjusting it
4544         by EH_RETURN_STACKADJ_RTX.
4545
4546 2012-04-06  Matt Turner  <mattst88@gmail.com>
4547
4548         * doc/install.texi: Correct typo "-mno-lsc" -> "-mno-llsc".
4549
4550 2012-04-06  Eric Botcazou  <ebotcazou@adacore.com>
4551
4552         * config/ia64/ia64.c (ia64_load_pair_ok): Return 0 if the second member
4553         of the destination isn't also a FP_REGS register.
4554
4555 2012-04-03  Richard Guenther  <rguenther@suse.de>
4556
4557         Backport from mainline
4558         2012-03-02  Richard Guenther  <rguenther@suse.de>
4559
4560         PR tree-optimization/52406
4561         * tree-data-ref.h: Update documentation about DR_BASE_OBJECT.
4562         (struct indices): Add unconstrained_base member.
4563         (struct dr_alias): Remove unused vops member.
4564         (DR_UNCONSTRAINED_BASE): New define.
4565         * tree-data-ref.c (dr_analyze_indices): For COMPONENT_REFs
4566         add indices to allow their disambiguation.  Make DR_BASE_OBJECT
4567         be an artificial access that covers the whole indexed object,
4568         or mark it with DR_UNCONSTRAINED_BASE if we cannot do so.  Canonicalize
4569         plain decl base-objects to their MEM_REF variant.
4570         (dr_may_alias_p): When the base-object of either data reference
4571         has unknown size use only points-to information.
4572         (compute_affine_dependence): Make dumps easier to read and
4573         more verbose.
4574         * tree-vect-data-ref.c (vector_alignment_reachable_p): Use
4575         DR_REF when looking for packed references.
4576         (vect_supportable_dr_alignment): Likewise.
4577
4578 2012-04-03  Richard Guenther  <rguenther@suse.de>
4579
4580         Backport from mainline
4581         2012-03-15  Richard Guenther  <rguenther@suse.de>
4582
4583         PR middle-end/52580
4584         * tree-data-ref.c (subscript_dependence_tester_1): Check
4585         all dimensions for non-conflicting access functions.
4586
4587 2012-04-03  Richard Guenther  <rguenther@suse.de>
4588
4589         Backport from mainline
4590         2012-03-06  Richard Guenther  <rguenther@suse.de>
4591
4592         PR middle-end/52493
4593         * tree-ssa-alias.c (ptr_derefs_may_alias_p): Robustify.
4594
4595         2012-03-23  Richard Guenther  <rguenther@suse.de>
4596
4597         PR tree-optimization/52678
4598         * tree-vectorizer.h (struct _stmt_vec_info): Add
4599         loop_phi_evolution_part member.
4600         (STMT_VINFO_LOOP_PHI_EVOLUTION_PART): New define.
4601         * tree-vect-loop.c (vect_analyze_scalar_cycles_1): Initialize
4602         STMT_VINFO_LOOP_PHI_EVOLUTION_PART.
4603         * tree-vect-loop-manip.c (vect_update_ivs_after_vectorizer):
4604         Use the cached evolution part and the PHI nodes value from
4605         the loop preheader edge instead of re-analyzing the evolution.
4606
4607         2012-03-26  Richard Guenther  <rguenther@suse.de>
4608
4609         PR tree-optimization/52701
4610         * tree-vect-loop.c (vect_analyze_scalar_cycles_1): Always
4611         compute and set the evolution part of PHI nodes.
4612
4613         2012-03-30  Richard Guenther  <rguenther@suse.de>
4614
4615         PR tree-optimization/52754
4616         * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Only
4617         propagate arbitrary addresses into really plain dereferences.
4618
4619 2012-04-03  Jakub Jelinek  <jakub@redhat.com>
4620
4621         PR tree-optimization/52835
4622         * tree-data-ref.c (build_rdg): Return NULL if
4623         compute_data_dependences_for_loop failed.
4624
4625 2012-03-31  Eric Botcazou  <ebotcazou@adacore.com>
4626
4627         * tree-cfg.c (call_can_make_abnormal_goto): New predicate.
4628         (stmt_can_make_abnormal_goto): Use it.
4629         (is_ctrl_altering_stmt): Likewise.
4630
4631 2012-03-31  Martin Jambor  <mjambor@suse.cz>
4632
4633         Backported from mainline
4634         2012-03-30  Martin Jambor  <mjambor@suse.cz>
4635
4636         * tree-ssa-ccp.c (insert_clobbers_for_var): Do not assert that there
4637         is a builtin_stack_save in a dominating BB.
4638
4639 2012-03-29  Uros Bizjak  <ubizjak@gmail.com>
4640
4641         * config/i386/sse.md (avx_h<plusminus_insn>v4df3): Fix results
4642         crossing 128bit lane boundary.
4643
4644 2012-03-29  Uros Bizjak  <ubizjak@gmail.com>
4645
4646         Backported from mainline
4647         2012-03-27  Uros Bizjak  <ubizjak@gmail.com>
4648
4649         PR target/52698
4650         * config/i386/i386-protos.h (ix86_legitimize_reload_address):
4651         New prototype.
4652         * config/i386/i386.h (LEGITIMIZE_RELOAD_ADDRESS): New define.
4653         * config/i386/i386.c: Include reload.h.
4654         (ix86_legitimize_reload_address): New function.
4655
4656 2012-03-28  Martin Jambor  <mjambor@suse.cz>
4657
4658         Backported from mainline
4659         2012-03-27  Martin Jambor  <mjambor@suse.cz>
4660
4661         PR middle-end/52693
4662         * tree-sra.c (sra_modify_assign): Do not call
4663         load_assign_lhs_subreplacements when working with an unscalarizable
4664         region.
4665
4666 2012-03-28  Jakub Jelinek  <jakub@redhat.com>
4667
4668         PR middle-end/52691
4669         * tree-ssa-ccp.c (optimize_stdarg_builtin): Optimize
4670         __builtin_va_start to __builtin_next_arg if the latter is
4671         builtin_decl_explicit_p rather than when it is not.
4672
4673         PR middle-end/52750
4674         * tree-vect-generic.c (vector_element): Perform multiplication
4675         for pos in bitsizetype type instead of idx type.
4676
4677 2012-03-28  Georg-Johann Lay  <avr@gjlay.de>
4678
4679         Backport from 2012-03-28 mainline r185910.
4680
4681         PR target/52692
4682         * config/avr/avr.c (TARGET_BUILTIN_DECL): New define.
4683         (avr_builtin_decl): New static function.
4684         (struct avr_builtin_description, avr_bdesc): Move up.
4685         Add GTY marker. Add field fndecl. Remove redundant field id.
4686         (avr_init_builtins): Initialize avr_bdesc[ID].fndecl.
4687         (avr_expand_builtin): Code cleanup because .id is removed.
4688
4689 2012-03-28  Aurelien Buhrig  <aurelien.buhrig.gcc@gmail.com>
4690
4691         PR middle-end/51893
4692         * expmed.c (store_bit_field_1): Fix wordnum value for big-endian
4693         targets.
4694
4695 2012-03-28  Georg-Johann Lay  <avr@gjlay.de>
4696
4697         Backport from 2012-03-28 mainline r185907.
4698
4699         PR target/52737
4700         * config.gcc (tm_file): Remove avr/multilib.h.
4701
4702         * doc/invoke.texi (AVR Options): Adjust
4703         documentation of -mtiny-stack.
4704
4705         * config/avr/genmultilib.awk: Remove code to generate multilib.h.
4706         (BEGIN): Use -msp8 as multilib option instead of -mtiny-stack.
4707         * config/avr/t-avr: Remove generation of multilib.h.
4708         * config/avr/t-multilib: Regenerate.
4709         * config/avr/multilib.h: Remove.
4710         * config/avr/avr.opt (-msp8): New option.
4711         (avr_sp8): New variable.
4712         * config/avr/driver-avr.c (avr_device_to_sp8): New function.
4713         * config/avr/avr.h (AVR_HAVE_SPH): New define.
4714         (AVR_HAVE_8BIT_SP): Also set by avr_sp8 i.e. -msp8.
4715         (avr_device_to_sp8): New prototype.
4716         (EXTRA_SPEC_FUNCTIONS): Add { "device_to_sp8", avr_device_to_sp8 }
4717         (DRIVER_SELF_SPECS): New define.
4718         * config/avr/avr-c.c (avr_cpu_cpp_builtins): New built-in defines:
4719         __AVR_SP8__, __AVR_HAVE_SPH__.
4720         * config/avr/avr.c (output_movhi): Use AVR_HAVE_SPH instead of
4721         AVR_HAVE_8BIT_SP to decide if SP_H is present.
4722         (avr_file_start): Ditto.
4723
4724 2012-03-28  Jakub Jelinek  <jakub@redhat.com>
4725
4726         PR target/52736
4727         * config/i386/sse.md (sse2_loadlpd splitter): Use offset 0
4728         instead of 8 in adjust_address.
4729
4730 2012-03-27  Eric Botcazou  <ebotcazou@adacore.com>
4731
4732         * expmed.c (store_bit_field): Assert that BITREGION_START is a multiple
4733         of a unit before computing the offset in units.
4734
4735 2012-03-27  Richard Guenther  <rguenther@suse.de>
4736
4737         PR middle-end/52720
4738         * fold-const.c (try_move_mult_to_index): Handle &x.array more
4739         explicitely.
4740
4741 2012-03-24  Eric Botcazou  <ebotcazou@adacore.com>
4742
4743         PR target/52610
4744         * config/sparc/sparc.h (ASM_CPU_SPEC): Pass -Av8 if -mcpu=leon.
4745
4746 2012-03-24  Steven Bosscher  <steven@gcc.gnu.org>
4747
4748         PR middle-end/52640
4749         * varasm.c: Include pointer-set.h.
4750         (pending_assemble_externals_set): New pointer set.
4751         (process_pending_assemble_externals): Destroy the pointer set.
4752         (assemble_external): See if decl is in pending_assemble_externals_set,
4753         and add it to pending_assemble_externals if necessary.
4754         (init_varasm_once): Allocate pending_assemble_externals_set.
4755
4756 2012-03-23  Michael Meissner  <meissner@linux.vnet.ibm.com>
4757
4758         Backported from mainline
4759         2012-03-06  Michael Meissner  <meissner@linux.vnet.ibm.com>
4760
4761         PR target/50310
4762         * config/rs6000/vector.md (vector_uneq<mode>): Add support for
4763         UNEQ, LTGT, ORDERED, and UNORDERED IEEE vector comparisons.
4764         (vector_ltgt<mode>): Likewise.
4765         (vector_ordered<mode>): Likewise.
4766         (vector_unordered<mode>): Likewise.
4767         * config/rs6000/rs6000.c (rs6000_emit_vector_compare_inner): Likewise.
4768
4769 2012-03-23  Joern Rennecke  <joern.rennecke@embecosm.com>
4770
4771         * config/epiphany/epiphany.c (epiphany_function_value_regno_p):
4772         Make static.
4773
4774 2012-03-22  Kaz Kojima  <kkojima@gcc.gnu.org>
4775
4776         Backported from mainline
4777         2012-03-02  Kaz Kojima  <kkojima@gcc.gnu.org>
4778
4779         PR target/48596
4780         PR target/48806
4781         * config/sh/sh.c (sh_register_move_cost): Increase cost between
4782         GENERAL_REGS and FP_REGS for SImode.
4783
4784 2012-03-22  Jakub Jelinek  <jakub@redhat.com>
4785
4786         PR middle-end/52547
4787         * tree-nested.c (convert_tramp_reference_stmt): Call declare_vars
4788         on any new_local_var_chain vars declared during recursing on
4789         GIMPLE_OMP_PARALLEL or GIMPLE_OMP_TASK body.
4790
4791 2012-03-22  Georg-Johann Lay  <avr@gjlay.de>
4792
4793         Backport from 2012-03-22 mainline r185692.
4794
4795         PR target/52496
4796         * config/avr/avr.md (unspec): Remove UNSPEC_MEMORY_BARRIER.
4797         (unspecv): Add UNSPECV_MEMORY_BARRIER.
4798         (cli_sei): Use unspec_volatile instead of unspec for memory barrier.
4799         (delay_cycles_1, delay_cycles_2): Ditto.
4800         (delay_cycles_3, delay_cycles_4): Ditto.
4801         (nopv, *nopv): Ditto.
4802         (sleep, *sleep): Ditto.
4803         (wdr, *wdr): Ditto.
4804
4805         Backport from 2012-03-21 mainline r185605.
4806
4807         PR rtl-optimization/52543
4808         PR target/52461
4809         * config/avr/avr-protos.h (avr_load_lpm): New prototype.
4810         * config/avr/avr.c (avr_mode_dependent_address_p): New function.
4811         (TARGET_MODE_DEPENDENT_ADDRESS_P): New define.
4812         (avr_load_libgcc_p): Restrict to __flash loads.
4813         (avr_out_lpm): Only handle 1-byte loads from __flash.
4814         (avr_load_lpm): New function.
4815         (avr_find_unused_d_reg): Remove.
4816         (avr_out_lpm_no_lpmx): Remove.
4817         (adjust_insn_length): Handle ADJUST_LEN_LOAD_LPM.
4818         * config/avr/avr.md (unspec): Add UNSPEC_LPM.
4819         (load_<mode>_libgcc): Use UNSPEC_LPM instead of MEM.
4820         (load_<mode>, load_<mode>_clobber): New insns.
4821         (mov<mode>): For multi-byte move from non-generic
4822         16-bit address spaces: Expand to load_<mode> resp.
4823         load_<mode>_clobber.
4824         (load<mode>_libgcc): Remove expander.
4825         (split-lpmx): Remove split.
4826
4827         Backport from 2012-03-13 mainline r185329.
4828
4829         PR target/52488
4830         * config/avr/avr.c (avr_prologue_setup_frame): Cut down stack
4831         offset (size) to a value the insns can deal with.
4832         (expand_epilogue): Ditto.
4833
4834         Backport from 2012-03-12 mainline r185256.
4835
4836         PR target/52499
4837         * config/avr/avr.c (avr_mode_code_base_reg_class): Change return
4838         type from reg_class_t to enum reg_class.
4839         * config/avr/avr-protos.h (avr_mode_code_base_reg_class): Ditto.
4840
4841         Backport from 2012-03-12 mainline r185253.
4842
4843         PR target/52148
4844         * config/avr/avr.c (avr_out_movmem): Fix typo in output template
4845         for the case ADDR_SPACE_FLASH and AVR_HAVE_LPMX introduced in
4846         r184615 from 2012-02-28.
4847
4848         Backport from 2012-03-08 mainline r185105.
4849
4850         * config/avr/avr.md (*addhi3, addhi3_clobber): Add "w" alternative
4851         for constants in [-63,63].
4852
4853         Backport from 2012-03-08 mainline r185100.
4854
4855         PR target/52496
4856         * config/avr/avr.c (avr_mem_clobber): New static function.
4857         (avr_expand_delay_cycles): Add memory clobber operand to
4858         delay_cycles_1, delay_cycles_2, delay_cycles_3, delay_cycles_4.
4859         * config/avr/avr.md (unspec): Add UNSPEC_MEMORY_BARRIER.
4860         (enable_interrupt, disable_interrupt): New expander.
4861         (nopv, sleep, wdr): New expanders.
4862         (delay_cycles_1): Add memory clobber.
4863         (delay_cycles_2): Add memory clobber.
4864         (delay_cycles_3): Add memory clobber.
4865         (delay_cycles_4): Add memory clobber.
4866         (cli_sei): New insn from former "enable_interrupt",
4867         "disable_interrupt" with memory clobber.
4868         (*wdt): New insn from former "wdt" with memory clobber.
4869         (*nopv): Similar, but for "nopv".
4870         (*sleep): Similar, but for "sleep".
4871
4872         Backport from 2012-03-07 mainline r185043.
4873
4874         PR target/52484
4875         * config/avr/avr.md (xload<mode>_A): Add R22... to register footprint.
4876
4877         Backport from 2012-03-07 mainline r185032.
4878
4879         PR target/52506
4880         * gcc/config/avr/avr.c (expand_epilogue): Fix order of restoration
4881         to: RAMPZ, RAMPY, RAMPX, RAMPD.
4882         (expand_prologue): Only clear RAMPZ if it has effect on RAM-read.
4883
4884         Backport from 2012-03-07 mainline r185031.
4885
4886         PR target/52505
4887         * config/avr/avr.c (avr_out_xload): Don't read unintentionally
4888         from RAM.
4889         * config/avr/avr.md (xload_8): Adjust insn length.
4890
4891         Backport from 2012-03-07 mainline r185030.
4892
4893         PR target/52461
4894         * gcc/config/avr/avr.c (avr_out_lpm): Clear RAMPZ after usage
4895         if RAMPZ affects reading from RAM.
4896
4897         Backport from 2012-03-05 mainline r184919.
4898
4899         * config/avr/avr.md (*umaddqihi4.2): New insn-and-split.
4900
4901 2012-03-22  Georg-Johann Lay  <avr@gjlay.de>
4902
4903         Backport from mainline r185259.
4904
4905         PR other/52545
4906         * output.h (SECTION_EXCLUDE, SECTION_MACH_DEP): Don't use
4907         SECTION_MACH_DEP reserved bits for SECTION_EXCLUDE.
4908
4909 2012-03-22  Jakub Jelinek  <jakub@redhat.com>
4910
4911         Backported from mainline
4912         2012-03-13  Jakub Jelinek  <jakub@redhat.com>
4913
4914         PR c/52577
4915         * c-parser.c (c_parser_postfix_expression)
4916         <case RID_BUILTIN_SHUFFLE>: Call mark_exp_read on argument values.
4917
4918         * config/i386/smmintrin.h: Avoid /* within a comment.
4919         * config/i386/nmmintrin.h: Likewise.
4920
4921 2012-03-22  Richard Guenther  <rguenther@suse.de>
4922
4923         * BASE-VER: Set to 4.7.1.
4924         * DEV-PHASE: Set to prerelease.
4925
4926 2012-03-22  Release Manager
4927
4928         * GCC 4.7.0 released.
4929
4930 2012-03-16  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4931
4932         * doc/install.texi (Specific, *-*-solaris2*): Improve wording.
4933
4934 2012-03-15  Jakub Jelinek  <jakub@redhat.com>
4935             Andrew Pinski  <apinski@cavium.com>
4936
4937         PR middle-end/52592
4938         * builtins.c (expand_builtin_int_roundingfn_2): If expanding
4939         BUILT_IN_IR{INT,OUND}* using optab fails, emit lr{int,ound}*
4940         calls instead of __builtin_ir{int,ound}*.
4941
4942 2012-03-14  Jakub Jelinek  <jakub@redhat.com>
4943
4944         PR c++/52582
4945         * config/rs6000/rs6000.c (call_ABI_of_interest): Return true
4946         if c_node is NULL.
4947
4948 2012-03-13  Joseph Myers  <joseph@codesourcery.com>
4949
4950         * doc/invoke.texi (-std=c99), doc/standards.texi (C language):
4951         Refer to GCC 4.7 version of c99status.html.
4952
4953 2012-03-12  Michael Meissner  <meissner@linux.vnet.ibm.com>
4954
4955         Backport from mainline
4956         2012-03-09  Michael Meissner  <meissner@linux.vnet.ibm.com>
4957
4958         * config/rs6000/linux64.h (OPTION_TARGET_CPU_DEFAULT): Do not
4959         redefine to be NULL if the current bit-size is different from the
4960         configured bit-size.
4961
4962         * config/rs6000/rs6000.c (rs6000_option_override_internal): If the
4963         cpu is defaulted, use PROCESSOR_DEFAULT and PROCESSOR_DEFAULT64 to
4964         set the default tuning.  Add asserts to make sure the cpu and tune
4965         indexes are defined.  Fix tests for cpu/tune index to use >= 0 to
4966         test whether the index is set, instead of > 0.
4967         (rs6000_file_start): Do not reset the default cpu if the current
4968         bit-size is different from the configured bit-size.
4969
4970 2012-03-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4971
4972         * doc/install.texi (Specific, i?86-*-solaris2.[89]): Update
4973         binutils reference.
4974         (Specific, i?86-*-solaris2.10): Remove GCC 4.0 reference.
4975         Update binutils references.
4976         (Specific, *-*-solaris2*): Mention bundled GCC in Solaris 10 and 11.
4977         Update binutils reference.
4978         Update Sun as/GNU ld caveat.
4979         Document binutils largefile requirement for LTO plugin.
4980         Remove reference to alternate libpthread.
4981
4982 2012-03-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4983
4984         * doc/install.texi (Specific, alpha*-dec-osf5.1): Update binutils
4985         reference.
4986         (Specific, mips-sgi-irix6): Likewise.
4987
4988 2012-03-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4989
4990         * configure.ac (gcc_cv_as_ix86_tlsldmplt): Add label.
4991         * configure: Regenerate.
4992
4993 2012-03-07  Richard Henderson  <rth@redhat.com>
4994
4995         * config/m68k/m68k.h (ISA_HAS_TAS): New.
4996         * config/m68k/sync.md (atomic_test_and_set): Use it.
4997         (atomic_test_and_set_1): Likewise.
4998
4999 2012-03-07  Ralf Corsépius  <ralf.corsepius@rtems.org>
5000
5001         PR target/51417
5002         * Makefile.in: Let install-gcc-ar depend on installdirs,
5003         gcc-ar$(exeext), gcc-nm$(exeext), gcc-ranlib$(exeext).
5004         Don't double canonicalize if cross-compiling.
5005
5006 2012-03-06  Aldy Hernandez  <aldyh@redhat.com>
5007
5008         * trans-mem.c: New typedef for tm_region_p.
5009         Define vector types for tm_region_p.
5010         (tm_region_init): Replace region_worklist to a vector called
5011         bb_regions.
5012
5013 2012-03-06  Aldy Hernandez  <aldyh@redhat.com>
5014
5015         PR middle-end/52463
5016         * trans-mem.c (tm_region_init): Use last_basic_block.
5017
5018 2012-03-05  Richard Henderson  <rth@redhat.com>
5019
5020         PR tree-opt/52242
5021         Revert: 2011-11-26  Richard Henderson  <rth@redhat.com>
5022         * omp-low.c (expand_omp_atomic): Assume anything aligned to
5023         BIGGEST_ALIGNMENT is aligned.
5024
5025 2012-03-05  Oleg Endo  <olegendo@gcc.gnu.org>
5026
5027         * config/sh/sh.c (TARGET_ATOMIC_TEST_AND_SET_TRUEVAL): New hook.
5028
5029 2012-03-05  Richard Henderson  <rth@redhat.com>
5030
5031         PR target/52481
5032         * config/m68k/sync.md (atomic_test_and_set): Use expand_simple_unop
5033         instead of calling negqi2 directly.
5034
5035 2012-03-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5036
5037         * config/mips/iris6.h [!USED_FOR_TARGET] (long_intmax): Declare.
5038         (INTMAX_TYPE): Use it.
5039         (UINTMAX_TYPE): Likewise.
5040         (SUBTARGET_OVERRIDE_OPTIONS): Define.
5041         (irix6_c_common_override_options): Declare.
5042         (C_COMMON_OVERRIDE_OPTIONS): Define.
5043         * config/mips/mips.c [TARGET_IRIX6] (long_intmax): Define.
5044         * config/mips/irix6-c.c: New file.
5045         * config/mips/t-irix6 (irix6-c.o): New target.
5046         * config.gcc (mips-sgi-irix6.5): Set c_target_objs,
5047         cxx_target_objs.
5048
5049 2012-03-02  Richard Henderson  <rth@redhat.com>
5050
5051         * optabs.c (expand_atomic_test_and_set): Honor
5052         atomic_test_and_set_trueval even when atomic_test_and_set
5053         optab is not in use.
5054
5055 2012-03-02  Peter Bergner  <bergner@vnet.ibm.com>
5056
5057         Backport from mainline
5058         2012-03-02  Peter Bergner  <bergner@vnet.ibm.com>
5059
5060         * config/rs6000/vsx.md (vsx_set_<mode>): Reorder operands.
5061
5062 2012-03-02  Richard Guenther  <rguenther@suse.de>
5063
5064         * DEV-PHASE: Set to prerelease.
5065
5066 2012-03-01  Richard Earnshaw  <rearnsha@arm.com>
5067
5068         * config.gcc (obsolete): Add all ARM targets using the FPA.
5069         (with_fpu): Obsolete selection of the FPA or Maverick on ARM.
5070         * doc/install.texi: Avoid references to obsolete ARM ports.
5071
5072 2012-03-01  Joern Rennecke  <joern.rennecke@embecosm.com>
5073
5074         * config/epiphany/epiphany.md (movmisalign<mode>): New patterns.
5075
5076 2012-03-01  Jeremy Bennett  <jeremy.bennett@embecosm.com>
5077             Joern Rennecke  <joern.rennecke@embecosm.com>
5078
5079         * doc/extend.texi: Expand and update information on interrupt
5080         attribute for Epiphany.
5081
5082 2012-03-01  Oleg Endo  <olegendo@gcc.gnu.org>
5083
5084         * config/sh/sh-protos.h: Update copyright notice dates.
5085         * config/sh/sh.h: Likewise.
5086         * config/sh/sh.md: Likewise.
5087         * config/sh/constraints.md: Likewise.
5088         * config/sh/predicates.md: Likewise.
5089
5090 2012-03-01  Oleg Endo  <olegendo@gcc.gnu.org>
5091
5092         * config/sh/sh-protos.h (tertiary_reload_operand): Remove dead function.
5093         * config/sh/sh.c (tertiary_reload_operand): Likewise.
5094
5095 2012-03-01  Oleg Endo  <olegendo@gcc.gnu.org>
5096
5097         * config/sh/constraints.md: Fix comment typo.
5098
5099 2012-03-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
5100
5101         PR target/52408
5102         * config/pa/pa.md (zvdep_imm32): Change type of variable x from int to
5103         unsigned HOST_WIDE_INT.
5104         (zvdep_imm64): Likewise.
5105         (vdepi_ior): Change type of variable x from int to HOST_WIDE_INT.
5106         (vdepi_and): Likewise.
5107         Likewise for unamed 64-bit patterns.
5108         * config/pa/predicates.md (lhs_lshift_cint_operand): Update comment.
5109
5110 2012-03-01  Alexandre Oliva  <aoliva@redhat.com>
5111
5112         PR debug/52001
5113         PR rtl-optimization/52417
5114         * cselib.c (cselib_any_perm_equivs): New variable.
5115         (cselib_reset_table): Check that it's not set when not
5116         preserving constants.
5117         (cselib_add_permanent_equiv): Set it.
5118         (cselib_have_permanent_equivalences): New.
5119         (cselib_init, cselib_finish): Reset it.
5120         * cselib.h (cselib_have_permanent_equivalences): Declare.
5121         * alias.c (get_addr): Restore earlier behavior when there
5122         aren't permanent equivalences.
5123
5124 2012-03-01  Steven Bosscher  <steven@gcc.gnu.org>
5125
5126         * config/mn10300/mn10300-modes.def: Fix copyright notice.
5127         * config/v850/v850-modes.def: Fix copyright notice.
5128
5129 2012-03-01  Georg-Johann Lay  <avr@gjlay.de>
5130
5131         * doc/extend.texi (AVR Built-in Functions): Document
5132         __builtin_avr_flash_segment.
5133
5134         * config/avr/builtins.def (__builtin_avr_flash_segment): New entry.
5135         * config/avr/avr.md (flash_segment, flash_segment1): New expanders.
5136         (*split.flash_segment): New insn-and-split.
5137         * config/avr/avr.c (avr_init_builtins): Add local variables:
5138         const_memx_void_node, const_memx_ptr_type_node,
5139         char_ftype_const_memx_ptr.
5140
5141 2012-03-01  Jakub Jelinek  <jakub@redhat.com>
5142
5143         PR tree-optimization/52445
5144         * tree-ssa-phiopt.c (struct name_to_bb): Remove ssa_name field,
5145         add ssa_name_ver, offset and size fields and change store field
5146         to bool.
5147         (name_to_bb_hash, name_to_bb_eq): Adjust for the above changes.
5148         (add_or_mark_expr): Likewise.  Only consider previous stores
5149         with the same size and offset.
5150         (nt_init_block): Only look at gimple_assign_single_p stmts,
5151         doesn't look at rhs2.
5152
5153 2012-03-01  Richard Guenther  <rguenther@suse.de>
5154
5155         PR middle-end/52443
5156         * tree-cfg.c (verify_gimple_assign_unary): Allow any
5157         conversions from integral types to pointer types.
5158
5159 2012-03-01  Georg-Johann Lay  <avr@gjlay.de>
5160
5161         * config/avr/avr-c.c (avr_cpu_cpp_builtins): Restore built-in
5162         defines for __UINT24_MAX__, __INT24_MAX__, __INT24_MIN__
5163         unintentionally removed in r184616.
5164
5165 2012-03-01  Venkataramanan Kumar  <venkataramanan.kumar@amd.com>
5166
5167         * doc/invoke.texi: Document AMD bdver2 and remove mentioning
5168         3DNow from bdver1.
5169
5170 2012-02-29  Jakub Jelinek  <jakub@redhat.com>
5171             Uros Bizjak  <ubizjak@gmail.com>
5172
5173         PR target/52437
5174         * config/i386/sse.md (vec_set<mode>_0): Swap "*r" and "fF"
5175         alternatives, add "e" constraint to the new last alternative
5176         and ! to last 3 alternatives.
5177
5178 2012-02-29  Eric Botcazou  <ebotcazou@adacore.com>
5179
5180         * dwarf2out.c (modified_type_die): Set DW_AT_GNAT_descriptive_type and
5181         DW_AT_artificial attributes at the end of the processing.
5182         (gen_array_type_die): Likewise.
5183         (gen_enumeration_type_die): Likewise.
5184         (gen_struct_or_union_type_die): Likewise.
5185         (add_gnat_descriptive_type_attribute): Do not suppress debug info for
5186         the parent type.
5187
5188 2012-02-29  Jakub Jelinek  <jakub@redhat.com>
5189
5190         PR middle-end/52419
5191         * expr.c (expand_assignment): If doing misaligned store that doesn't
5192         cover all mode bits, perform a RMW cycle.
5193
5194         PR tree-optimization/52429
5195         * tree-parloops.c (separate_decls_in_region_debug): Return early
5196         if var is LABEL_DECL.
5197
5198 2012-02-29  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
5199
5200         PR tree-optimization/52424
5201         * tree-ssa-dom.c (dom_opt_leave_block): Push a marker before
5202         calling dom_thread_across_edge.
5203
5204 2012-02-29  Georg-Johann Lay  <avr@gjlay.de>
5205
5206         * config/avr/avr.c: Move definition of TARGET macros to end of file.
5207
5208 2012-02-29  Georg-Johann Lay  <avr@gjlay.de>
5209
5210         * config/avr/avr-protos.h (avr_output_bld): Remove unused prototype.
5211         * config/avr/avr.c (avr_output_bld): Remove unused function.
5212         (avr_out_sbxx_branch): Use "%T" to print bit position.
5213
5214 2012-02-29  Georg-Johann Lay  <avr@gjlay.de>
5215
5216         * config/avr/avr.md: Untabify.
5217
5218 2012-02-29  Georg-Johann Lay  <avr@gjlay.de>
5219
5220         * config/avr/avr.md (eqne): New code iterator.
5221         (*dec-and-branchsi): Use it in text peephole's condition.
5222         (*dec-and-branchhi): Ditto.
5223         (*dec-and-branchqi): Ditto.
5224
5225 2012-02-29  Georg-Johann Lay  <avr@gjlay.de>
5226
5227         PR target/49939
5228         * config/avr/avr.h (ASM_SPEC): Add -mno-skip-bug if we know that
5229         the device does not have the skip-bug.
5230
5231 2012-02-29  Oleg Endo  <olegendo@gcc.gnu.org>
5232
5233         * doc/invoke.texi (-msoft-atomic): Add more detailed description.
5234         (-mbranch-cost, -mcbranchdi -mcmpeqdi -mfused-madd
5235         -mpretend-cmove): New.
5236
5237 2012-02-29  Jakub Jelinek  <jakub@redhat.com>
5238
5239         PR bootstrap/52397
5240         * df.h (struct df_d): Adjust comment that hard_regs_live_count
5241         doesn't count DEBUG_INSN refs.
5242         * df-scan.c (df_ref_create_structure): Don't set DF_HARD_REG_LIVE
5243         for DEBUG_INSN refs.
5244
5245 2012-02-28  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
5246
5247         Partially revert:
5248
5249         2012-02-20  Richard Guenther  <rguenther@suse.de>
5250         PR tree-optimization/52298
5251         * tree-vect-stmts.c (vectorizable_load): Properly use
5252         STMT_VINFO_DR_STEP instead of DR_STEP when vectorizing
5253         outer loops.
5254
5255 2012-02-28  Aldy Hernandez  <aldyh@redhat.com>
5256
5257         PR middle-end/51752
5258         * gimple.h (gimple_in_transaction): New.
5259         (gimple_set_in_transaction): New.
5260         (struct gimple_statement_base): Add in_transaction field.
5261         * tree-ssa-loop-im.c: (movement_possibility): Restrict movement of
5262         transaction loads.
5263         (tree_ssa_lim_initialize): Compute transaction bits.
5264         * tree.h (compute_transaction_bits): Protoize.
5265         * trans-mem.c (tm_region_init): Use the heap to store BB
5266         auxilliary data.
5267         (compute_transaction_bits): New.
5268
5269 2012-02-28  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
5270
5271         * gcc.c (display_help): Document --help=common and sort entries
5272         alphabetically.
5273
5274 2012-02-28  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
5275
5276         * doc/install.texi: Document check-$LANG specific shortcuts
5277
5278 2012-02-28  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
5279
5280         PR target/51534
5281         * config/arm/arm.c (neon_builtin_data): Add entries for vcgeu
5282         and vcgtu.
5283         * config/arm/arm_neon.h: Regenerate.
5284         * config/arm/neon.md (unspec): Add UNSPEC_VCGEU, and UNSPEC_VCGTU.
5285         (neon_vcgeu): New insn.
5286         (neon_vcgtu): Likewise.
5287         * config/arm/neon.ml (s_8_32, u_8_32): New lists.
5288         (ops): Unsigned comparison intrinsics call a different
5289         builtin.
5290
5291 2012-02-28  Richard Guenther  <rguenther@suse.de>
5292
5293         PR target/52407
5294         * config/i386/i386.c (ix86_expand_vector_set): Fix element
5295         ordering for the VEC_CONCAT for two element vectors for
5296         V2SFmode, V2SImode and V2DImode.
5297
5298 2012-02-28  Richard Earnshaw  <rearnsha@arm.com>
5299
5300         PR target/49448
5301         * config.gcc (arm*-*-linux*): Use an unambiguous pattern for
5302         detecting big-endian triplets.
5303
5304 2012-02-28  Richard Earnshaw  <rearnsha@arm.com>
5305
5306         * arm.c (aapcs_vfp_is_call_or_return_candidate): Only use the machine
5307         mode if there is no type information available.
5308
5309 2012-02-28  Thomas Koenig  <tkoenig@gcc.gnu.org>
5310
5311         PR tree-optimization/53207
5312         * doc/invoke.texi: Document as experimental and relying on graphite.
5313
5314 2012-02-28  Georg-Johann Lay  <avr@gjlay.de>
5315
5316         * config/avr/avr-devices.c (avr_mcu_type): Adjust NULL part
5317         of initializer to changes from r184614.
5318
5319 2012-02-28  Richard Guenther  <rguenther@suse.de>
5320
5321         PR tree-optimization/52395
5322         * tree-sra.c (build_ref_for_offset): Also look at the base
5323         TYPE_ALIGN when figuring out the alignment of the replacement.
5324
5325 2012-02-28  Richard Guenther  <rguenther@suse.de>
5326
5327         PR tree-optimization/52402
5328         * ipa-prop.c (ipa_modify_call_arguments): Properly use
5329         mis-aligned types when creating the accesses at the call site.
5330
5331 2012-02-28  Georg-Johann Lay  <avr@gjlay.de>
5332
5333         * config/avr/builtins.def: New file.
5334         * config/avr/t-avr (avr.o, avr-c.o): Depend on it.
5335         * config/avr/avr.c (enum avr_builtin_id): Use it.
5336         (avr_init_builtins): Use it. And use avr_bdesc.
5337         (bdesc_1arg): Remove.
5338         (bdesc_2arg): Remove.
5339         (bdesc_3arg): Remove.
5340         (struct avr_builtin_description): Add field n_args.
5341         (avr_bdesc): New static variable using builtins.def.
5342         (avr_expand_builtin): Use it.
5343         Don't call avr_expand_delay_cycles if op0 is not CONST_INT.
5344         (avr_fold_builtin): Fold AVR_BUILTIN_SWAP.
5345         Don't fold AVR_BUILTIN_INSERT_BITS if arg0 is not INTEGER_CST.
5346
5347 2012-02-28  Georg-Johann Lay  <avr@gjlay.de>
5348
5349         PR target/52148
5350         * config/avr/avr.md (movmem_<mode>): Replace match_operand that
5351         match only one single hard register with respective hard reg rtx.
5352         (movmemx_<mode>): Ditto.
5353         * config/avr/avr.c (avr_emit_movmemhi): Adapt expanding to new
5354         insn anatomy of movmem[x]_<mode>.
5355         (avr_out_movmem): Same for printing assembler and operand usage.
5356
5357 2012-02-28  Georg-Johann Lay  <avr@gjlay.de>
5358
5359         PR target/49868
5360         PR target/52261
5361         * doc/extend.texi (AVR Named Address Spaces): No more try to fix
5362         address spaces located outside of device flash.
5363
5364         * config/avr/avr.h (base_arch_s): Remove field n_segments.
5365         (mcu_type_s): Add field n_flash.
5366         * config/avr/avr-devices.c (avr_arch_types): Remove .n_segments.
5367         Set .have_elpm and .have_elpmx to 1 for avrxmega4 and avrxmega5.
5368         (AVR_MCU): Add N_FLASH argument.
5369         * config/avr/avr-mcus.def (AVR_MCU): Add initializer for .n_flash.
5370         * config/avr/avr-c.c (avr_cpu_cpp_builtins): Only define built-in
5371         macro __FLASH<n> if that address space makes sense for the device.
5372         * config/avr/avr.c (avr_out_lpm): Don't try to fix address spaces
5373         outside of target flash.
5374         (avr_asm_named_section): Ditto.
5375         (avr_asm_select_section): Ditto.
5376         (avr_addr_space_convert): Ditto.
5377         (avr_emit_movmemhi): Ditto.
5378         (avr_nonconst_pointer_addrspace, avr_pgm_check_var_decl): Error if
5379         address space is outside of device flash.
5380         (avr_insert_attributes): Ditto.
5381         (avr_xload_libgcc_p): Use avr_current_device->n_flash instead of
5382         avr_current_arch->n_segments.
5383
5384 2012-02-27  H.J. Lu  <hongjiu.lu@intel.com>
5385
5386         PR target/52352
5387         * config/i386/i386.md (*movabs<mode>_1): Enable only for
5388         TARGET_LP64.
5389         (*movabs<mode>_2): Likewise.
5390
5391 2012-02-27  Jakub Jelinek  <jakub@redhat.com>
5392
5393         PR target/52375
5394         * config/arm/neon.md (vashr<mode>3, vlshr<mode>3): Use
5395         s_register_operand in the test instead of REG_P.  Don't call
5396         gen_reg_rtx if it won't be used.
5397
5398         PR tree-optimization/52376
5399         * ipa-split.c (split_function): Ignore CLOBBER stmts.
5400
5401 2012-02-27  Stuart Henderson  <shenders@gcc.gnu.org>
5402
5403         * ifcvt.c (noce_get_condition): Check condition variable is not
5404         small_register_classes_for_mode_p before accepting.
5405
5406 2012-02-27  Uros Bizjak  <ubizjak@gmail.com>
5407
5408         * config/i386/i386.md (*movabs<mode>_1): Fix operand 1 constraints.
5409
5410 2012-02-27  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
5411
5412         Revert:
5413         2012-01-09  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
5414         * config/arm/arm-cores.def (cortex-a15): Use cortex_a15_tune for
5415         tuning parameters.
5416         * config/arm/arm.c (arm_cortex_a15_tune): New static variable.
5417
5418 2012-02-27  Oleg Endo  <olegendo@gcc.gnu.org>
5419
5420         * config/sh/sh.h: Delete dead GO_IF_LEGITIMATE_INDEX macro.
5421
5422 2012-02-26  Oleg Endo  <olegendo@gcc.gnu.org>
5423
5424         * config/sh/predicates.md: Remove blank lines.
5425         * config/sh/sh.c: Fix typos in comments.
5426         * config/sh/constraints.md: Likewise.
5427         * config/sh/sh.md: Remove blank lines.
5428         Fix typos in comments.  Use ;; as comment characters.
5429
5430 2012-02-26  Walter Lee  <walt@tilera.com>
5431
5432         * config/tilegx/tilegx.c (match_pcrel_step2): Fix instruction pattern.
5433         (replace_mov_pcrel_step2): Ditto.
5434
5435 2012-02-25  Alexandre Oliva  <aoliva@redhat.com>
5436
5437         PR debug/52001
5438         * alias.c (refs_newer_value_cb, refs_newer_value_p): New.
5439         (get_addr): Walk canonical value's locs.  Avoid returning VALUEs
5440         and locs that reference values newer than the non-canonical value
5441         at hand.  Return the canonical value as a worst case.
5442         (memrefs_conflict_p): Walk canonical value's locs.
5443
5444         PR debug/52001
5445         * cselib.c (preserve_only_constants): Rename to...
5446         (preserve_constants_and_equivs): ... this.  Split out...
5447         (invariant_or_equiv_p): ... this.  Preserve plus expressions
5448         of other preserved expressions too.
5449         (cselib_reset_table): Adjust.
5450         * var-tracking.c (reverse_op): Use canonical value to build
5451         reverse operation.
5452
5453 2012-02-23  Kai Tietz  <ktietz@redhat.com>
5454
5455         * config/i386/i386.c (ix86_delegitimize_address): Handle
5456         UNSPEC_PCREL plus displacement.
5457
5458 2012-02-24  Georg-Johann Lay  <avr@gjlay.de>
5459
5460         PR target/52261
5461         * config/avr/avr.c (avr_out_movhi_mr_r_xmega): Use base
5462         to test for unusedness in st X addressing.
5463
5464 2012-02-24  Richard Guenther  <rguenther@suse.de>
5465
5466         PR middle-end/52361
5467         * gimple.c (walk_gimple_op): Use predicates with less redundant tests.
5468         (is_gimple_reg_type): Move inline ...
5469         * gimple.h (is_gimple_reg_type): ... here.
5470
5471 2012-02-24  Richard Guenther  <rguenther@suse.de>
5472
5473         PR middle-end/52361
5474         * passes.c (execute_function_todo): When verifying SSA form
5475         verify gimple form first.
5476         * tree-ssa.c (verify_ssa): Do not verify gimple form here.
5477
5478 2012-02-24  Richard Guenther  <rguenther@suse.de>
5479
5480         PR middle-end/52355
5481         * fold-const.c (fold_addr_of_array_ref_difference): New function.
5482         (fold_binary_loc): Use it to extend the existing &a[i] - &a[j] folding.
5483
5484 2012-02-13  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
5485
5486         * tree-if-conv (predicate_scalar_phi): Commentary typo fix.
5487
5488 2012-02-23  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
5489
5490         * tree-phinodes.c (make_phi_node): Mark static.
5491         * tree-flow.h (make_phi_node): Remove extern decl.
5492         * doc/gimple.texi (make_phi_node): Remove documentation.
5493
5494 2012-02-23  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
5495
5496         * tree-into-ssa (update_ssa): Avoid trailing whitespace in dump_file.
5497         * tree-ssa-sccvn.c (print_scc): Ditto.
5498
5499 2012-02-23  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
5500
5501         * doc/passes.texi (Full redundancy elimination): Fix typo.
5502
5503 2012-02-23  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
5504
5505         * doc/invoke.texi (-fdse, -fdce): Remove duplicate entries.
5506
5507 2012-02-23  Eric Botcazou  <ebotcazou@adacore.com>
5508
5509         PR bootstrap/52287
5510         * haifa-sched.c (rank_for_schedule): Stabilize sort for debug insns.
5511
5512 2012-02-23  Uros Bizjak  <ubizjak@gmail.com>
5513
5514         PR c/52290
5515         * c-decl.c (start_function): Exit early if decl1 is not FUNTION_DECL.
5516
5517 2012-02-23  Georg-Johann Lay  <avr@gjlay.de>
5518
5519         * config/avr/avr.md (code_stdname): Add ior, xor.
5520         (xior): New code iterator.
5521         (*<code_stdname><mode>qi.byte0): Use xior instead of ior.
5522         (*<code_stdname><mode>qi.byte1-3): Ditto.
5523
5524 2012-02-23  Jakub Jelinek  <jakub@redhat.com>
5525
5526         PR tree-optimization/52019
5527         * ipa-split.c (find_return_bb, find_retval, visit_bb): Ignore
5528         CLOBBER stmts.
5529
5530 2012-02-23  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
5531
5532         * acinclude.m4: Use HAVE_INITFINI_ARRAY_SUPPORT instead of
5533         HAVE_INITFINI_ARRAY to work around namespace pollution in
5534         certain versions of newlib system headers.
5535         * config.in: Regenerate.
5536         * configure: Regenerate.
5537         * config/initfini-array.h: Use HAVE_INITFINI_ARRAY_SUPPORT
5538         instead of HAVE_INITFINI_ARRAY.
5539
5540 2012-02-22  Uros Bizjak  <ubizjak@gmail.com>
5541
5542         PR target/52330
5543         * config/i386/i386.c (ix86_print_operand) <case 'H'>: Error out if x
5544         is not offsettable memory reference.
5545
5546 2012-02-22  Georg-Johann Lay  <avr@gjlay.de>
5547
5548         PR target/18145
5549         * config/avr/avr.c (avr_asm_output_aligned_decl_common): Skip
5550         setting avr_need_clear_bss_p for __gnu_lto* symbols.
5551
5552 2012-02-22  Georg-Johann Lay  <avr@gjlay.de>
5553
5554         * config/avr/avr.h (avr_accumulate_outgoing_args): Return int.
5555         * config/avr/avr.c (avr_accumulate_outgoing_args): Return int.
5556
5557 2012-02-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5558
5559         * configure.ac (LIB_TLS_SPEC): Enforce use of alternate thread
5560         library on Solaris 8 even without TLS support.
5561         * configure: Regenerate.
5562
5563 2012-02-22  Richard Guenther  <rguenther@suse.de>
5564
5565         PR middle-end/52329
5566         * gimple-fold.c (fold_stmt_1): Also canonicalize ADDR_EXPRs
5567         for GIMPLE_DEBUG stmts.
5568
5569 2012-02-22  Martin Jambor  <mjambor@suse.cz>
5570
5571         PR middle-end/51782
5572         * emit-rtl.c (set_mem_attributes_minus_bitpos): Set address space
5573         according to the base object.
5574
5575 2012-02-22  Georg-Johann Lay  <avr@gjlay.de>
5576
5577         PR rtl-optimization/50063
5578         * config/avr/avr.md (movhi_sp_r): Handle -1 (unknown IRQ state)
5579         and 2 (8-bit SP) in operand 2.
5580         * config/avr/avr.c (avr_prologue_setup_frame): Adjust prologue
5581         setup to use movhi_sp_r instead of vanilla move to write SP.
5582         Adjust REG_CFA notes to superseed unspec.
5583         (expand_epilogue): Adjust epilogue setup to use movhi_sp_r instead
5584         of vanilla move.
5585         As function body might contain CLI or SEI: Use irq_state 0 (IRQ
5586         known to be off) only with TARGET_NO_INTERRUPTS. Never use
5587         irq_state 1 (IRQ known to be on) here.
5588
5589 2012-02-21  Bernd Schmidt  <bernds@codesourcery.com>
5590
5591         * ira.c (check_allocation): Use REG_WORDS_BIG_ENDIAN, not
5592         WORDS_BIG_ENDIAN.
5593         * ira-color.c (setup_profitable_hard_regs, check_hard_reg_p,
5594         assign_hard_reg): Likewise.
5595
5596 2012-02-21  Georg-Johann Lay  <avr@gjlay.de>
5597
5598         * config/avr/avr.md (neghi2): Remove "!d,0" alternative. Tweak "r,0".
5599
5600 2012-02-21  Georg-Johann Lay  <avr@gjlay.de>
5601
5602         * config/avr/avr.md
5603         (*dec-and-branchhi!=-1.d.clobber): New text peephole.
5604         (*dec-and-branchhi!=-1.l.clobber): New text peephole.
5605
5606 2012-02-21  Georg-Johann Lay  <avr@gjlay.de>
5607
5608         * config/avr/avr-protos.h (avr_accumulate_outgoing_args): Move
5609         prototype from here to...
5610         * config/avr/avr.h: ...here.
5611
5612 2012-02-21  Richard Earnshaw  <rearnsha@arm.com>
5613
5614         PR target/52294
5615         * thumb2.md (thumb2_shiftsi3_short): Split register and
5616         immediate shifts.  For register shifts tie operands 0 and 1.
5617         (peephole2 for above): Check that register-controlled shifts
5618         have suitably tied operands.
5619
5620 2012-02-21  Quentin Neill  <quentin.neill@amd.com>
5621
5622         PR target/52137
5623         * config/i386/bdver1.md (bdver1_call, bdver1_push,
5624         bdver1_pop, bdver1_leave, bdver1_lea, bdver1_imul_DI, bdver1_imul,
5625         bdver1_imul_mem_DI, bdver1_imul_mem, bdver1_idiv, bdver1_idiv_mem,
5626         bdver1_str, bdver1_idirect, bdver1_ivector, bdver1_idirect_loadmov,
5627         bdver1_idirect_load, bdver1_ivector_load, bdver1_idirect_movstore,
5628         bdver1_idirect_both, bdver1_ivector_both, bdver1_idirect_store,
5629         bdver1_ivector_store, bdver1_fldxf, bdver1_fld, bdver1_fstxf,
5630         bdver1_fst, bdver1_fist, bdver1_fmov_bdver1, bdver1_fadd_load,
5631         bdver1_fadd, bdver1_fmul_load, bdver1_fmul, bdver1_fsgn,
5632         bdver1_fdiv_load, bdver1_fdiv, bdver1_fpspc_load, bdver1_fpspc,
5633         bdver1_fcmov_load, bdver1_fcmov, bdver1_fcomi_load,
5634         bdver1_fcomi, bdver1_fcom_load, bdver1_fcom,
5635         bdver1_fxch, bdver1_ssevector_avx128_unaligned_load,
5636         bdver1_ssevector_avx256_unaligned_load,
5637         bdver1_ssevector_sse128_unaligned_load,
5638         bdver1_ssevector_avx128_load, bdver1_ssevector_avx256_load,
5639         bdver1_ssevector_sse128_load, bdver1_ssescalar_movq_load,
5640         bdver1_ssescalar_vmovss_load, bdver1_ssescalar_sse128_load,
5641         bdver1_mmxsse_load, bdver1_sse_store_avx256, bdver1_sse_store,
5642         bdver1_mmxsse_store_short, bdver1_ssevector_avx256,
5643         bdver1_movss_movsd, bdver1_mmxssemov, bdver1_sselog_load_256,
5644         bdver1_sselog_256, bdver1_sselog_load, bdver1_sselog,
5645         bdver1_ssecmp_load, bdver1_ssecmp, bdver1_ssecomi_load,
5646         bdver1_ssecomi, bdver1_vcvtX2Y_avx256_load, bdver1_vcvtX2Y_avx256,
5647         bdver1_ssecvt_cvtss2sd_load, bdver1_ssecvt_cvtss2sd,
5648         bdver1_sseicvt_cvtsi2sd_load, bdver1_sseicvt_cvtsi2sd,
5649         bdver1_ssecvt_cvtpd2ps_load, bdver1_ssecvt_cvtpd2ps,
5650         bdver1_ssecvt_cvtdq2ps_load, bdver1_ssecvt_cvtdq2ps,
5651         bdver1_ssecvt_cvtdq2pd_load, bdver1_ssecvt_cvtdq2pd,
5652         bdver1_ssecvt_cvtps2pd_load, bdver1_ssecvt_cvtps2pd,
5653         bdver1_ssecvt_cvtsX2si_load, bdver1_ssecvt_cvtsX2si,
5654         bdver1_ssecvt_cvtpd2pi_load, bdver1_ssecvt_cvtpd2pi,
5655         bdver1_ssecvt_cvtpd2dq_load, bdver1_ssecvt_cvtpd2dq,
5656         bdver1_ssecvt_cvtps2pi_load, bdver1_ssecvt_cvtps2pi,
5657         bdver1_ssemuladd_load_256, bdver1_ssemuladd_256,
5658         bdver1_ssemuladd_load, bdver1_ssemuladd, bdver1_sseimul_load,
5659         bdver1_sseimul, bdver1_sseiadd_load, bdver1_sseiadd,
5660         bdver1_ssediv_double_load_256, bdver1_ssediv_double_256,
5661         bdver1_ssediv_single_load_256, bdver1_ssediv_single_256,
5662         bdver1_ssediv_double_load, bdver1_ssediv_double,
5663         bdver1_ssediv_single_load, bdver1_ssediv_single, bdver1_sseins):
5664         Add "bdver2" attribute.
5665
5666 2012-02-21  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
5667
5668         * config/s390/s390.c (s390_option_override): Make -mhard-dfp the
5669         default if possible and not specified otherwise.
5670
5671 2012-02-21  Richard Guenther  <rguenther@suse.de>
5672
5673         PR middle-end/52314
5674         * gimplify.c (create_tmp_from_val): Use the main variant type
5675         for the type of the temporary we create.
5676
5677 2012-02-21  Richard Guenther  <rguenther@suse.de>
5678
5679         PR tree-optimization/52324
5680         * gimplify.c (gimplify_expr): When re-gimplifying expressions
5681         do not gimplify a MEM_REF address operand if it is already
5682         in suitable form.
5683
5684 2012-02-21  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
5685
5686         * config/s390/s390.md ("fixuns_trunc<mode>si2"): Replace
5687         TARGET_HARD_FLOAT with TARGET_HARD_DFP.
5688
5689 2012-02-21  Richard Guenther  <rguenther@suse.de>
5690
5691         * tree-vect-stmts.c (vectorizable_load): Use pre-computed
5692         nested_in_vect_loop.
5693
5694 2012-02-21  Jakub Jelinek  <jakub@redhat.com>
5695
5696         PR tree-optimization/52318
5697         * gimple-fold.c (gimplify_and_update_call_from_tree): Add
5698         vdef also to non-pure/const call stmts in the sequence.
5699
5700 2012-02-20  David S. Miller  <davem@davemloft.net>
5701
5702         * config/sparc/sparc.md (load_pcrel_sym<P:mode>): Explain why we
5703         don't use the "rd %pc" instruction on v9 for PIC register loads.
5704
5705 2012-02-20  Aldy Hernandez  <aldyh@redhat.com>
5706
5707         PR middle-end/52141
5708         * trans-mem.c (ipa_tm_scan_irr_block): Error out on GIMPLE_ASM's
5709         in a transaction safe function.
5710
5711 2012-02-20  Kai Tietz  <ktietz@redhat.com>
5712
5713         PR target/52238
5714         * stor-layout.c (place_field): Handle desired_align for
5715         ms-bitfields, too.
5716
5717 2012-02-20  Richard Guenther  <rguenther@suse.de>
5718
5719         PR tree-optimization/52298
5720         * tree-vect-stmts.c (vectorizable_store): Properly use
5721         STMT_VINFO_DR_STEP instead of DR_STEP when vectorizing
5722         outer loops.
5723         (vectorizable_load): Likewise.
5724         * tree-vect-data-refs.c (vect_analyze_data_ref_access):
5725         Access DR_STEP after ensuring it is not NULL.
5726
5727 2012-02-20  Jakub Jelinek  <jakub@redhat.com>
5728
5729         PR tree-optimization/52286
5730         * fold-const.c (fold_binary_loc): For (X & C1) | C2
5731         optimization use double_int_to_tree instead of build_int_cst_wide,
5732         rewrite to use double_int vars.
5733
5734 2012-02-20  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5735
5736         PR target/50166
5737         * acinclude.m4 (gcc_AC_INITFINI_ARRAY): Require gcc_SUN_LD_VERSION.
5738         Define _start.
5739         Remove -e 0 from $gcc_cv_ld invocation.
5740         Only use __GLIBC_PREREQ if defined.
5741         Enable on Solaris since Solaris 8 patch.
5742         (gcc_SUN_LD_VERSION): New macro.
5743         * configure.ac (ld_ver) <*-*-solaris2*>: Refer to
5744         gcc_SUN_LD_VERSION for version number format.
5745         * configure: Regenerate.
5746         * varasm.c (get_elf_initfini_array_priority_section): Set
5747         SECTION_NOTYPE for non-default priority.
5748         Use get_section instead of get_unnamed_section to emit
5749         .init_array/.fini_array with default priority.
5750
5751 2012-02-19  Richard Sandiford  <rdsandiford@googlemail.com>
5752
5753         * config/mips/mips.c (mips_need_mips16_rdhwr_p): New variable.
5754         (mips_get_tp): Set it.  Record that __mips16_rdhwr binds locally.
5755         (mips_start_unique_function, mips_output_mips16_rdhwr)
5756         (mips_code_end): New functions.
5757         (TARGET_ASM_CODE_END): Define.
5758
5759 2012-02-19  Richard Sandiford  <rdsandiford@googlemail.com>
5760
5761         * config/mips/mips.c (mips16_build_call_stub): Add CFI information
5762         to stubs with non-sibling calls.
5763
5764 2012-02-18  Sandra Loosemore  <sandra@codesourcery.com>
5765
5766         * doc/invoke.texi (-fira-* options): Copy-edit.
5767         (ira-* parameters): Copy-edit.
5768
5769 2012-02-17  Sandra Loosemore  <sandra@codesourcery.com>
5770
5771         * doc/invoke.texi: Minor copy-edits to bring into conformance with
5772         GCC coding conventions.
5773
5774 2012-02-17  Sandra Loosemore  <sandra@codesourcery.com>
5775
5776         * doc/invoke.texi: Consistently hyphenate "big-endian"/"little-endian"
5777         when used as adjectives.
5778
5779 2012-02-16  Sandra Loosemore  <sandra@codesourcery.com>
5780
5781         * doc/invoke.texi: Clean up "that"/"which" confusion.
5782
5783 2012-02-17  Steven Bosscher  <steven@gcc.gnu.org>
5784
5785         * system.h: Poison SMALL_REGISTER_CLASSES
5786         * config/rl78/rl78.h: Replace SMALL_REGISTER_CLASSES with hook.
5787         * config/rx/rx.h: Remove SMALL_REGISTER_CLASSES.
5788
5789 2012-02-16  Jakub Jelinek  <jakub@redhat.com>
5790
5791         PR tree-optimization/52285
5792         * tree-tailcall.c (find_tail_calls): Ignore gimple_clobber_p stmts
5793         when deciding if a call is a tail call or tail recursion.
5794
5795 2012-02-16  Kai Tietz  <ktietz@redhat.com>
5796
5797         * config/i386/i386.c (legitimate_pic_address_disp_p): Allow
5798         interger-constant displacement for UNSPEC_PCREL.
5799
5800 2012-02-16  Jakub Jelinek  <jakub@redhat.com>
5801
5802         PR rtl-optimization/52208
5803         * ira-costs.c (scan_one_insn): Don't decrease mem_cost
5804         for MEMs with REG_EQUIV, if the MEM isn't general_operand.
5805
5806         PR tree-optimization/52255
5807         * tree-vect-loop-manip.c (slpeel_tree_peel_loop_to_edge): If
5808         loop->header has virtual PHI, but exit_e->dest doesn't, add
5809         virtual PHI to exit_e->dest and adjust all uses after the loop.
5810
5811         PR debug/52260
5812         * dwarf2out.c (copy_decls_walk): Fill in *slot before traversing
5813         children with clone_tree_hash, not after it.
5814
5815 2012-02-16  Iain Sandoe  <iains@gcc.gnu.org>
5816
5817         * config/darwin.h (ASM_OUTPUT_LABELREF): Add user label prefix for
5818         extended identifiers.
5819
5820 2012-02-16  Jakub Jelinek  <jakub@redhat.com>
5821
5822         PR middle-end/51929
5823         * cgraphunit.c (verify_edge_corresponds_to_fndecl): If node is
5824         a same_body_alias, also test whether e->callee isn't a former
5825         or current clone of the decl this is a same body alias of.
5826
5827         PR translation/52264
5828         * cgraphunit.c (verify_cgraph_node): Fix a typo.
5829
5830 2012-02-15  Sandra Loosemore  <sandra@codesourcery.com>
5831
5832         * doc/invoke.texi: Clean up "n-bit/byte/word" modifiers.
5833
5834 2012-02-15  Michael Meissner  <meissner@linux.vnet.ibm.com>
5835
5836         PR target/52199
5837         * config/rs6000/rs6000.c (rs6000_expand_vector_init): Use
5838         force_reg instead of copy_to_reg for better optimization.  Force
5839         non-register or memory operands into a register.
5840
5841 2012-02-15  Andrew MacLeod  <amacleod@redhat.com>
5842
5843         * extend.texi: Reserve upper bits of memory model for future use.
5844
5845 2012-01-15  Georg-Johann Lay  <avr@gjlay.de>
5846             Anatoly Sokolov <aesok@post.ru>
5847             Eric Weddington <eric.weddington@atmel.com>
5848
5849         PR target/52261
5850         * config/avr/avr-devices.c (avr_arch_types): Add avrxmega2,
5851         avrxmega4, avrxmega5, avrxmega6, avrxmega7.
5852         Rewrite initializers for .macro.
5853         * config/avr/avr-mcus.def (AVR_MCU): Add known MCUs:
5854         avrxmega2: atxmega16a4, atxmega16d4, atxmega16x1, atxmega32a4
5855         atxmega32d4, atxmega32x1.
5856         avrxmega4: atxmega64a3, atxmega64d3.
5857         avrxmega5: atxmega64a1, atxmega64a1u.
5858         avrxmega6: atxmega128a3, atxmega128d3, atxmega192a3, atxmega192d3,
5859         atxmega256a3, atxmega256a3b, atxmega256a3bu, atxmega256d3.
5860         avrxmega7: atxmega128a1, atxmega128a1u.
5861         * config/avr/avr.h (enum avr_arch): Add: ARCH_AVRXMEGA2,
5862         ARCH_AVRXMEGA4, ARCH_AVRXMEGA5, ARCH_AVRXMEGA6, ARCH_AVRXMEGA7.
5863         (struct base_arch_s): Rename reserved to xmega_p.
5864         Rename reserved2 to have_rampd.
5865         (AVR_XMEGA): New define.
5866         (AVR_HAVE_RAMPD, AVR_HAVE_RAMPX, AVR_HAVE_RAMPY): New defines.
5867         (AVR_HAVE_RAMPZ): Change definition to fit xmega.
5868         * config/avr/predicates.md (io_address_operand): Take into
5869         account SFR offset.
5870         (low_io_address_operand): Ditto.
5871         (high_io_address_operand): Ditto.
5872         * config/avr/avr.md (isa): Add alternatives no_xmega, xmega.
5873         (enabled, movhi_sp_r): Use them.
5874         * config/avr/avr-c.c (avr_cpu_cpp_builtins): Use
5875         cpp_define_formatted to built-in define __AVR_ARCH__.
5876         (__AVR_XMEGA__): New built-in define.
5877         (__AVR_HAVE_RAMPD__): New built-in define.
5878         (__AVR_HAVE_RAMPX__): New built-in define.
5879         (__AVR_HAVE_RAMPY__): New built-in define.
5880         (__AVR_HAVE_RAMPZ__): Change condition when to built-in define it.
5881
5882         * config/avr/avr.c (avr_addr_t): Add ccp, rampd, rampx, rampy.
5883         (avr_option_override): Initialize them.
5884         (sreg_rtx, rampd_rtx, rampx_rtx, rampy_rtx): New GTY rtx.
5885         (avr_init_expanders): Initialize them. No more block several calls.
5886         (emit_push_sfr): New static function.
5887         (avr_prologue_setup_frame): Use it to push SREG, RAMPD/X/Y/Z as needed.
5888         Handle AVR_XMEGA.
5889         (expand_epilogue): Handle AVR_XMEGA. Pop RAMPD/X/Y/Z as needed.
5890         (avr_print_operand): Print addreeses as symbols for
5891         RAMPX, RAMPY, RAMPD, CCP.
5892         (output_movhi): Handle AVR_XMEGA when writing to SP.
5893         (avr_out_movhi_mr_r_xmega): New static function.
5894         (out_movhi_mr_r): Forward to avr_out_movhi_mr_r_xmega for AVR_XMEGA.
5895         (avr_file_start): Print symbol defines for __RAMPX__,  __RAMPY__,
5896         __RAMPD__,  __CCP__ as needed.
5897
5898         * config/avr/multilib.h: Regenerate.
5899         * config/avr/t-multilib: Regenerate.
5900         * config/avr/avr-tables.opt: Regenerate.
5901
5902 2012-02-15  Tobias Grosser <grosser@fim.uni-passau.de>
5903
5904         PR tree-optimization/50561
5905         * graphite-flattening.c (lst_project_loop): Do not
5906         remove old scattering dimensions after flattening.
5907         (lst_do_flatten): Likewise.
5908
5909 2012-02-15  Georg-Johann Lay  <avr@gjlay.de>
5910
5911         * doc/extend.texi (AVR Built-in Functions): Remove doc for
5912         __builtin_avr_map8, __builtin_avr_map16.
5913         Document __builtin_avr_insert_bits.
5914
5915         * config/avr/avr.md (map_bitsqi, map_bitshi): Remove.
5916         (insert_bits): New insn.
5917         (adjust_len.map_bits): Rename to insert_bits.
5918         (UNSPEC_MAP_BITS): Rename to UNSPEC_INSERT_BITS.
5919         * avr-protos.h (avr_out_map_bits): Remove.
5920         (avr_out_insert_bits, avr_has_nibble_0xf): New.
5921         * config/avr/constraints.md (Cxf,C0f): New.
5922         * config/avr/avr.c (avr_cpu_cpp_builtins): Remove built-in
5923         defines __BUILTIN_AVR_MAP8, __BUILTIN_AVR_MAP16.
5924         New built-in define __BUILTIN_AVR_INSERT_BITS.
5925         * config/avr/avr.c (TARGET_FOLD_BUILTIN): New define.
5926         (enum avr_builtin_id): Add AVR_BUILTIN_INSERT_BITS.
5927         (avr_move_bits): Rewrite.
5928         (avr_fold_builtin, avr_map_metric, avr_map_decompose): New static
5929         functions.
5930         (avr_map_op_t): New typedef.
5931         (avr_map_op): New static variable.
5932         (avr_out_insert_bits, avr_has_nibble_0xf): New functions.
5933         (adjust_insn_length): Handle ADJUST_LEN_INSERT_BITS.
5934         (avr_init_builtins): Add definition for __builtin_avr_insert_bits.
5935         (bdesc_3arg, avr_expand_triop_builtin): New.
5936         (avr_expand_builtin): Use them. And handle AVR_BUILTIN_INSERT_BITS.
5937         (avr_revert_map, avr_swap_map, avr_id_map, avr_sig_map): Remove.
5938         (avr_map_hamming_byte, avr_map_hamming_nonstrict): Remove.
5939         (avr_map_equal_p, avr_map_sig_p): Remove.
5940         (avr_out_swap_bits, avr_out_revert_bits, avr_out_map_bits): Remove.
5941         (bdesc_2arg): Remove AVR_BUILTIN_MAP8, AVR_BUILTIN_MAP16.
5942         (adjust_insn_length): Remove handling for ADJUST_LEN_MAP_BITS.
5943         (enum avr_builtin_id): Remove AVR_BUILTIN_MAP8, AVR_BUILTIN_MAP16.
5944         (avr_init_builtins): Remove __builtin_avr_map8, __builtin_avr_map16.
5945         (avr_expand_builtin): Remove AVR_BUILTIN_MAP8, AVR_BUILTIN_MAP16.
5946
5947 2012-02-14  Bernd Schmidt  <bernds@codesourcery.com>
5948
5949         * config/c6x/c6x.md (reserve_cycles): New attribute.
5950         * config/c6x/c6x.c (c6x_sched_reorder_1): Ensure insns we predicate
5951         don't reserve functional units after the branch occurs.
5952
5953 2012-02-14  Aldy Hernandez  <aldyh@redhat.com>
5954
5955         PR middle-end/52142
5956         * ipa-inline.c (can_inline_edge_p): Do not inline tm_pure
5957         functions into non-tm_pure functions.
5958
5959 2012-02-14  Eric Botcazou  <ebotcazou@adacore.com>
5960
5961         PR lto/52178
5962         * gimple.c (iterative_hash_gimple_type): Use RECORD_OR_UNION_TYPE_P.
5963         (iterative_hash_canonical_type): Likewise.
5964         * tree-ssa-pre.c (fini_pre): Clean up the CFG only after purging all
5965         the dead edges.
5966
5967 2012-02-14  Bernd Schmidt  <bernds@codesourcery.com>
5968
5969         * haifa-sched.c (prune_ready_list): Ensure that if there is a
5970         sched-group insn, it either remains alone or the entire list is pruned.
5971
5972 2012-02-14  Jonathan Wakely  <jwakely.gcc@gmail.com>
5973
5974         * doc/install.texi (Prerequisites): Fix grammar.
5975         (Configuration): Likewise.
5976
5977 2012-02-14  Jonathan Wakely  <jwakely.gcc@gmail.com>
5978
5979         * doc/install.texi (Prerequisites): Suggest building GMP, MPFR and
5980         MPC as part of GCC before describing configuring with --with-gmp etc.
5981         (Installing GCC: Configuration): --with-gmp etc. aren't needed if
5982         sources are present.
5983
5984 2012-02-14  Jakub Jelinek  <jakub@redhat.com>
5985
5986         PR debug/51950
5987         * dwarf2out.c (clone_tree_hash): New function.
5988         (copy_decls_walk): Use it instead of clone_tree.
5989
5990 2012-02-14  Richard Guenther  <rguenther@suse.de>
5991
5992         PR tree-optimization/52244
5993         PR tree-optimization/51528
5994         * tree-sra.c (analyze_access_subtree): Only create INTEGER_TYPE
5995         replacements for integral types.
5996
5997 2012-02-14  Walter Lee  <walt@tilera.com>
5998
5999         * config.gcc: Handle tilegx and tilepro.
6000         * configure.ac (gcc_cv_as_dwarf2_debug_line): Enable test for
6001         tilegx and tilepro.
6002         Add HAVE_AS_TLS check for tilegx and tilepro.
6003         * configure: Regenerate.
6004         * doc/contrib.texi: Add Mat Hostetter and self.
6005         * doc/extend.texi (TILE-Gx Built-in Functions): New node.
6006         Document instruction intrinsics and network accessing intrinsics.
6007         (TILEPro Built-in Functions): New node.  Document instruction
6008         intrinsics and network accessing intrinsics.
6009         * doc/install.texi (Specific, tilegx-*-linux*): Document it.
6010         (Specific, tilepro-*-linux*): Likewise.
6011         * doc/invoke.texi (TILE-Gx Options): New section.
6012         (TILEPro Options): New section.
6013         * doc/md.texi (TILE-Gx): New section.
6014         (TILEPro): New section.
6015         * common/config/tilegx/tilegx-common.c: New file.
6016         * common/config/tilepro/tilepro-common.c: New file.
6017         * config/tilegx/constraints.md: New file.
6018         * config/tilegx/linux.h: New file.
6019         * config/tilegx/mul-tables.c: New file.
6020         * config/tilegx/predicates.md: New file.
6021         * config/tilegx/sync.md: New file.
6022         * config/tilegx/t-tilegx: New file.
6023         * config/tilegx/tilegx-builtins.h: New file.
6024         * config/tilegx/tilegx-c.c: New file.
6025         * config/tilegx/tilegx-generic.md: New file.
6026         * config/tilegx/tilegx-modes.def: New file.
6027         * config/tilegx/tilegx-multiply.h: New file.
6028         * config/tilegx/tilegx-protos.h: New file.
6029         * config/tilegx/tilegx.c: New file.
6030         * config/tilegx/tilegx.h: New file.
6031         * config/tilegx/tilegx.md: New file.
6032         * config/tilegx/tilegx.opt: New file.
6033         * config/tilepro/constraints.md: New file.
6034         * config/tilepro/gen-mul-tables.cc: New file.
6035         * config/tilepro/linux.h: New file.
6036         * config/tilepro/mul-tables.c: New file.
6037         * config/tilepro/predicates.md: New file.
6038         * config/tilepro/t-tilepro: New file.
6039         * config/tilepro/tilepro-builtins.h: New file.
6040         * config/tilepro/tilepro-c.c: New file.
6041         * config/tilepro/tilepro-generic.md: New file.
6042         * config/tilepro/tilepro-modes.def: New file.
6043         * config/tilepro/tilepro-multiply.h: New file.
6044         * config/tilepro/tilepro-protos.h: New file.
6045         * config/tilepro/tilepro.c: New file.
6046         * config/tilepro/tilepro.h: New file.
6047         * config/tilepro/tilepro.md: New file.
6048         * config/tilepro/tilepro.opt: New file.
6049
6050 2012-02-14  Jakub Jelinek  <jakub@redhat.com>
6051
6052         PR tree-optimization/52210
6053         * tree-vect-slp.c (vect_get_and_check_slp_defs): Call
6054         vect_model_simple_cost with two entry vect_def_type array instead
6055         of an address of dt.
6056
6057 2012-02-14  Richard Guenther  <rguenther@suse.de>
6058
6059         PR lto/52178
6060         * tree-streamer-in.c (lto_input_ts_field_decl_tree_pointers):
6061         Do not stream DECL_QUALIFIER.
6062         * tree-streamer-out.c (write_ts_field_decl_tree_pointers): Likewise.
6063         * tree.c (free_lang_data_in_decl): Free DECL_QUALIFIER.
6064         (find_decls_types_r): Do not walk DECL_QUALIFIER.
6065
6066 2012-02-14  Jakub Jelinek  <jakub@redhat.com>
6067
6068         PR c/52181
6069         * c-decl.c (merge_decls): Copy DECL_USER_ALIGN bit from olddecl to
6070         newdecl.
6071
6072 2012-02-13  Jakub Jelinek  <jakub@redhat.com>
6073
6074         PR bootstrap/52172
6075         * cselib.h (cselib_subst_to_values_from_insn): New prototype.
6076         * cselib.c (cselib_subst_to_values_from_insn): New function.
6077         * sched-deps.c (add_insn_mem_dependence,
6078         sched_analyze_1, sched_analyze_2): Use it.
6079
6080 2012-02-13  Jan Hubicka  <jh@suse.cz>
6081
6082         PR middle-end/52214
6083         * predict.c (predict_paths_for_bb): Fix thinko in prevoius patch.
6084
6085 2012-02-13  Eric Botcazou  <ebotcazou@adacore.com>
6086
6087         * gcc.c (LINK_COMMAND_SPEC): Deal with -fgnu-tm.
6088         (GTM_SELF_SPECS): Define if not already defined.
6089         (driver_self_specs): Add GTM_SELF_SPECS.
6090         * config/darwin.h (LINK_COMMAND_SPEC_A): Deal with -fgnu-tm.
6091         (GTM_SELF_SPECS): Define.
6092         * config/i386/cygwin.h (GTM_SELF_SPECS): Likewise.
6093         * config/i386/mingw32.h (GTM_SELF_SPECS): Likewise.
6094
6095 2012-02-13  Jakub Jelinek  <jakub@redhat.com>
6096
6097         * cselib.c (expand_loc): Return sp, fp, hfp or cfa base reg right
6098         away if seen.
6099
6100         * cselib.c (dump_cselib_val): Don't assume l->setting_insn is non-NULL.
6101
6102         PR middle-end/52230
6103         * omp-low.c (expand_omp_for): If a static schedule without chunk size
6104         has NULL region->cont, force fd.chunk_size to be integer_zero_node.
6105
6106 2012-02-13  Andrew MacLeod  <amacleod@redhat.com>
6107
6108         PR c/52190
6109         * doc/extend.texi : Fix another __atomic_compare_exchange typo.
6110
6111 2012-02-13  Richard Guenther  <rguenther@suse.de>
6112
6113         PR translation/52211
6114         * passes.c (enable_disable_pass): Fix typo.
6115
6116 2012-02-13  Jakub Jelinek  <jakub@redhat.com>
6117
6118         PR middle-end/52209
6119         * expr.c (expand_expr_real_2) <case BIT_NOT_EXPR>: Only expand using
6120         XOR for reduce_bit_field if type is unsigned.
6121
6122 2012-02-12  Eric Botcazou  <ebotcazou@adacore.com>
6123
6124         * config/sparc/sparc.h (CANNOT_CHANGE_MODE_CLASS): In 64-bit mode,
6125         disallow changes from SFmode to mode with different size in FP regs.
6126
6127 2012-02-12  Robert Millan  <rmh@gnu.org>
6128             Gerald Pfeifer <gerald@pfeifer.com>
6129
6130         * ginclude/stddef.h [__FreeBSD_kernel__] (__size_t): Do not define.
6131         Tweak comment.
6132
6133 2012-02-11  Richard Sandiford  <rdsandiford@googlemail.com>
6134
6135         PR rtl-optimization/52175
6136         * reorg.c (fill_slots_from_thread): Don't apply add/sub optimization
6137         to frame-related instructions.
6138
6139 2012-02-10  Jason Merrill  <jason@redhat.com>
6140
6141         PR c++/51910
6142         * tlink.c (demangled_hash_entry): Change mangled to a VEC.
6143         (demangle_new_symbols): Fill it.
6144         (scan_linker_output): Walk it.
6145         (start_tweaking): Split out from scan_linker_output.
6146         (maybe_tweak): Update sym->chosen.
6147         * Makefile.in (COLLECT2_OBJS): Add vec.o and gcc-none.o
6148
6149 2012-02-11  Jakub Jelinek  <jakub@redhat.com>
6150
6151         PR debug/52132
6152         * reg-stack.c (subst_stack_regs_in_debug_insn): Don't use get_true_reg.
6153
6154 2012-02-11  Uros Bizjak  <ubizjak@gmail.com>
6155
6156         * compare-elim.c (find_comparisons_in_bb): Eliminate only compares
6157         having the same mode as previous compare.
6158
6159 2012-02-10  Eric Botcazou  <ebotcazou@adacore.com>
6160
6161         * config/sparc/sparc.c (sparc_flat_expand_prologue): Use emit_use.
6162         * config/sparc/sparc.md (UNSPECV_GOTO): Delete.
6163         (nonlocal_goto_internal): Likewise.
6164         (nonlocal_goto): Emit a use and an indirect jump directly.
6165
6166 2012-02-10  Andrew MacLeod  <amacleod@redhat.com>
6167
6168         PR c/52190
6169         * doc/extend.texi : Update comments for __atomic_compare_exchange and
6170         __atomic_{is,always}_lock_free.
6171
6172 2012-02-10  Uros Bizjak  <ubizjak@gmail.com>
6173
6174         PR target/52146
6175         * config/i386/i386.c (ix86_legitimate_address_p): Disallow
6176         negative constant address for x32.
6177
6178 2012-02-10  Richard Henderson  <rth@redhat.com>
6179
6180         * tree-ssa-dce.c (propagate_necessity): Handle GIMPLE_TRANSACTION.
6181         * tree-ssa-operands.c (parse_ssa_operands): Add virtual operands
6182         for GIMPLE_TRANSACTION.  Tidy if's into a switch.
6183
6184 2012-02-10  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
6185             Ira Rosen  <irar@il.ibm.com>
6186
6187         PR tree-optimization/50031
6188         * targhooks.c (default_builtin_vectorization_cost): Handle
6189         vec_promote_demote.
6190         * target.h (enum vect_cost_for_stmt): Add vec_promote_demote.
6191         * tree-vect-loop.c (vect_get_single_scalar_iteraion_cost): Handle
6192         all types of reduction and pattern statements.
6193         (vect_estimate_min_profitable_iters): Likewise.
6194         * tree-vect-stmts.c (vect_model_promotion_demotion_cost): New function.
6195         (vect_get_load_cost): Use vec_perm for permutations; add dump logic
6196         for explicit realigns.
6197         (vectorizable_conversion): Call vect_model_promotion_demotion_cost.
6198         * config/spu/spu.c (spu_builtin_vectorization_cost): Handle
6199         vec_promote_demote.
6200         * config/i386/i386.c (ix86_builtin_vectorization_cost): Likewise.
6201         * config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost): Update
6202         vec_perm for VSX and handle vec_promote_demote.
6203
6204 2012-02-10  Jakub Jelinek  <jakub@redhat.com>
6205
6206         PR middle-end/52177
6207         * builtins.c (fold_builtin_atomic_always_lock_free,
6208         expand_builtin_atomic_always_lock_free,
6209         fold_builtin_atomic_is_lock_free, expand_builtin_atomic_is_lock_free):
6210         Return and/or test boolean_true_node/boolean_false_node instead of
6211         integer_one_node/integer_zero_node.
6212
6213 2012-02-10  Jan Hubicka  <jh@suse.cz>
6214
6215         PR middle-end/48600
6216         * predict.c (predict_paths_for_bb): Prevent looping.
6217         (predict_paths_leading_to_edge, predict_paths_leading_to): Update.
6218
6219 2012-02-10  Roman Zhuykov  <zhroma@ispras.ru>
6220
6221         * config/arm/arm.c (output_move_double): In one case properly
6222         count number of instructions that will be emitted.
6223
6224 2012-02-10  Richard Guenther  <rguenther@suse.de>
6225
6226         PR translation/52193
6227         * cgraphunit.c (cgraph_mark_functions_to_output): Fix typo.
6228
6229 2012-02-09  Peter Bergner  <bergner@vnet.ibm.com>
6230
6231         PR middle-end/52140
6232         * dojump.c (do_compare_rtx_and_jump): Use SCALAR_FLOAT_MODE_P.
6233
6234 2012-02-09  Jakub Jelinek  <jakub@redhat.com>
6235
6236         PR debug/52165
6237         * var-tracking.c (emit_note_insn_var_location): If
6238         EMIT_NOTE_BEFORE_INSN and insn is NOTE_INSN_CALL_ARG_LOCATION,
6239         emit it before next non-NOTE_INSN_CALL_ARG_LOCATION
6240         non-NOTE_DURING_CALL_P insn.
6241
6242 2012-02-09  Bin Cheng  <bin.cheng@arm.com>
6243
6244         PR middle-end/51867
6245         * builtins.c (expand_builtin): Don't check DECL_ASSEMBLER_NAME_SET_P.
6246
6247 2012-02-08  Magnus Granberg  <zorry@gentoo.org>
6248
6249         PR driver/48524
6250         * gcc.c (switch_matches) Support switches with separated form,
6251         -D and -U.
6252
6253 2012-02-08  Georg-Johann Lay  <avr@gjlay.de>
6254
6255         * config/avr/avr.md (SREG_ADDR): Remove constant definition.
6256         (SP_ADDR): Ditto.
6257         (RAMPZ_ADDR): Ditto.
6258         * config/avr/avr.c (avr_addr_t): New typedef.
6259         (avr_addr): New struct to hold RAM address of SPL, SPH, RAMPZ, SREG.
6260         (avr_init_expanders): Initialize it.
6261         (expand_prologue): Use avr_addr instead of RAMPZ_ADDR, SP_ADDR,
6262         SREG_ADDR.
6263         (expand_epilogue): Ditto.
6264         (avr_print_operand): Ditto.
6265         (avr_file_start): Ditto.
6266         (avr_emit_movmemhi): Ditto.
6267
6268 2012-02-08  Richard Guenther  <rguenther@suse.de>
6269
6270         PR tree-optimization/46886
6271         * tree-flow.h (do_while_loop_p): Declare.
6272         * tree-ssa-loop-ch.c (do_while_loop_p): Export.
6273         * tree-parloops.c (parallelize_loops): Only parallelize do-while loops.
6274
6275 2012-02-08  Andrew MacLeod  <amacleod@redhat.com>
6276
6277         * optabs.c (expand_atomic_load): Do not assume compare_and_swap will
6278         always succeed for integers larger than a native word.
6279
6280 2012-02-08  Richard Guenther  <rguenther@suse.de>
6281
6282         PR rtl-optimization/52170
6283         * simplify-rtx.c (simplify_plus_minus): Use CONSTM1_RTX to
6284         properly handle integer vector modes.
6285
6286 2012-02-08  Jakub Jelinek  <jakub@redhat.com>
6287
6288         PR gcov-profile/52150
6289         * coverage.c: Include target.h.
6290         (build_var): Call targetm.strip_name_encoding on the assembler name.
6291         Change one _ into . or $ if the target allows it.
6292         * Makefile.in (coverage.o): Depend on $(TARGET_H).
6293
6294         PR rtl-optimization/52139
6295         * cfgrtl.c (cfg_layout_merge_blocks): If BB_END
6296         is a BARRIER after emit_insn_after_noloc, move BB_END
6297         to the last non-BARRIER insn before it.
6298
6299 2012-02-07  Richard Sandiford  <rdsandiford@googlemail.com>
6300
6301         PR middle-end/24306
6302         * config/mips/mips.c (mips_std_gimplify_va_arg_expr): New function.
6303         (mips_gimplify_va_arg_expr): Call it instead of
6304         std_gimplify_va_arg_expr.
6305
6306 2012-02-07  Michael Meissner  <meissner@linux.vnet.ibm.com>
6307
6308         * config/rs6000/rs6000.c (rs6000_trampoline_init): Fix error
6309         message for -mno-pointers-to-nested-function.
6310
6311 2012-02-07  Eric Botcazou  <ebotcazou@adacore.com>
6312
6313         PR middle-end/51994
6314         * expr.c (get_inner_reference): If there is an offset, add a negative
6315         bit position to it (if any).
6316
6317 2012-02-07  Jakub Jelinek  <jakub@redhat.com>
6318
6319         PR rtl-optimization/52060
6320         * combine.c (try_combine): Add i0src_copy and i0src_copy2 variables,
6321         copy i1src to i1src_copy whenever added_sets_2 && i1_feeds_i2_n already
6322         before i1dest -> i1src substitution in newpat, copy i0src to i0src_copy
6323         and/or i0src_copy2 when needed.
6324
6325 2012-02-07  Jakub Jelinek  <jakub@redhat.com>
6326
6327         * gcc.c (main): Don't look for lto-wrapper or lto-wrapper
6328         or LTOPLUGINSONAME if have_c.
6329
6330         * config/freebsd-spec.h: Add comment about what macros can be defined
6331         in this header.
6332         (LINK_EH_SPEC, LINK_SSP_SPEC, USE_LD_AS_NEEDED): Don't define here.
6333         * config/freebsd.h (LINK_EH_SPEC, LINK_SSP_SPEC, USE_LD_AS_NEEDED): But
6334         here instead.
6335
6336 2012-02-07  Richard Guenther  <rguenther@suse.de>
6337
6338         * gimple-pretty-print.c (dump_gimple_phi): Avoid excessive
6339         newline in -alias dumps.
6340
6341 2012-02-07  Kai Tietz  <ktietz@redhat.com>
6342             Dave Korn  <dave.korn.cygwin@gmail.com>
6343
6344         PR target/40068
6345         * config/i386/winnt-cxx.c (i386_pe_adjust_class_at_definition):
6346         Take care that typinfo gets dllexport-attribute.
6347
6348 2012-02-07  Jakub Jelinek  <jakub@redhat.com>
6349
6350         PR middle-end/52074
6351         * expr.c (expand_expr_addr_expr_1): For CONSTANT_CLASS_P or CONST_DECL
6352         if modifier < EXPAND_SUM call force_operand on the result.
6353
6354 2012-02-07  Joern Rennecke  <joern.rennecke@embecosm.com>
6355
6356         * config/epiphany/epiphany.h (ASM_DECLARE_FUNCTION_SIZE): Redefine,
6357         adding __forwarder_dst__ prefix if a forwarder_section attribute is
6358         present.
6359         (epiphany_function_type): Replace types for specific interrupts with
6360         EPIPHANY_FUNCTION_INTERRUPT.
6361         (EPIPHANY_INTERRUPT_P): Update.
6362         * config/epiphany/epiphany.c (epiphany_handle_forwarder_attribute):
6363         New static function.
6364         (epiphany_attribute_table) <interrupt>: min_len is 0, max_len is 9.
6365         <disinterrupt>: Affects type identity.
6366         (epiphany_handle_interrupt_attribute): Handle variable number of
6367         arguments.
6368         (epiphany_compute_function_type): Update for new
6369         epiphany_function_type definition.
6370         (epiphany_expand_prologue): Don't save (reg:DI GPR_0) for interrupt
6371         handlers with a longcall forwarder.
6372         (epiphany_start_function): Handle multiple interrupt arguments and/or
6373         forwarder_section attribute.
6374
6375         * config/epiphany/epiphany.h (LIB_SPEC): Link libc again after
6376         libgloss.
6377
6378 2012-02-07  Alan Modra  <amodra@gmail.com>
6379
6380         PR target/52107
6381         * config/rs6000/rs6000.c (rs6000_emit_move): Don't create DImode
6382         subregs of TFmode.
6383
6384 2012-02-06  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
6385
6386         PR tree-optimization/50969
6387         * tree-vect-stmts.c (vect_model_store_cost): Correct statement cost to
6388         use vec_perm rather than vector_stmt.
6389         (vect_model_load_cost): Likewise.
6390         * config/i386/i386.c (ix86_builtin_vectorization_cost): Change cost of
6391         vec_perm to be the same as other vector statements.
6392         * config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost): Revise
6393         cost of vec_perm for TARGET_VSX.
6394
6395 2012-02-06  Richard Guenther  <rguenther@suse.de>
6396
6397         PR tree-optimization/52115
6398         * tree-sra.c (access_has_replacements_p): New function.
6399         (sra_modify_assign): Use it to decide whether a use is uninitialized.
6400
6401 2012-02-06  Patrick Marlier  <patrick.marlier@gmail.com>
6402
6403         PR middle-end/52047
6404         * trans-mem.c (expand_call_tm): Add an assertion.
6405         * calls.c (flags_from_decl_or_type): Add ECF_TM_PURE to 'no vops'
6406         functions.
6407
6408 2012-02-06  Richard Guenther  <rguenther@suse.de>
6409
6410         PR tree-optimization/50955
6411         * tree-ssa-loop-ivopts.c (get_computation_cost_at): Artificially
6412         raise cost of expressions that replace an address with an
6413         expression based on a different pointer.
6414
6415 2012-02-06  Jakub Jelinek  <jakub@redhat.com>
6416
6417         PR target/52129
6418         * calls.c (mem_overlaps_already_clobbered_arg_p): If val is
6419         CONST_INT_P, subtract resp. add crtl->args.pretend_args_size to it.
6420
6421 2012-02-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
6422
6423         PR c++/48680
6424         * doc/invoke.texi (C++ Dialect Options): Use @option markup for
6425         -Weffc++ and specify guidelines come from second edition.
6426
6427 2012-02-05  Richard Sandiford  <rdsandiford@googlemail.com>
6428
6429         * config/mips/mips.md (sibcall_internal, sibcall_value_internal)
6430         (sibcall_value_multiple_internal, call_split, call_internal_direct)
6431         (call_direct_split, call_value_split, call_value_internal_direct)
6432         (call_value_direct_split, call_value_multiple_split): Use jal and
6433         jal_macro attributes.
6434
6435 2012-02-05  Richard Sandiford  <rdsandiford@googlemail.com>
6436
6437         * reload1.c (reload_regs_reach_end_p): Replace with...
6438         (reload_reg_rtx_reaches_end_p): ...this function.
6439         (new_spill_reg_store): Update commentary.
6440         (emit_input_reload_insns): Don't clear new_spill_reg_store here.
6441         (emit_output_reload_insns): Check reload_reg_rtx_reaches_end_p
6442         before setting new_spill_reg_store.
6443         (emit_reload_insns): Use a separate loop to clear new_spill_reg_store.
6444         Use reload_reg_rtx_reaches_end_p instead of reload_regs_reach_end_p.
6445         Also use reload_reg_rtx_reaches_end_p when reading new_spill_reg_store
6446         for non-spill reload registers.
6447
6448 2012-02-05  Ira Rosen  <irar@il.ibm.com>
6449
6450         PR tree-optimization/52091
6451         * tree-vectorizer.h (vect_is_simple_use): Add an argument.
6452         (vect_is_simple_use_1): Likewise.
6453         * tree-vect-loop.c (vectorizable_reduction): Update calls
6454         to vect_is_simple_use_1 and vect_is_simple_use.
6455         (vectorizable_live_operation): Likewise.
6456         * tree-vect-patterns.c (widened_name_p,
6457         vect_recog_vector_vector_shift_pattern, check_bool_pattern): Likewise.
6458         * tree-vect-stmts.c (process_use, vect_get_vec_def_for_operand,
6459         vectorizable_call, vectorizable_conversion, vectorizable_assignment,
6460         vectorizable_shift,vectorizable_operation, vectorizable_store,
6461         vectorizable_load): Likewise.
6462         (vect_is_simple_cond): Add an argument, pass it to
6463         vect_is_simple_use_1.
6464         (vectorizable_condition): Update calls to vect_is_simple_cond,
6465         vect_is_simple_use.
6466         (vect_is_simple_use): Add an argument, the statement in which
6467         OPERAND is used.  Check that if OPERAND's def stmt is a double
6468         reduction phi node, the use is a phi node too.
6469         (vect_is_simple_use_1): Add an argument, pass it to
6470         vect_is_simple_use.
6471         * tree-vect-slp.c (vect_get_and_check_slp_defs): Update a call
6472         to vect_is_simple_use.
6473
6474 2012-02-04  Jakub Jelinek  <jakub@redhat.com>
6475
6476         PR rtl-optimization/52095
6477         * modulo-sched.c (dump_insn_locator): New function.
6478         (loop_canon_p, sms_schedule): Use it.
6479
6480         PR rtl-optimization/52113
6481         * lower-subreg.c (decompose_multiword_subregs): Call recog_memoized
6482         even for decomposable shift/zext insns.
6483
6484 2012-02-03  Jakub Jelinek  <jakub@redhat.com>
6485             Zdenek Dvorak  <ook@ucw.cz>
6486
6487         PR rtl-optimization/52092
6488         * loop-unswitch.c (unswitch_single_loop): Call copy_rtx_if_shared
6489         on get_iv_value result.
6490
6491 2012-02-02  Andrew Pinski  <apinski@cavium.com>
6492
6493         PR middle-end/47982
6494         PR middle-end/43967
6495         * doc/libgcc.texi (__udivmoddi4/__udivmodti4): Fix documentation typo.
6496
6497 2012-02-02  Jakub Jelinek  <jakub@redhat.com>
6498
6499         PR middle-end/48071
6500         * diagnostic.c (diagnostic_finish): Remove trailing newlines.
6501
6502 2012-02-02  Vladimir Makarov  <vmakarov@redhat.com>
6503
6504         PR rtl-optimization/49800
6505         * haifa-sched.c (sched_init): Call regstat_init_n_sets_and_refs.
6506         (sched_finish): Call regstat_free_n_sets_and_refs.
6507
6508 2012-02-02  Jia Liu  <proljc@gmail.com>
6509
6510         * config/mips/mips-dspr2.md (mips_prepend): Mask operand 3 rather
6511         than operand 2.
6512
6513 2012-02-02  Jan Hubicka  <jh@suse.cz>
6514             Tom de Vries  <tom@codesourcery.com>
6515
6516         PR middle-end/51998
6517         * cgraphunit.c (cgraph_analyze_function): Break cyclic aliases.
6518         * varpool.c (varpool_analyze_pending_decls): Likewise.
6519
6520 2012-02-02  Sumanth G <sumanth.gundapaneni@kpitcummins.com>
6521             Jayant R Sonar <jayant.sonar@kpitcummins.com>
6522
6523         * config.gcc: Add cr16-* support.
6524
6525         * doc/extend.texi: Document cr16 extensions.
6526         * doc/install.texi: Document cr16 install.
6527         * doc/invoke.texi: Document cr16 options.
6528         * doc/md.texi: Document cr16 constraints.
6529
6530         * common/config/cr16/cr16-common.c: New file.
6531         * config/cr16/cr16.c: New file.
6532         * config/cr16/cr16.h: New file.
6533         * config/cr16/cr16.md: New file.
6534         * config/cr16/cr16.opt: New file.
6535         * config/cr16/cr16-protos.h: New file.
6536         * config/cr16/predicates.md: New file.
6537         * config/cr16/constraints.md: New file.
6538         * config/cr16/t-cr16: New file.
6539
6540 2012-02-02  Jakub Jelinek  <jakub@redhat.com>
6541
6542         PR target/52086
6543         * config/i386/i386.md (*addqi_2 peephole with SImode addition): Check
6544         that operands[2] is either immediate, or q_regs_operand.
6545
6546         PR tree-optimization/52073
6547         * tree-vect-stmts.c (vect_mark_relevant): When checking uses of
6548         a pattern stmt for pattern uses, ignore uses outside of the loop.
6549
6550 2012-02-01  Georg-Johann Lay  <avr@gjlay.de>
6551
6552         * config/avr/avr.c: Resolve all AS1 and AS2 macros.
6553         * config/avr/avr.h (AS1, AS2, AS2C, AS3): Remove.
6554         (OUT_AS1, OUT_AS2): Remove.
6555
6556 2012-02-01  Georg-Johann Lay  <avr@gjlay.de>
6557
6558         PR rtl-optimization/51374
6559         * combine.c (can_combine_p): Don't allow volatile_refs_p insns
6560         to cross other volatile_refs_p insns.
6561
6562 2012-02-01  Richard Guenther  <rguenther@suse.de>
6563
6564         * doc/invoke.texi (fno-inline): Clarify documentation.
6565         (finline-small-functions): Likewise.
6566         (finline-functions): Likewise.
6567         * common.opt (finline): Adjust comment and documentation.
6568         (finline-small-functions): Clarify documentation.
6569         (finline-functions): Likewise.
6570         (finline-functions-called-once): Likewise.
6571
6572 2012-02-01  Tristan Gingold  <gingold@adacore.com>
6573
6574         * c-typeck.c (composite_type): Keep mode for pointers.
6575
6576 2012-01-31  Richard Sandiford  <rdsandiford@googlemail.com>
6577
6578         * function.h (regno_reg_rtx): Adjust comment.
6579         * reginfo.c (init_reg_modes_target): Only use the previous mode
6580         if it fits within one register.  Remove MIPS comment.
6581
6582 2012-01-31  Jakub Jelinek  <jakub@redhat.com>
6583
6584         PR bootstrap/52058
6585         * combine.c (do_SUBST_LINK, SUBST_LINK): Guard with #ifndef HAVE_cc0.
6586
6587 2012-01-31  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
6588
6589         * config/s390/s390.md ("*ashr<mode>3_and"): Add missing z196 flag
6590         to srak instruction.
6591
6592 2012-01-31  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
6593
6594         * config/arm/thumb2.md (thumb2_mov_notscc): Use MVN for true condition.
6595
6596 2012-01-31  Jakub Jelinek  <jakub@redhat.com>
6597
6598         PR bootstrap/52041
6599         PR bootstrap/52039
6600         PR target/51974
6601         * ipa-prop.c (detect_type_change_1): Call ao_ref_init.
6602
6603 2012-01-31  Richard Guenther  <rguenther@suse.de>
6604
6605         PR tree-optimization/51528
6606         * tree-sra.c (sra_modify_assign): Avoid copy-in/out for aggregate
6607         assigns.
6608
6609 2012-01-31  Jakub Jelinek  <jakub@redhat.com>
6610
6611         PR bootstrap/52041
6612         PR bootstrap/52039
6613         PR target/51974
6614         * ree.c (add_removable_extension): Change def_map argument
6615         to unsigned *, store in def_map 1 + offset into *insn_list vector
6616         instead of pointers into the vector.
6617         (find_removable_extensions): Adjust caller.
6618
6619 2012-01-30  Georg-Johann Lay  <avr@gjlay.de>
6620
6621         * config/avr/avr.md: Resolve all AS1 and AS2 macros.
6622         Transform all "* quoted-c-code" to { c-code }.
6623         Remove redundant test for "optimize" in combine patterns.
6624         Move (include "avr-dimode.md") to end of file.
6625
6626 2012-01-30  Bin Cheng  <bin.cheng@arm.com>
6627
6628         PR target/51835
6629         * config/arm/arm.c (arm_libcall_uses_aapcs_base): Use correct ABI
6630         for __aeabi_d2iz/__aeabi_d2uiz with hard-float.
6631
6632 2012-01-30  Richard Guenther  <rguenther@suse.de>
6633
6634         PR tree-optimization/52028
6635         * tree-loop-distribution.c (ldist_gen): Properly update
6636         virtual SSA form.
6637
6638 2012-01-30  Jakub Jelinek  <jakub@redhat.com>
6639
6640         PR debug/52027
6641         * dwarf2out.c (dwarf2out_switch_text_section): Don't call
6642         set_cur_line_info_table if not emitting debug info.
6643
6644         PR tree-optimization/52046
6645         * tree-vect-patterns.c (check_bool_pattern): Give up if
6646         a comparison could throw.
6647
6648         PR debug/52048
6649         * tree-ssa-tail-merge.c (local_def): Ignore debug uses.
6650
6651 2012-01-30  Richard Guenther  <rguenther@suse.de>
6652
6653         PR tree-optimization/52045
6654         * tree-optimize.c (execute_cleanup_cfg_post_optimizing): Update
6655         SSA form if cfgcleanup did anything.
6656
6657 2012-01-30  Richard Guenther  <rguenther@suse.de>
6658
6659         PR tree-optimization/52045
6660         * ipa-inline-transform.c (inline_transform): Call execute_fixup_cfg
6661         before computing final todo.
6662
6663 2012-01-30  Richard Guenther  <rguenther@suse.de>
6664
6665         PR tree-optimization/51528
6666         * tree-sra.c (sra_modify_assign): Re-factor in preparation
6667         for PR51528 fix.
6668
6669 2012-01-30  Paolo Bonzini  <bonzini@gnu.org>
6670
6671         * df-problems.c (df_kill_notes): Check that the use refers
6672         to the note under examination.
6673
6674 2012-01-30  Eric Botcazou  <ebotcazou@adacore.com>
6675
6676         PR target/51920
6677         * config/sparc/sparc.c (vector_init_fpmerge): Remove INNER_MODE
6678         parameter and use short-lived pseudos.
6679         (vector_init_faligndata): Remove INNER_MODE parameter and use loop.
6680         (sparc_expand_vector_init): Const-ify local variables and adjust
6681         calls to above functions.
6682
6683 2012-01-30  Georg-Johann Lay  <avr@gjlay.de>
6684
6685         * config/avr/avr.c (out_movqi_mr_r): Fix length computation.
6686
6687 2012-01-29  Sandra Loosemore  <sandra@codesourcery.com>
6688
6689         * doc/invoke.texi: Make usage of "compile time" and
6690         "run time"/"runtime" consistent throughout the file.
6691
6692 2012-01-29  Uros Bizjak  <ubizjak@gmail.com>
6693
6694         * config/alpha/alpha.c (alpha_option_override): Default to
6695         full IEEE compliance mode for Go language.
6696
6697 2011-01-29  Tijl Coosemans  <tijl@coosemans.org>
6698
6699         * config/freebsd-spec.h [TARGET_LIBC_PROVIDES_SSP]
6700         (LINK_SSP_SPEC): Define.
6701
6702 2012-01-28  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
6703
6704         PR target/51871
6705         * config/pa/pa.c (pa_return_addr_rtx): Add support for PA2.0 export
6706         stubs.
6707
6708 2012-01-28  Sandra Loosemore  <sandra@codesourcery.com>
6709
6710         * doc/invoke.texi: Correct hyphenation of "floating point",
6711         "double precision", and related terminology throughout the file.
6712
6713 2012-01-28  Jakub Jelinek  <jakub@redhat.com>
6714
6715         PR target/52006
6716         * config/arm/arm.md (pic_add_dot_plus_eight peephole2): Use
6717         arm_general_register_operand predicate for operand 2 instead of
6718         register_operand.
6719
6720 2012-01-27  Ian Lance Taylor  <iant@google.com>
6721
6722         PR go/47656
6723         * builtins.def (BUILT_IN_INIT_HEAP_TRAMPOLINE): Define.
6724         * builtins.c (expand_builtin_init_trampoline): Add onstack
6725         parameter.  Change caller.
6726         (expand_builtin): Handle BUILT_IN_INIT_HEAP_TRAMPOLINE.
6727         * tree.c (build_common_builtin_nodes): Declare
6728         __builtin_init_heap_trampoline.
6729
6730 2012-01-27  Georg-Johann Lay  <avr@gjlay.de>
6731
6732         * config/avr/avr-protos.h (lpm_reg_rtx, lpm_addr_reg_rtx,
6733         tmp_reg_rtx, zero_reg_rtx, all_regs_rtx, rampz_rtx): Make global.
6734         * config/avr/avr.c: Ditto.
6735         (avr_regnames): Remove because unused.
6736         * config/avr/avr.md (*cpse.ne): New peephole.
6737         (*cpse.eq): New peephole from former cpse peepholes.
6738
6739 2012-01-27  Michael Eager  <eager@eagercon.com>
6740
6741         * config/microblaze.c (microblaze_emit_compare): Correct
6742         test after pcmp instruction.
6743
6744 2012-01-27  Richard Guenther  <rguenther@suse.de>
6745
6746         PR tree-optimization/52020
6747         * tree-sra.c (sra_modify_assign): Do not transform clobbers.
6748
6749 2012-01-27  Richard Guenther  <rguenther@suse.de>
6750
6751         * ipa-pure-const.c (check_stmt): Clobbers do not make a
6752         function non-const/pure.
6753
6754 2012-01-27  Richard Guenther  <rguenther@suse.de>
6755
6756         PR tree-optimization/50444
6757         * tree-sra.c (build_ref_for_offset): Properly adjust the
6758         MEM_REF type for unaligned accesses.
6759
6760 2012-01-27  Richard Guenther  <rguenther@suse.de>
6761
6762         PR tree-optimization/50444
6763         * expr.c (mem_ref_refers_to_non_mem_p): New function.
6764         (expand_assignment): Use it.  Properly handle misaligned
6765         bases when expanding stores to component references.
6766         (expand_expr_real_1): Use mem_ref_refers_to_non_mem_p and
6767         refactor that case.
6768
6769 2012-01-27  Andrey Belevantsev  <abel@ispras.ru>
6770
6771         PR middle-end/51389
6772         * Makefile.in (tree-data-ref.o): Depend on $(PARAMS_H).
6773         * tree-data-ref.h (find_data_references_in_loop): Remove declaration.
6774         * tree-data-ref.c (find_data_references_in_loop): Make static.
6775         (compute_all_dependences): Change return type to bool.  Bail out
6776         for too many datarefs in a loop.  Move the hunk resetting the data
6777         dependences vector from ...
6778         (compute_data_dependences_for_loop): ... here.  Account for
6779         compute_all_dependences returning false.
6780         (compute_data_dependences_for_bb): Likewise.
6781         * params.def (PARAM_LOOP_MAX_DATAREFS_FOR_DATADEPS): New param.
6782         * doc/invoke.texi (loop-max-datarefs-for-datadeps): Document it.
6783
6784 2012-01-27  Richard Guenther  <rguenther@suse.de>
6785
6786         PR middle-end/51959
6787         * expr.c (store_field): Use the alias-set of the scratch memory
6788         for storing to it.
6789
6790 2012-01-27  Tom de Vries  <tom@codesourcery.com>
6791
6792         PR tree-optimization/51990
6793         * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Handle
6794         WITH_SIZE_EXPR.
6795         * tree-ssa-pre.c (create_component_ref_by_pieces_1): Same.
6796
6797 2012-01-27  Jakub Jelinek  <jakub@redhat.com>
6798
6799         PR debug/52001
6800         * var-tracking.c (reverse_op): Don't add any reverse operation
6801         if V already has any constant locations.
6802
6803 2012-01-27  Sandra Loosemore  <sandra@codesourcery.com>
6804
6805         * doc/invoke.texi: Correct usage of "command line" (noun)
6806         vs "command-line" (adjective) throughout.
6807
6808 2012-01-27  Sandra Loosemore  <sandra@codesourcery.com>
6809
6810         * doc/invoke.texi (Language Independent Options): Move
6811         -Wcoverage-mismatch blurb from here....
6812         (Warning Options): ...to here.
6813
6814 2012-01-27  Peter Bergner  <bergner@vnet.ibm.com>
6815
6816         * config/rs6000/rs6000.c (rs6000_option_override_internal):
6817         Set rs6000_always_hint to false for 476.
6818
6819 2012-01-27  Matthias Klose  <doko@ubuntu.com>
6820
6821         * gcc.c (add_sysrooted_prefix): Remove trailing dir separator from
6822           system root.
6823         * incpath.c (add_standard_paths): Likewise.
6824
6825 2012-01-27  Richard Henderson  <rth@redhat.com>
6826
6827         * config/m68k/m68k.c (TARGET_ATOMIC_TEST_AND_SET_TRUEVAL): New.
6828         * config/m68k/sync.md (atomic_test_and_set): Rename from
6829         sync_test_and_setqi and adjust the operands.
6830         (atomic_test_and_set_1): Rename from sync_test_and_setqi_1
6831         and unconditionally enable.
6832
6833 2012-01-27  Richard Henderson  <rth@redhat.com>
6834
6835         * config/sparc/sparc.c (TARGET_ATOMIC_TEST_AND_SET_TRUEVAL): New.
6836         * config/sparc/sync.md (atomic_test_and_set): Only handle QImode.
6837         (ldstub): Rename from ldstubqi.
6838         (ldstub<I24MODE>): Remove.
6839
6840 2012-01-27  Richard Henderson  <rth@redhat.com>
6841
6842         * target.def (TARGET_ATOMIC_TEST_AND_SET_TRUEVAL): New.
6843         * c-cppbuiltin.c (cpp_atomic_builtins): Define
6844         __GCC_ATOMIC_TEST_AND_SET_TRUEVAL.
6845         * doc/tm.texi.in (TARGET_ATOMIC_TEST_AND_SET_TRUEVAL): Add doc hook.
6846         * doc/tm.texi: Rebuild.
6847
6848 2012-01-27  Richard Henderson  <rth@redhat.com>
6849
6850         * optabs.c (gen_atomic_test_and_set): Remove default.
6851         (maybe_emit_atomic_test_and_set): Use maybe_expand_insn.
6852
6853 2012-01-26  Jakub Jelinek  <jakub@redhat.com>
6854
6855         PR rtl-optimization/51978
6856         * ree.c (make_defs_and_copies_lists): Change set_pat type to const_rtx.
6857         (combine_reaching_defs): Likewise.
6858         (struct re_info): Remove.
6859         (add_removable_extension): Remove x and data arguments,
6860         add insn, insn_list and def_map.  Use the arguments directly
6861         instead of using struct re_info.
6862         (find_removable_extensions): Don't call add_removable_extension
6863         through note_stores, instead just call it with single_set
6864         result if non-NULL.
6865         (find_and_remove_re): Pass curr_cand->expr instead of
6866         PATTERN (curr_cand->insn) as set_pat argument to combine_reaching_defs.
6867
6868 2012-01-26  Michael Matz  <matz@suse.de>
6869
6870         PR tree-optimization/46590
6871         * cfgexpand.c: Revert last change (r183305).
6872         * gimplify.c (gimplify_bind_expr): Add clobbers for all non-gimple
6873         regs.
6874         * tree-eh.c (cleanup_empty_eh): Try to optimize clobbers before
6875         checking for emptiness.
6876
6877 2012-01-26  Jakub Jelinek  <jakub@redhat.com>
6878
6879         PR middle-end/51895
6880         * expr.c (expand_expr_real_1): Handle BLKmode MEM_REF of
6881         non-addressable non-BLKmode base correctly.
6882
6883 2012-01-26  Michael Matz  <matz@suse.de>
6884
6885         PR tree-optimization/48794
6886         * tree-eh.c (remove_unreachable_handlers_no_lp): Don't remove
6887         regions referenced from RESX/EH_DISPATCH.
6888
6889 2012-01-26  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
6890
6891         * config/s390/s390.h: Make BRANCH_COST an option.
6892         * config/s390/s390.opt: New option -mbranch-cost.
6893
6894 2012-01-26  Richard Henderson  <rth@redhat.com>
6895
6896         Revert 2012-01-24 change:
6897         * trans-mem.c (requires_barrier): Do not instrument thread local
6898         variables and emit save/restore for them.
6899
6900 2012-01-25  Jakub Jelinek  <jakub@redhat.com>
6901
6902         PR middle-end/51986
6903         * sched-deps.c (sched_get_condition_with_rev_uncached): Don't test
6904         for pat == 0.
6905
6906 2012-01-25  Richard Sandiford  <rdsandiford@googlemail.com>
6907
6908         * config/mips/mips.c (mips_small_data_pattern_1): Don't process
6909         ASM_OPERANDS.
6910
6911 2012-01-25  Georg-Johann Lay  <avr@gjlay.de>
6912
6913         PR target/49868
6914         Rename __pgm to __flash.
6915         Rename __pgm1 to __flash1.
6916         Rename __pgm2 to __flash2.
6917         Rename __pgm3 to __flash3.
6918         Rename __pgm4 to __flash4.
6919         Rename __pgm5 to __flash5.
6920         Rename __pgmx to __memx.
6921         * doc/extend.texi (AVR Named Address Spaces)
6922         Rename address space names as indicated above.
6923         * config/avr/avr.c (avr_addrspace): Ditto.
6924
6925         * config/avr/avr-protos.h
6926         (avr_mem_pgmx_p): Rename to avr_mem_memx_p.
6927         (avr_mem_pgm_p): Rename to avr_mem_flash_p.
6928         * config/avr/predicates.md: Ditto.
6929         * config/avr/avr.c Ditto, and
6930         (avr_decl_pgmx_p): Rename to avr_decl_memx_p.
6931         (avr_decl_pgm_p): Rename to avr_decl_flash_p.
6932
6933         * config/avr/avr.h (ADDR_SPACE_PGM): Rename to ADDR_SPACE_FLASH.
6934         (ADDR_SPACE_PGM1): Rename to ADDR_SPACE_FLASH1.
6935         (ADDR_SPACE_PGM2): Rename to ADDR_SPACE_FLASH2.
6936         (ADDR_SPACE_PGM3): Rename to ADDR_SPACE_FLASH3.
6937         (ADDR_SPACE_PGM4): Rename to ADDR_SPACE_FLASH4.
6938         (ADDR_SPACE_PGM5): Rename to ADDR_SPACE_FLASH5.
6939         (ADDR_SPACE_PGMX): Rename to ADDR_SPACE_MEMX.
6940         * config/avr/avr.c: Ditto.
6941         * config/avr/avr.md: Ditto.
6942
6943 2012-01-25  Jason Merrill  <jason@redhat.com>
6944
6945         PR c++/51992
6946         * tree.c (find_decls_types_in_node): Walk gimple_call_fntype.
6947
6948 2012-01-25  Jakub Jelinek  <jakub@redhat.com>
6949
6950         PR tree-optimization/51987
6951         * tree-data-ref.c (get_references_in_stmt): Handle references in
6952         non-volatile GIMPLE_ASM.
6953
6954 2012-01-25  Richard Guenther  <rguenther@suse.de>
6955
6956         * tree-ssa-sccvn.c (vn_reference_eq): Also compare if both
6957         bases are dereferenced.
6958
6959 2012-01-25  Andrey Belevantsev  <abel@ispras.ru>
6960
6961         PR rtl-optimization/48374
6962         * sel-sched-ir.h (get_all_loop_exits): Check for zero successors.
6963
6964 2012-01-25  Andrey Belevantsev  <abel@ispras.ru>
6965
6966         * tree-predcom.c (tree_predictive_commoning_loop): Bail out when
6967         compute_data_dependences_for_loop returns false.
6968         * tree-parloops.c (loop_parallel_p): Likewise.
6969
6970 2012-01-25  Richard Guenther  <rguenther@suse.de>
6971
6972         * tree.h (get_pointer_alignment_1): Declare.
6973         * builtins.c (get_pointer_alignment_1): New function.
6974         (get_pointer_alignment): Use it.
6975
6976 2012-01-25  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
6977
6978         PR rtl-optimization/48308
6979         * combine.c (enum undo_kind): Add UNDO_LINKS.
6980         (struct undo): Add member l to other_contents and where.
6981         (do_SUBST_LINK): New.
6982         (SUBST_LINK): New.
6983         (try_combine): Handle LOG_LINKS for the dummy i1 case.
6984         (undo_all): Handle UNDO_LINKS.
6985
6986 2012-01-25  Richard Henderson  <rth@redhat.com>
6987
6988         * optabs.c (maybe_emit_atomic_test_and_set): Allow non-QImode
6989         mem inputs.
6990
6991 2012-01-24  Richard Sandiford  <rdsandiford@googlemail.com>
6992
6993         * optabs.c (gen_atomic_test_and_set): Use each argument.
6994
6995 2012-01-24  Richard Sandiford  <rdsandiford@googlemail.com>
6996
6997         * config/mips/mips-ps-3d.md (mips_addr_ps, reduc_splus_v2sf)
6998         (mips_cvt_pw_ps, mips_cvt_ps_pw, mips_mulr_ps, mips_cabs_cond_<fmt>)
6999         (mips_cabs_cond_4s, mips_cabs_cond_ps, bc1any4t, bc1any4f, bc1any2t)
7000         (bc1any2f, mips_rsqrt1_<fmt>, mips_rsqrt2_<fmt>, mips_recip1_<fmt>)
7001         (mips_recip2_<fmt>): Require TARGET_MIPS3D rather than
7002         TARGET_PAIRED_SINGLE_FLOAT.
7003
7004 2012-01-24  Richard Sandiford  <rdsandiford@googlemail.com>
7005
7006         * doc/rtl.texi (MEM_IN_STRUCT_P, MEM_SCALAR_P): Delete.
7007         (in_struct, return_val): Remove MEM documentation.
7008         * rtl.h (rtx_def): Remove MEM meanings from in_struct and return_val.
7009         (MEM_IN_STRUCT_P, MEM_SCALAR_P): Delete.
7010         (MEM_COPY_ATTRIBUTES): Remove references to MEM_IN_STRUCT_P
7011         and MEM_SCALAR.
7012         * emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
7013         * cfgexpand.c (add_alias_set_conflicts): Likewise.
7014         * expr.c (store_field): Likewise.
7015         * function.c (assign_stack_temp_for_type): Likewise.
7016         * ifcvt.c (noce_try_cmove_arith): Likewise.
7017         * reload1.c (reload): Likewise.
7018         * config/alpha/alpha.c (alpha_set_memflags_1): Likewise.
7019         (alpha_set_memflags): Likewise.
7020         * config/m32c/m32c.c (m32c_immd_dbl_mov): Nullify.
7021
7022 2012-01-24  Richard Sandiford  <rdsandiford@googlemail.com>
7023
7024         * rtl.h (true_dependence, canon_true_dependence): Remove varies
7025         parameter.
7026         * alias.c (fixed_scalar_and_varying_struct_p): Delete.
7027         (true_dependence_1, write_dependence_p, may_alias_p): Don't call it.
7028         (true_dependence_1, true_dependence, canon_true_dependence): Remove
7029         varies parameter.
7030         * cselib.c (cselib_rtx_varies_p): Delete.
7031         (cselib_invalidate_mem): Update call to canon_true_dependence.
7032         * dse.c (record_store, check_mem_read_rtx): Likewise.
7033         (scan_reads_nospill): Likewise.
7034         * cse.c (check_dependence): Likewise.
7035         (cse_rtx_varies_p): Delete.
7036         * expr.c (safe_from_p): Update call to true_dependence.
7037         * ira.c (validate_equiv_mem_from_store): Likewise.
7038         (memref_referenced_p): Likewise.
7039         * postreload-gcse.c (find_mem_conflicts): Likewise.
7040         * sched-deps.c (sched_analyze_2): Likewise.
7041         * store-motion.c (load_kills_store): Likewise.
7042         * config/frv/frv.c (frv_registers_conflict_p_1): Likewise.
7043         * gcse.c (mems_conflict_for_gcse_p): Likewise.
7044         (compute_transp): Update call to canon_true_dependence.
7045
7046 2012-01-25  Richard Henderson  <rth@redhat.com>
7047
7048         * optabs.c (CODE_FOR_atomic_test_and_set): Provide default.
7049         (maybe_emit_atomic_test_and_set): New.
7050         (expand_sync_lock_test_and_set): Use it.
7051         (expand_atomic_test_and_set): Likewise.
7052         * doc/extend.texi (__atomic_test_and_set): Adjust the docs to match
7053         the implementation; clarify implementation defined details.
7054         * doc/md.texi (atomic_test_and_set): Document.
7055
7056 2012-01-25  Richard Henderson  <rth@redhat.com>
7057
7058         * config/sparc/predicates.md (zero_or_v7_operand): Use match_code.
7059
7060 2012-01-25  Richard Henderson  <rth@redhat.com>
7061
7062         PR target/51968
7063         * config/arm/arm.c (neon_split_vcombine): Emit deleted note
7064         to effect no-op split.
7065
7066 2012-01-24  Aldy Hernandez  <aldyh@redhat.com>
7067
7068         PR lto/51698
7069         * builtin-types.def: (BT_CONST_DOUBLE_PTR): New.
7070         (BT_FN_VOID_PTR_CONST_PTR_SIZE): New.
7071         (BT_FN_VOID_PTR_INT_SIZE): New.
7072         (BT_FN_UINT_UINT_VAR): Remove.
7073         (BT_FN_UINT32_UINT32_VAR): New.
7074         (BT_FN_DOUBLE_VPTR): Remove.
7075         (BT_FN_DOUBLE_CONST_DOUBLE_PTR): New.
7076
7077         * gtm-builtins.def (_ITM_abortTransaction): Set return type to void.
7078         (_ITM_changeTransactionMode): Same.
7079         (_ITM_memmoveRtWt): Change return type to void.
7080         (_ITM_memcpyRtWt): Same.
7081         (_ITM_memsetW): Same.
7082         (_ITM_RaRD): Change types to double.
7083         (_ITM_RD): Same.
7084         (_ITM_RaWD): Same.
7085         (_ITM_RfWD): Same.
7086
7087         * builtins.def (DEF_TM_BUILTIN): Set BOTH_P to true.
7088
7089 2012-01-24  Aldy Hernandez  <aldyh@redhat.com>
7090             Patrick Marlier  <patrick.marlier@gmail.com>
7091
7092         * trans-mem.c (requires_barrier): Do not instrument thread local
7093         variables and emit save/restore for them.
7094
7095 2012-01-24  Jason Merrill  <jason@redhat.com>
7096
7097         PR c++/51812
7098         * cgraphunit.c (cgraph_decide_is_function_needed): Don't always
7099         output static aliases.
7100
7101 2012-01-24  Jakub Jelinek  <jakub@redhat.com>
7102
7103         PR driver/47249
7104         * common.opt (-pie, -shared, pie, shared): Change from Common to
7105         Driver.
7106         * gcc.c (display_help): Display help for -pie and -shared.
7107
7108 2012-01-24  Georg-Johann Lay  <avr@gjlay.de>
7109
7110         PR target/49868
7111         * doc/extend.texi (AVR Named Address Spaces): Move sample code up.
7112         Remove note on size/offset limitation.
7113         (AVR Variable Attributes): Add example how to read data located
7114         with progmem.  Refer to named address spaces.
7115         * doc/invoke.texi (AVR Options): Fix typo.
7116
7117 2012-01-24  Richard Guenther  <rguenther@suse.de>
7118
7119         Forward-port to trunk
7120         2010-09-21  Jakub Jelinek  <jakub@redhat.com>
7121
7122         PR middle-end/45678
7123         * expr.c (expand_expr_real_1) <case VIEW_CONVERT_EXPR>: If
7124         op0 isn't sufficiently aligned and there is movmisalignM
7125         insn for mode, use it to load op0 into a temporary register.
7126
7127 2012-01-24  Jakub Jelinek  <jakub@redhat.com>
7128
7129         PR target/51957
7130         * target.def (const_not_ok_for_debug_p): New hook.
7131         * doc/tm.texi.in (TARGET_CONST_NOT_OK_FOR_DEBUG_P): New hook
7132         documentation.
7133         * doc/tm.texi: Regenerated.
7134         * dwarf2out.c (const_ok_for_output_1): If
7135         targetm.const_not_ok_for_debug_p returns true, fail.
7136         * config/rs6000/rs6000.c (rs6000_const_not_ok_for_debug_p): New
7137         function.
7138         (TARGET_CONST_NOT_OK_FOR_DEBUG_P): Redefine.
7139
7140 2012-01-23  Kai Tietz  <ktietz@redhat.com>
7141
7142         PR target/51900
7143         * config/i386/predicates.md (symbolic_operand): Allow
7144         UNSPEC_PCREL as PIC expression for lea.
7145         * config/i386/winnt.c (i386_pe_binds_local_p): Reworked.
7146         * config/i386/i386.c (ix86_delegitimize_address): Handle
7147         UNSPEC_PCREL for none-MEM, too.
7148
7149 2012-01-23  Aldy Hernandez  <aldyh@redhat.com>
7150
7151         * trans-mem.c (ipa_tm_create_version): Set externally_visible.
7152         (ipa_tm_create_version_alias): Same.
7153
7154 2012-01-23  Uros Bizjak  <ubizjak@gmail.com>
7155
7156         PR libitm/51830
7157         * builtin-types.def (BT_FN_UINT_UINT_VAR): New.
7158         * gtm-builtins.def (BUILT_IN_TM_START): Declare as BT_FN_UINT_UINT_VAR.
7159
7160 2012-01-23  Aldy Hernandez  <aldyh@redhat.com>
7161             Patrick Marlier  <patrick.marlier@gmail.com>
7162             Iain Sandoe  <developer@sandoe-acoustics.co.uk>
7163
7164         PR lto/51916
7165         * lto-wrapper.c (run_gcc): Pass the LTO section name to
7166         simple_object_start_read.
7167
7168 2012-01-23  Richard Guenther  <rguenther@suse.de>
7169
7170
7171         PR tree-optimization/51895
7172         * tree-sra.c (decide_one_param_reduction): Avoid sub-optimal
7173         parameter decomposition into BLKmode components.
7174
7175 2012-01-23  Eric Botcazou  <ebotcazou@adacore.com>
7176
7177         * tree-ssa-structalias.c (intra_create_variable_infos): Do not create
7178         fake variables for restrict-qualified pointers whose pointed-to type
7179         contains a placeholder.
7180
7181 2012-01-23  Richard Guenther  <rguenther@suse.de>
7182
7183         PR tree-optimization/51949
7184         * ipa-split.c (execute_split_functions): Do not split malloc functions.
7185
7186 2012-01-23  Jakub Jelinek  <jakub@redhat.com>
7187
7188         PR rtl-optimization/51933
7189         * ree.c (transform_ifelse): Return true right away if dstreg is
7190         already wider or equal to cand->mode.
7191         (enum ext_modified_kind, struct ext_modified, ext_state): New types.
7192         (make_defs_and_copies_lists): Remove defs_list and copies_list
7193         arguments, add state argument, just truncate state->work_list
7194         instead of always allocating and freeing the vector.  Assert that
7195         get_defs succeeds instead of returning 2.  Changed return type to bool.
7196         (merge_def_and_ext): Add state argument.  If SET_DEST doesn't
7197         have ext_src_mode, see if it has been modified already with the
7198         right kind of extension and has been extended before from the
7199         ext_src_mode.  If SET_DEST is already wider or equal to cand->mode,
7200         just return true.  Remember the original mode in state->modified array.
7201         (combine_reaching_defs): Add state argument.  Don't allocate and
7202         free here def_list, copied_list and vec vectors, instead just
7203         VEC_truncate the vectors in *state.  Don't handle outcome == 2 here.
7204         (find_and_remove_re): Set DF_DEFER_INSN_RESCAN df flag.
7205         Add state variable, clear vectors in it, initialize state.modified
7206         if needed.  Free all the vectors at the end and state.modified too.
7207         Don't skip a candidate if the extension expression has been modified.
7208
7209 2012-01-22  Douglas B Rupp  <rupp@gnat.com>
7210
7211         PR target/47096
7212         * config.gcc: (i[34567]86-*-interix3*): Remove from obsolete
7213          configurations. Change triplet to i[34567]86-*-interix[3-9]*.
7214         (extra_options) interix.opt -> i386/interix.opt"
7215         (extra_objs):Add winnt-stubs.o
7216         * configure.ac: Add interix to target_os .comm on PE check.
7217         * configure: Regenerate.
7218         * config/interix3.h: Delete and move bits to..
7219         * config/interix.h: Delete and move bits to..
7220         * config/i386/i386-interix3.h: Delete and move bits to..
7221         * config/i386/i386-interix.h: ..here.
7222         (TARGET_CPU_DEFAULT): Remove redefinition.
7223         (TARGET_ASM_CONSTRUCTOR): Undefine.
7224         (SUBTARGET_SWITCHES): Define for ms-bitfields.
7225         (TARGET_OS_CPP_BUILTINS): Remove __OPENNT. Add __declspec.
7226         (PTRDIFF_TYPE): Define.
7227         (LONG_DOUBLE_TYPE_SIZE): Define.
7228         (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define.
7229         (SUBTARGET_OVERRIDE_OPTIONS): Remove.
7230         (TARGET_SECTION_TYPE_FLAGS): Define.
7231         (ASM_DECLARE_FUNCTION_NAME): Define.
7232         (ASM_OUTPUT_EXTERNAL): Define.
7233         (ASM_OUTPUT_EXTERNAL_LIBCALL): Define.
7234         (ASM_OUTPUT_ALIGNED_BSS): Define.
7235         (PCC_BITFIELD_TYPE_MATTERS): Define.
7236         (USE_CONST_SECTION): Define.
7237         (SUBTARGET_ENCODE_SECTION_INFO): Remove.
7238         (TARGET_ASM_FUNCTION_RODATA_SECTION): Remove.
7239         (SUPPORTS_ONE_ONLY): Remove.
7240         (I386_PE_STRIP_ENCODING): Define.
7241         * config/interix.opt: Delete and move bits to..
7242         * config/i386/interix.opt: ..here. New.
7243         (mpe-aligned-commons): Add.
7244         * config/i386/t-interix: Add copyright header.
7245         (winnt-stubs.o): Add rule.
7246
7247 2012-01-22  Jason Merrill  <jason@redhat.com>
7248
7249         PR c++/51832
7250         * varpool.c (varpool_analyze_pending_decls): Copy DECL_EXTERNAL
7251         for extra name aliases.
7252
7253 2012-01-22  Eric Botcazou  <ebotcazou@adacore.com>
7254
7255         PR rtl-optimization/51924
7256         * ree.c (combine_set_extension): Improve debugging message.
7257         (combine_reaching_defs): Likewise.
7258         (get_defs): Rename confusingly named variable.
7259         (find_and_remove_re): Skip a candidate if the extension expression has
7260         been modified.
7261
7262 2012-01-21  Robert Millan  <rmh@gnu.org>
7263             Gerald Pfeifer  <gerald@pfeifer.com>
7264
7265         * config/kfreebsd-gnu.h (GNU_USER_DYNAMIC_LINKERX32): New macro.
7266         (GNU_USER_DYNAMIC_LINKER): Adjust indentation.
7267
7268 2012-01-20  Jakub Jelinek  <jakub@redhat.com>
7269
7270         PR tree-optimization/51914
7271         * tree-vect-stmts.c (vectorizable_conversion): For
7272         cvt_type && modifier == WIDEN, put temporary with cvt_type
7273         at the beginning of vec_dsts and set vec_dest to temporary
7274         with vectype_out.
7275
7276 2012-01-20  Eric Botcazou  <ebotcazou@adacore.com>
7277
7278         * cfgrtl.c (rtl_dump_bb): Do not dump insns for {ENTRY|EXIT}_BLOCK.
7279
7280 2011-01-20  Tijl Coosemans  <tijl@coosemans.org>
7281
7282         * config/i386/i386.c: Fix checks for !TARGET_MACHO.
7283         * config/rs6000/rs6000.c: Likewise.
7284
7285 2012-01-20  Jakub Jelinek  <jakub@redhat.com>
7286
7287         PR target/51915
7288         * config/arm/arm.c (arm_count_output_move_double_insns): Call
7289         output_move_double on a copy of operands array.
7290
7291 2012-01-20  Cary Coutant  <ccoutant@google.com>
7292             Dodji Seketeli  <dodji@redhat.com>
7293
7294         PR debug/45682
7295         * dwarf2out.c (copy_declaration_context): Return ref to parent
7296         of declaration DIE, if necessary.
7297         (remove_child_or_replace_with_skeleton): Add new parameter; update
7298         caller.  Place skeleton DIE under parent DIE of original declaration.
7299         Move call to copy_declaration_context to here ...
7300         (break_out_comdat_types): ... from here.
7301
7302 2012-01-20  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
7303
7304         PR rtl-optimization/51856
7305         * reload.c (find_reloads_subreg_address): Set the address_reloaded
7306         flag to reloaded.
7307
7308 2012-01-20  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
7309
7310         PR target/51819
7311         * config/arm/arm.c (arm_print_operand): Correct output of alignment
7312         hints for neon loads and stores.
7313
7314 2012-01-20  Georg-Johann Lay  <avr@gjlay.de>
7315
7316         PR target/49868
7317         PR target/50887
7318         * doc/extend.texi (Named Address Spaces): Split into subsections.
7319         (AVR Named Address Spaces): New subsection.
7320         (M32C Named Address Spaces): New subsection.
7321         (RL78 Named Address Spaces): New subsection.
7322         (SPU Named Address Spaces): New subsection.
7323         (Variable Attributes): New anchor "AVR Variable Attributes".
7324         (AVR Variable Attributes): Rewrite and avoid wording
7325         "address space" in this context.
7326         * doc/invoke.texi (AVR Options): Rewrite and add documentation
7327         for -maccumulate-args, -mbranch-cost=, -mrelax, -mshort-calls.
7328         (AVR Built-in Macros): New subsubsection therein.
7329         * doc/md.texi (AVR constraints): Remove "C04", "R".
7330
7331 2012-01-20  Richard Guenther  <rguenther@suse.de>
7332
7333         PR tree-optimization/51903
7334         * tree-ssa-pre.c (eliminate): Properly purging of EH edges
7335         when removing stmts.
7336
7337 2012-01-20  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
7338
7339         PR target/50313
7340         * config/arm/arm.c (arm_load_pic_register): Use
7341         gen_pic_load_addr_unified. Delete calls to gen_pic_load_addr_32bit
7342         , gen_pic_add_dot_plus_eight and gen_pic_add_dot_plus_four.
7343         (arm_pic_static_addr): Likewise.
7344         (arm_rtx_costs_1): Adjust cost for UNSPEC_PIC_UNIFIED.
7345         (arm_note_pic_base): Handle UNSPEC_PIC_UNIFIED.
7346         * config/arm/arm.md (UNSPEC_PIC_UNIFIED): Define.
7347         (pic_load_addr_unified): New.
7348
7349 2012-01-20  Andrey Belevantsev  <abel@ispras.ru>
7350
7351         PR target/51106
7352         * function.c (instantiate_virtual_regs_in_insn): Use
7353         delete_insn_and_edges when removing a wrong asm insn.
7354
7355 2012-01-19  Vladimir Makarov  <vmakarov@redhat.com>
7356
7357         PR rtl-optimization/40761
7358         * ira-int.h (struct ira_loop_tree_node): Add comment for member loop.
7359         Add new member loop_num.
7360         (IRA_LOOP_NODE_BY_INDEX): Modify the check.
7361         (ira_build): Remove the parameter.
7362
7363         * ira.c (ira_print_disposition): Use loop_num instead of loop->num.
7364         (ira.c): Do not build CFG loops for one region allocation.  Remove
7365         argument from ira_build call.
7366
7367         * ira-build.c (init_loop_tree_node): New function.
7368         (create_loop_tree_nodes): Use it.  Separate the case when CFG
7369         loops are not built.
7370         (more_one_region_p): Check current_loops.
7371         (finish_loop_tree_nodes): Separate the case when CFG loops are not
7372         built.
7373         (add_loop_to_tree): Process loop equal to NULL too.
7374         (form_loop_tree): Separate the case when CFG loops are not built.
7375         Use explicitly number for the root.
7376         (rebuild_regno_allocno_maps, create_loop_tree_node_allocnos): Add
7377         an assertion.
7378         (ira_print_expanded_allocno, loop_compare_func): Use loop_num
7379         instead of loop->num.
7380         (mark_loops_for_removal): Ditto.  Use loop_num instead of loop->num.
7381         (mark_all_loops_for_removal): Ditto.
7382         (remove_unnecessary_regions): Separate the case when CFG loops
7383         are not built.
7384         (ira_build): Remove the parameter.  Use explicit number of regions
7385         when CFG loops are not built.
7386
7387         * ira-color.c (print_loop_title): Separate the case for the root node.
7388         Use loop_num instead of loop->num.
7389         (move_spill_restore): Use loop_num instead of loop->num.
7390
7391         * ira-emit.c (setup_entered_from_non_parent_p): Add an assertion.
7392         (change_loop): Ditto.
7393         (change_loop): Use loop_num instead of loop->num.
7394
7395         * ira-lives.c (process_bb_node_lives): Ditto.
7396
7397         * ira-costs.c (print_allocno_costs, find_costs_and_classes): Ditto.
7398
7399         * ira-conflicts.c (print_allocno_conflicts): Ditto.
7400
7401 2012-01-19  Jakub Jelinek  <jakub@redhat.com>
7402
7403         PR libmudflap/40778
7404         * tree-mudflap.c (mf_artificial): New function.
7405         (execute_mudflap_function_ops, execute_mudflap_function_decls,
7406         mx_register_decls, mudflap_enqueue_decl): Use it.
7407
7408         PR target/51876
7409         * config/arm/neon.md (*neon_vswp<mode>): Fix up operand
7410         numbers in the insn pattern.
7411
7412 2012-01-19  Michael Matz  <matz@suse.de>
7413
7414         PR tree-optimization/46590
7415         * cfgexpand.c (add_scope_conflicts_1): New old_conflicts argument,
7416         use it in remembering which conflicts we already created.
7417         (add_scope_conflicts): Adjust call to above, (de)allocate helper
7418         bitmap.
7419
7420 2012-01-19  Aldy Hernandez  <aldyh@redhat.com>
7421
7422         PR lto/51280
7423         * lto-wrapper.c (run_gcc): Pass -fgnu_tm on.
7424         (merge_and_complain): Same.
7425
7426 2012-01-19  Jakub Jelinek  <jakub@redhat.com>
7427
7428         PR bootstrap/50237
7429         * config/initfini-array.h: Guard content of the header
7430         with #ifdef HAVE_INITFINI_ARRAY.
7431         * configure.ac: Move gcc_AC_INITFINI_ARRAY much later into the file.
7432         Add initfini-array.h to tm_file here.
7433         * acinclude.m4 (gcc_AC_INITFINI_ARRAY): For non-ia64 do a linker test.
7434         * config.gcc: Don't add initfini-array.h to tm_file here.
7435         * configure: Regenerated.
7436
7437 2012-01-19  Andrey Belevantsev  <abel@ispras.ru>
7438
7439         PR rtl-optimization/51505
7440         * df-problems.c (df_kill_notes): New parameter live. Update comment.
7441         Remove REG_EQUAL/REG_EQUIV notes referring to dead registers.
7442         (df_note_bb_compute): Update the call to df_kill_notes.
7443
7444 2012-01-18  Aldy Hernandez  <aldyh@redhat.com>
7445
7446         * trans-mem.c (requires_barrier): Remove call to is_global_var.
7447
7448 2012-01-18  Richard Guenther  <rguenther@suse.de>
7449
7450         * tree-ssa.c (useless_type_conversion_p): Remove special-casing
7451         of conversions to void *.
7452
7453 2012-01-17  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
7454             Richard Sandiford  <rdsandiford@googlemail.com>
7455
7456         PR middle-end/50325
7457         PR middle-end/51192
7458         * optabs.h (simplify_expand_binop): Declare.
7459         * optabs.c (simplify_expand_binop): Make global.
7460         * expmed.c (store_bit_field_1): Use simplify_expand_binop on big
7461         endian targets if the source cannot be exactly covered by word
7462         mode chunks.
7463
7464 2012-01-17  Jakub Jelinek  <jakub@redhat.com>
7465
7466         PR bootstrap/51872
7467         * hard-reg-set.h (struct hard_reg_set_container): New type.
7468         * target.h (struct hard_reg_set_container): Forward declare.
7469         * target.def (set_up_by_prologue): New target hook.
7470         * doc/tm.texi.in (TARGET_SET_UP_BY_PROLOGUE): Document it.
7471         * doc/tm.texi: Regenerated.
7472         * function.c (thread_prologue_and_epilogue_insns): Change
7473         set_up_by_prologue HARD_REG_SET into struct hard_reg_set_container.
7474         Call targetm.set_up_by_prologue on it.
7475         * config/rs6000/rs6000.c (rs6000_set_up_by_prologue): New function.
7476         (TARGET_SET_UP_BY_PROLOGUE): Redefine to it.
7477
7478 2012-01-17  Nick Clifton  <nickc@redhat.com>
7479
7480         * config/rx/rx.c (rx_can_use_simple_return): New function.
7481         * config/rx/rx-protos.h (rx_can_use_simple_return): Prototype.
7482         * config/rx/rx.md (return): Predicate on rx_can_use_simple_return.
7483
7484 2012-01-17  Richard Guenther  <rguenther@suse.de>
7485
7486         PR middle-end/51782
7487         * expr.c (expand_assignment): Take address-space information
7488         from the address operand of MEM_REF and TARGET_MEM_REF.
7489         (expand_expr_real_1): Likewise.
7490
7491 2012-01-17  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
7492
7493         * ira.c (do_reload): Make sure ira_dump_file is re-set if no
7494         reload dump is requested.
7495
7496 2012-01-17  Aldy Hernandez  <aldyh@redhat.com>
7497
7498         PR other/51165
7499         * trans-mem.c (requires_barrier): Call may_be_aliased.
7500
7501 2012-01-17  Jakub Jelinek  <jakub@redhat.com>
7502
7503         PR tree-optimization/51877
7504         * tree-ssa-tail-merge.c (gimple_equal_p): Don't return true whenever
7505         call arguments and fndecls compare equal, instead return false if they
7506         don't.  Return true only if lhs1 and lhs2 are either both NULL, or
7507         both SSA_NAMEs that are valueized the same, or they satisfy
7508         operand_equal_p.
7509
7510 2012-01-17  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
7511
7512         * configure.ac (gcc_cv_target_dl_iterate_phdr): Only check on
7513         Solaris 11+.
7514         * configure: Regenerate.
7515
7516 2012-01-16  Jan Hubicka  <jh@suse.cz>
7517
7518         PR c/12245
7519         PR c++/14179
7520         * convert.c (convert_to_integer): Use fold_convert for
7521         converting an INTEGER_CST to integer type.
7522
7523 2012-01-16  Jason Merrill  <jason@redhat.com>
7524
7525         PR c++/14179
7526         * vec.c (vec_gc_o_reserve_1): Use ggc_round_alloc_size.
7527
7528 2012-01-16  Jakub Jelinek  <jakub@redhat.com>
7529
7530         PR bootstrap/51860
7531         * config/s390/s390.c (s390_chunkify_start): Don't skip
7532         call insns followed by NOTE_INSN_CALL_ARG_LOCATION note.  Skip
7533         NOTE_INSN_VAR_LOCATION and NOTE_INSN_CALL_ARG_LOCATION notes.
7534         If insn is followed by NOTE_INSN_VAR_LOCATION or
7535         NOTE_INSN_CALL_ARG_LOCATION notes, insert jump after all those notes.
7536         Don't use location of note insns.
7537
7538         PR tree-optimization/51865
7539         * tree-inline.c (tree_function_versioning): Call remap_decl
7540         on DECL_RESULT whenever it has VOID_TYPE_P type.
7541
7542 2012-01-15  Richard Sandiford  <rdsandiford@googlemail.com>
7543
7544         * config/mips/mips.c (mips16_build_call_stub): Don't use a stub
7545         for calls to locally-binding MIPS16 functions if only the return
7546         type uses float regs.
7547
7548 2012-01-15  Chung-Lin Tang  <cltang@codesourcery.com>
7549             Richard Sandiford  <rdsandiford@googlemail.com>
7550
7551         * config/mips/mips-protos.h (SYMBOL_FORCE_TO_MEM): Delete.
7552         (SYMBOL_32_HIGH): Likewise.
7553         (mips_output_tls_reloc_directive): Declare.
7554         * config/mips/mips.h (PIC_FUNCTION_ADDR_REGNUM): Move to mips.md.
7555         (mips_use_pcrel_pool_p, mips_lo_relocs, mips_hi_relocs): Declare.
7556         * config/mips/mips.c (mips_use_pcrel_pool_p): New variable.
7557         (mips_lo_relocs, mips_hi_relocs): Make extern.
7558         (mips16_stub_function): Move up file.
7559         (mips_classify_symbol): Remove SYMBOL_FORCE_TO_MEM handling.
7560         (mips_symbolic_constant_p): Likewise.  Remove SYMBOL_32_HIGH too.
7561         (mips_symbol_insns_1): Likewise.  Check mips_use_pcrel_pool_p.
7562         (mips_cannot_force_const_mem): Use mips_use_pcrel_pool_p instead of
7563         SYMBOL_FORCE_TO_MEM.  Only check mips_tls_symbol_ref_1 if it's false.
7564         (mips_get_tp): Add MIPS16 support.
7565         (mips_legitimize_tls_address): Remove MIPS16 sorry().
7566         Generalize DTPREL and TPREL handling.
7567         (mips_init_relocs): Initialize mips_use_pcrel_pool_p.
7568         Add MIPS16 TLS support.
7569         (mips_output_tls_reloc_directive): New function.
7570         (mips16_rewrite_pool_refs): Ignore UNSPEC_TLS_GET_TPs.
7571         * config/mips/predicates.md (symbolic_operand_with_high)
7572         (tls_reloc_operand): New predicates.
7573         (force_to_mem_operand): Use mips_use_pcrel_pool_p.
7574         * config/mips/mips.md (UNSPEC_UNSHIFTED_HIGH): New unspec.
7575         (PIC_FUNCTION_ADDR_REGNUM): Moved from mips.h.
7576         (*unshifted_high): New instruction.  Use it for MIPS16 high splitter.
7577         (consttable_tls_reloc, tls_get_tp_mips16_<mode>): New patterns.
7578         (*tls_get_tp_mips16_call_<mode>): Likewise.
7579
7580 2012-01-15  Uros Bizjak  <ubizjak@gmail.com>
7581
7582         PR rtl-optimization/51821
7583         * recog.c (peep2_find_free_register): Determine clobbered registers
7584         from insn pattern.
7585
7586 2012-01-14  Denis Chertykov  <chertykov@gmail.com>
7587
7588         PR target/50925
7589         * config/avr/avr-protos.h: Revert change of 2012-01-09.
7590         * config/avr/avr.c: Likewise.
7591         * config/avr/avr.h: Likewise.
7592
7593 2012-01-13  Ian Lance Taylor  <iant@google.com>
7594
7595         PR c++/50012
7596         * tree.h (TYPE_QUALS): Add cast to int.
7597         (TYPE_QUALS_NO_ADDR_SPACE): Likewise.
7598
7599 2012-01-13  Ian Lance Taylor  <iant@google.com>
7600
7601         * ipa-cp.c (ipa_get_indirect_edge_target): Add typecasts when
7602         comparing param_index to VEC_length result.
7603
7604 2012-01-13  Steven Bosscher  <steven@gcc.gnu.org>
7605
7606         * c-decl.c: Do not include tree-mudflap.h
7607         * tree-optimize.c: Likewise.
7608         * Makefile.in: Update dependencies.
7609
7610 2012-01-13  Richard Guenther  <rguenther@suse.de>
7611
7612         PR middle-end/8081
7613         * gimplify.c (gimplify_modify_expr_rhs): For calls with a
7614         variable-sized result always use RSO.
7615
7616 2012-01-12  DJ Delorie  <dj@redhat.com>
7617
7618         * cfgexpand.c (convert_debug_memory_address): Allow any valid
7619         pointer type, not just the default pointer type.
7620
7621 2012-01-09  Richard Henderson  <rth@redhat.com>
7622             Denis Chertykov  <chertykov@gmail.com>
7623
7624         PR target/50925
7625         * config/avr/avr-protos.h (avr_hard_regno_nregs): Declare.
7626         * config/avr/avr.c (avr_can_eliminate): Simplify.
7627         (avr_initial_elimination_offset): Likewise.
7628         (avr_prologue_setup_frame): Use hard_frame_pointer_rtx.
7629         (expand_epilogue): Likewise.
7630         (avr_legitimize_address): Gut.
7631         (avr_legitimize_reload_address): Use hard_frame_pointer_rtx.
7632         (avr_hard_regno_nregs): New.
7633         (avr_hard_regno_ok): Allow only Pmode for arg and frame_pointers.
7634         (avr_regno_mode_code_ok_for_base_b): Handle arg and frame pointers.
7635         * config/avr/avr.h (FIXED_REGISTERS): Adjust arg pointer,
7636         add soft frame pointer.
7637         (CALL_USED_REGISTERS): Likewise.
7638         (REG_CLASS_CONTENTS): Likewise.
7639         (REGISTER_NAMES): Likewise.
7640         (HARD_REGNO_NREGS): Use avr_hard_regno_nregs.
7641         (HARD_FRAME_POINTER_REGNUM): New.
7642         (FRAME_POINTER_REGNUM): Use soft frame pointer.
7643         (ELIMINABLE_REGS): Eliminate from the soft frame pointer,
7644         remove the HARD_FRAME_POINTER self-elimination.
7645
7646 2012-01-12  Georg-Johann Lay  <avr@gjlay.de>
7647
7648         PR target/51756
7649         * config/avr/avr.c (avr_encode_section_info): Test for absence of
7650         DECL_EXTERNAL when checking for initializers of progmem variables.
7651
7652 2012-01-12  Ira Rosen  <irar@il.ibm.com>
7653
7654         PR tree-optimization/51799
7655         * tree-vect-patterns.c (vect_recog_over_widening_pattern): Check
7656         that the last operation is a type demotion.
7657
7658 2012-01-12  Uros Bizjak  <ubizjak@gmail.com>
7659
7660         * config/i386/i386.md (*zero_extendsidi2_rex64): Correct movl template.
7661         (x86_shift<mode>_adj_1): Remove operand constraint from operand 3.
7662
7663 2012-01-11  Jakub Jelinek  <jakub@redhat.com>
7664
7665         PR bootstrap/51796
7666         * combine.c (distribute_notes): If i3 is a noreturn call,
7667         allow old_size to be equal to args_size and make sure the
7668         noreturn call gets REG_ARGS_SIZE note.
7669         * expr.c (fixup_args_size_notes): Put REG_ARGS_SIZE notes
7670         on noreturn calls even when the delta is 0.
7671
7672 2012-01-11  Nathan Sidwell  <nathan@acm.org>
7673
7674         * gcov.c (STRING_SIZE): Remove.
7675         (generate_results): Erase annotations for source files with no
7676         coverage information.
7677         (read_line): New.
7678         (output_lines): Use it.
7679
7680 2012-01-11  Eric Botcazou  <ebotcazou@adacore.com>
7681
7682         * gimple.h (gimplify_body): Remove first argument.
7683         * gimplify.c (copy_if_shared): Add DATA argument.  Do not create the
7684         pointer set here, instead just pass DATA to walk_tree.
7685         (unshare_body): Remove BODY_P argument and adjust.  Create the pointer
7686         set here and invoke copy_if_shared on the size trees of DECL_RESULT.
7687         (unvisit_body): Likewise, but with unmark_visited.
7688         (gimplify_body): Remove BODY_P argument and adjust.
7689         (gimplify_function_tree): Adjust call to gimplify_body.
7690         * omp-low.c (finalize_task_copyfn): Likewise.
7691
7692 2012-01-11  Eric Botcazou  <ebotcazou@adacore.com>
7693
7694         * tree.h (build_function_decl_skip_args): Add boolean parameter.
7695         (build_function_type_skip_args): Delete.
7696         * tree.c (build_function_type_skip_args): Make static and add
7697         SKIP_RETURN parameter.  Fix thinko in the handling of variants.
7698         (build_function_decl_skip_args): Add SKIP_RETURN parameter and
7699         pass it to build_function_type_skip_args.
7700         * cgraph.h (cgraph_function_versioning): Add boolean parameter.
7701         (tree_function_versioning): Likewise.
7702         * cgraph.c (cgraph_create_virtual_clone): Adjust call to
7703         build_function_decl_skip_args.
7704         * cgraphunit.c (cgraph_function_versioning): Add SKIP_RETURN parameter
7705         and pass it to build_function_decl_skip_args/tree_function_versioning.
7706         (cgraph_materialize_clone): Adjust call to tree_function_versioning.
7707         * ipa-inline-transform.c (save_inline_function_body): Likewise.
7708         * trans-mem.c (ipa_tm_create_version): Likewise.
7709         * tree-sra.c (modify_function): Ditto for cgraph_function_versioning.
7710         * tree-inline.c (declare_return_variable): Remove always-true test.
7711         (tree_function_versioning): Add SKIP_RETURN parameter.  If the function
7712         returns non-void and SKIP_RETURN, create a void-typed RESULT_DECL.
7713         * ipa-split.c (split_function): Skip the return value for the split
7714         part if it doesn't return.
7715
7716 2012-01-11  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
7717
7718         PR tree-optimization/49642
7719         * ipa-split.c (forbidden_dominators): New variable.
7720         (check_forbidden_calls): New function.
7721         (dominated_by_forbidden): Likewise.
7722         (consider_split): Check for forbidden dominators.
7723         (execute_split_functions): Initialize and free forbidden
7724         dominators info; call check_forbidden_calls.
7725
7726 2012-01-11  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
7727
7728         * config/arm/arm.md (mov_notscc): Use MVN for false condition.
7729
7730 2012-01-11  Nick Clifton  <nickc@redhat.com>
7731
7732         * config/rx/rx.md (return): Define pattern.
7733
7734 2012-01-11  Richard Guenther  <rguenther@suse.de>
7735
7736         * doc/extend.texi (malloc attribute): Adjust according to
7737         implementation.
7738
7739 2012-01-10  Aldy Hernandez  <aldyh@redhat.com>
7740             Patrick Marlier  <patrick.marlier@gmail.com>
7741
7742         PR middle-end/51516
7743         * trans-mem.c (get_cg_data): Traverse aliases if requested.
7744         (ipa_tm_scan_calls_block): Update parameters to get_cg_data.
7745         (ipa_tm_note_irrevocable): Same.
7746         (ipa_tm_scan_irr_block): Same.
7747         (ipa_tm_decrement_clone_counts): Same.
7748         (ipa_tm_scan_irr_function): Same.
7749         (ipa_tm_create_version_alias): Same.
7750         (ipa_tm_create_version): Same.
7751         (ipa_tm_transform_calls_redirect): Same.
7752         (ipa_tm_transform_calls): Same.
7753         (ipa_tm_transform_transaction): Same.
7754         (ipa_tm_execute): Same.
7755
7756 2012-01-10  Richard Guenther  <rguenther@suse.de>
7757
7758         PR middle-end/51806
7759         * opts.c (common_handle_option): Handle -Werror.
7760
7761 2012-01-10  Andreas Schwab  <schwab@linux-m68k.org>
7762
7763         * config/m68k/sync.md ("atomic_compare_and_swap<mode>_1"): Fix
7764         operand number.
7765
7766 2012-01-10  Jason Merrill  <jason@redhat.com>
7767
7768         * doc/invoke.texi (C++ Dialect Options): Update -fabi-version=6
7769         information.
7770
7771 2012-01-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
7772
7773         * configure.ac (gcc_cv_as_ix86_tlsgdplt): Check if linker
7774         supports R_386_TLS_GD_PLT reloc.
7775         (gcc_cv_as_ix86_tlsldmplt): Check if linker
7776         supports R_386_TLS_LDM_PLT reloc.
7777         * configure: Regenerate.
7778         * config.in: Regenerate.
7779
7780 2012-01-10  Georg-Johann Lay  <avr@gjlay.de>
7781
7782         PR target/49868
7783         Extend __pgmx semantics to linearize memory.
7784         * config/avr/avr.md (mov<mode>): Use avr_xload_libgcc_p to
7785         determine if code comes inline or from libgcc.
7786         (MOVMEM_r_d:HI): Add "w" to constraint for better preference.
7787         (movmem_qi, movmem_qi): Set constraint #2 to "n".
7788         (movmem_qi_elpm, movmem_hi_elpm): Remove insns.
7789         (movmemx_qi, movmemx_hi): New insns.
7790         (xload_<mode>_libgcc): Rewrite to new insn condition.
7791         (xload_<mode>): Remove insns.
7792         * config/avr/avr.c (avr_out_xload): Rewrite: Only need to handle
7793         cases that don't satisfy avr_xload_libgcc_p().
7794         (avr_addr_space_convert): Allow converting in any direction.
7795         (avr_addr_space_subset_p): Return always true.
7796         (avr_xload_libgcc_p): Rewrite to fit new __pgmx semantics.
7797         (avr_emit_movmemhi): Ditto.
7798         (avr_out_lpm): No need to handle ADDR_SPACE_PGMX any more.
7799         (avr_out_movmem): Ditto.
7800         (AVR_SYMBOL_FLAG_PROGMEM): New macro.
7801         (AVR_SYMBOL_SET_ADDR_SPACE): New macro.
7802         (AVR_SYMBOL_GET_ADDR_SPACE): New macro.
7803         (avr_encode_section_info): Encode 'progmem' in symbol flags.
7804         (output_reload_in_const): Don't zero-extend any 24-bit symbols.
7805
7806 2012-01-10  Richard Guenther  <rguenther@suse.de>
7807
7808         PR tree-optimization/50913
7809         * graphite-scop-detection.c (stmt_has_simple_data_refs_p):
7810         Require data-refs to be representable by Graphite with respect
7811         to any loop nest.
7812
7813 2012-01-10  Uros Bizjak  <ubizjak@gmail.com>
7814
7815         * config/i386/constraints.md ("L"): Return true for 0xffffffff.
7816         * config/i386/i386.c (*anddi_1): Emit AND with 0xffffffff as MOV.
7817
7818 2012-01-10  Tom de Vries  <tom@codesourcery.com>
7819
7820         PR rtl-optimization/51271
7821         * dwarf2cfi.c (scan_trace): Save and restore cur_row->reg_save when
7822         handling annulled branch.
7823
7824 2012-01-10  Richard Henderson  <rth@redhat.com>
7825
7826         * config/arm/arm.c (arm_vectorize_vec_perm_const_ok,
7827         TARGET_VECTORIZE_VEC_PERM_CONST_OK, neon_split_vcombine, MAX_VECT_LEN,
7828         struct expand_vec_perm_d, arm_expand_vec_perm_1, arm_expand_vec_perm,
7829         arm_evpc_neon_vuzp, arm_evpc_neon_vzip, arm_evpc_neon_vrev,
7830         arm_evpc_neon_vtrn, arm_evpc_neon_vtbl, arm_expand_vec_perm_const_1,
7831         arm_expand_vec_perm_const): New.
7832         * config/arm/arm-protos.h: Update.
7833         * config/arm/neon.md (UNSPEC_VCONCAT): New.
7834         (*neon_vswp<VDQX>): New.
7835         (neon_vcombine<VDX>): Use neon_split_vcombine.
7836         (neon_vtbl1v16qi, neon_vtbl2v16qi, neon_vcombinev16qi): New.
7837         * config/arm/vec-common.md (vec_perm_const<VALL>): New.
7838         (vec_perm<VE>): New.
7839
7840 2012-01-10  Richard Henderson  <rth@redhat.com>
7841
7842         * config/arm/arm.c (arm_gen_compare_reg): Add scratch argument;
7843         use it if reload_completed.
7844         (arm_legitimize_sync_memory, arm_emit, arm_insn_count, arm_count,
7845         arm_output_asm_insn, arm_process_output_memory_barrier,
7846         arm_output_memory_barrier, arm_ldrex_suffix, arm_output_ldrex,
7847         arm_output_strex, arm_output_it, arm_output_op2, arm_output_op3,
7848         arm_output_sync_loop, arm_get_sync_operand, FETCH_SYNC_OPERAND,
7849         arm_process_output_sync_insn, arm_output_sync_insn,
7850         arm_sync_loop_insns, arm_call_generator, arm_expand_sync): Remove.
7851         (arm_pre_atomic_barrier, arm_post_atomic_barrier): New.
7852         (arm_emit_load_exclusive, arm_emit_store_exclusive): New.
7853         (emit_unlikely_jump): New.
7854         (arm_expand_compare_and_swap, arm_split_compare_and_swap): New.
7855         (arm_split_atomic_op): New.
7856         * config/arm/arm-protos.h: Update.
7857         * config/arm/arm.h (enum arm_sync_generator_tag): Remove.
7858         (struct arm_sync_generator): Remove.
7859         * config/arm/arm.md (VUNSPEC_SYNC_COMPARE_AND_SWAP, VUNSPEC_SYNC_LOCK,
7860         VUNSPEC_SYNC_OP, VUNSPEC_SYNC_NEW_OP, VUNSPEC_SYNC_OLD_OP): Remove.
7861         (VUNSPEC_ATOMIC_CAS, VUNSPEC_ATOMIC_XCHG, VUNSPEC_ATOMIC_OP): New.
7862         (VUNSPEC_LL, VUNSPEC_SC): New.
7863         (sync_result, sync_memory, sync_required_value, sync_new_value,
7864         sync_t1, sync_t2, sync_release_barrier, sync_op): Remove.
7865         (attr length): Don't use arm_sync_loop_insns.
7866         (cbranch_cc, cstore_cc): Update call to arm_gen_compare_reg.
7867         (movsfcc, movdfcc): Likewise.
7868         * config/arm/constraints.md (Ua): New.
7869         * config/arm/prediates.md (mem_noofs_operand): New.
7870         (sync_compare_and_swap<QHSD>, sync_lock_test_and_set<QHSD>): Remove.
7871         (sync_clobber, sync_t2_reqd): Remove.
7872         (sync_<syncop><QHSD>, sync_nand<QHSD>): Remove.
7873         (sync_new_<syncop><QHSD>, sync_new_nand<QHSD>): Remove.
7874         (sync_old_<syncop><QHSD>, sync_old_nand<QHSD>): Remove.
7875         (arm_sync_compare_and_swap<SIDI>): Remove.
7876         (arm_sync_compare_and_swap<NARROW>): Remove.
7877         (arm_sync_lock_test_and_set<SIDI>): Remove.
7878         (arm_sync_lock_test_and_set<NARROW>): Remove.
7879         (arm_sync_new_<syncop><SIDI>): Remove.
7880         (arm_sync_new_<syncop><NARROW>): Remove.
7881         (arm_sync_new_nand<SIDI>): Remove.
7882         (arm_sync_new_nand<NARROW>): Remove.
7883         (arm_sync_old_<syncop><SIDI>): Remove.
7884         (arm_sync_old_<syncop><NARROW>): Remove.
7885         (arm_sync_old_nand<SIDI>): Remove.
7886         (arm_sync_old_nand<NARROW>): Remove.
7887         (*memory_barrier): Merge arm_output_memory_barrier.
7888         (atomic_compare_and_swap<QHSD>): New.
7889         (atomic_compare_and_swap<NARROW>_1): New.
7890         (atomic_compare_and_swap<SIDI>_1): New.
7891         (atomic_exchange<QHSD>): New.
7892         (cas_cmp_operand, cas_cmp_str): New.
7893         (atomic_op_operand, atomic_op_str): New.
7894         (atomic_<syncop><QHSD>, atomic_nand<QHSD>): New.
7895         (atomic_fetch_<syncop><QHSD>, atomic_fetch_nand<QHSD>): New.
7896         (atomic_<syncop>_fetch<QHSD>, atomic_nand_fetch<QHSD>): New.
7897         (arm_load_exclusive<NARROW>): New.
7898         (arm_load_exclusivesi, arm_load_exclusivedi): New.
7899         (arm_store_exclusive<QHSD>): New.
7900
7901 2012-01-09  Michael Meissner  <meissner@linux.vnet.ibm.com>
7902
7903         * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Add DF
7904         reload patterns if -mvsx-scalar-memory.
7905
7906         * config/rs6000/vsx.md (vsx_xscvspdp): Allow xscvspdp to be
7907         generated, even -mno-vsx-scalar-double was used.
7908         (vsx_xscvdpsp_scalar): Likewise.
7909         (vsx_xscvspdp_scalar2): Likewise.
7910
7911 2012-01-09  Tom de Vries  <tom@codesourcery.com>
7912             Andrew Pinski  <apinski@cavium.com>
7913
7914         PR debug/51471
7915         * reorg.c (fill_slots_from_thread): Don't speculate
7916         frame-related insns.
7917
7918 2012-01-09  Richard Sandiford  <rdsandiford@googlemail.com>
7919
7920         * sched-int.h (bb_note): Move to...
7921         * basic-block.h: ...here.
7922         * haifa-sched.c (bb_note): Move to...
7923         * cfgrtl.c: ...here.
7924         * function.c (next_block_for_reg): New function.
7925         (move_insn_for_shrink_wrap): Likewise.
7926         (prepare_shrink_wrap): Rewrite to use the above.
7927
7928 2012-01-09  Aldy Hernandez  <aldyh@redhat.com>
7929
7930         * gimple.c (is_gimple_non_addressable): Remove.
7931         * gimple.h: Remove is_gimple_non_addressable.
7932         * gimplify.c (gimplify_modify_expr_rhs): Use is_gimple_reg instead of
7933         is_gimple_non_addressable.
7934         * trans-mem.c (expand_assign_tm): Same.
7935
7936 2012-01-09  Richard Guenther  <rguenther@suse.de>
7937
7938         PR tree-optimization/51775
7939         * tree-ssa-sccvn.c (visit_use): Value-number throwing stmts.
7940         * tree-ssa-pre.c (eliminate): Properly fixup EH info.
7941
7942 2012-01-09  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
7943
7944         * config/arm/arm-cores.def (cortex-a15): Use cortex_a15_tune for
7945         tuning parameters.
7946         * config/arm/arm.c (arm_cortex_a15_tune): New static variable.
7947
7948 2012-01-09  Richard Guenther  <rguenther@suse.de>
7949
7950         * tree-streamer-out.c (write_ts_optimization): Fix spelling.
7951
7952 2012-01-08  Jan Hubicka  <jh@suse.cz>
7953
7954         PR tree-optimize/51680
7955         * ipa-inline-analyss.c (evaluate_properties_for_edge): Fix condition
7956         on when known_vals needs to be computed; cleanup.
7957
7958 2012-01-08  Jan Hubicka  <jh@suse.cz>
7959
7960         PR tree-optimize/51694
7961         * ipa-cp.c (ipa_get_indirect_edge_target): Add bounds checks.
7962
7963 2012-01-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
7964
7965         * doc/cpp.texi (Predefined Macros): __STRICT_ANSI__ is defined
7966         for -std=c++98 and -std=c++11 too.
7967
7968 2012-01-08  Chung-Lin Tang  <cltang@codesourcery.com>
7969
7970         * cfgloop.c (cancel_loop): Add free() of bbs array.
7971
7972 2012-01-07  Jan Hubicka  <jh@suse.cz>
7973
7974         PR tree-optimization/51600
7975         * ipa-inline-analysis.c (estimate_edge_devirt_benefit): Disable code
7976         that benefits small functions.
7977
7978 2012-01-07  Jan Hubicka  <jh@suse.cz>
7979
7980         * ipa-inline.c (want_inline_small_function_p): Fix formating.
7981
7982 2012-01-07  Jan Hubicka  <jh@suse.cz>
7983
7984         PR tree-optimization/51680
7985         * ipa-inline.c (want_inline_small_function_p): Be more lax on functions
7986         whose inlining reduce unit size.
7987
7988 2012-01-07  Alexandre Oliva  <aoliva@redhat.com>
7989
7990         PR bootstrap/51725
7991         * cselib.c (new_elt_loc_list): Promote addr_list to canonical node.
7992         Add canonical node to containing_mem chain after the non-canonical
7993         one, even if there weren't any locs to propagate.
7994         (remove_useless_values): Keep only canonical values.
7995         (add_mem_for_addr, cselib_lookup_mem): Canonicalize addr.
7996         (cselib_invalidate_mem): Likewise.  Ensure v is canonical, and
7997         canonicalize mem_chain elements that are not discarded.
7998
7999 2012-01-06  Jakub Jelinek  <jakub@redhat.com>
8000
8001         PR target/47333
8002         * cgraphunit.c (cgraph_optimize): Call output_weakrefs
8003         before emitting functions.
8004
8005         PR gcov-profile/50127
8006         * bb-reorder.c (partition_hot_cold_basic_blocks): Call
8007         clear_aux_for_blocks.
8008
8009 2012-01-06  Alexandre Oliva  <aoliva@redhat.com>
8010
8011         PR debug/51746
8012         * cselib.c (cselib_hash_rtx): Hash incoming VALUEs too.
8013
8014 2012-01-06  Arnaud Charlet  <charlet@adacore.com>
8015
8016         * c-decl.c (ext_block): Moved up.
8017         (collect_all_refs, for_each_global_decl): Take ext_block into account.
8018
8019 2012-01-06  Han Shen  <shenhan@google.com>
8020
8021         Translate built-in include paths for sysroot.
8022         * Makefile.in (gcc_gxx_include_dir_add_sysroot): New.
8023         (PREPROCESSOR_DEFINES): Define GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT.
8024
8025         * cppdefault.c (cpp_include_defaults): Replace hard coded "0" with
8026         GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT for "add_sysroot" field.
8027
8028         * configure.ac (AC_SUBST): Add gcc_gxx_include_dir_add_sysroot to
8029         control whether sysroot should be prepended to gxx include dir.
8030
8031         * configure: Regenerate.
8032
8033 2012-01-06  Torvald Riegel  <triegel@redhat.com>
8034
8035         PR rtl-optimization/51771
8036         * builtin-attrs.def (ATTR_RETURNS_TWICE, ATTR_TM_NOTHROW_RT_LIST): New.
8037         * gtm-builtins.def (BUILT_IN_TM_START): Add returns-twice attrib.
8038
8039 2012-01-05  Eric Botcazou  <ebotcazou@adacore.com>
8040
8041         PR tree-optimization/51315
8042         * tree-sra.c (tree_non_aligned_mem_for_access_p): New predicate.
8043         (build_accesses_from_assign): Use it instead of tree_non_aligned_mem_p.
8044
8045 2012-01-05  Uros Bizjak  <ubizjak@gmail.com>
8046
8047         PR target/51681
8048         * config/ia64/ia64.c (expand_vec_perm_shrp): Use correct operands
8049         for shrp pattern.  Correctly handle and fixup shift variable.
8050         Return false when shift > nelt for BYTES_BIG_ENDIAN target.
8051
8052 2012-01-05  Jakub Jelinek  <jakub@redhat.com>
8053
8054         PR debug/51762
8055         * calls.c (emit_call_1): For noreturn calls force a REG_ARGS_SIZE
8056         note when !ACCUMULATE_OUTGOING_ARGS.
8057
8058 2012-01-05  Eric Botcazou  <ebotcazou@adacore.com>
8059
8060         * tree-vrp.c (extract_range_from_binary_expr_1): Remove duplicated
8061         condition.
8062         (extract_range_from_unary_expr_1): Avoid useless computations.
8063
8064 2012-01-05  Jakub Jelinek  <jakub@redhat.com>
8065
8066         PR rtl-optimization/51767
8067         * cfgrtl.c (force_nonfallthru_and_redirect): Force addition
8068         of jump_block and add an extra edge for degenerated asm gotos.
8069
8070         PR middle-end/51768
8071         * stmt.c (check_unique_operand_names): Don't ICE during error
8072         reporting if i is from labels chain.
8073
8074         PR middle-end/44777
8075         * profile.c (branch_prob): Split bbs that have exit edge
8076         and need a fake entry edge too.
8077
8078 2012-01-05  Jan Hubicka  <jh@suse.cz>
8079
8080         PR middle-end/49710
8081         * cfgloopmanip.c (remove_path): Walk loop hiearchy upwards when
8082         unlooping loops.
8083
8084 2012-01-05  Richard Guenther  <rguenther@suse.de>
8085
8086         PR lto/50490
8087         * tree-streamer-out.c (write_ts_optimization): New function.
8088         (streamer_write_tree_body): Call it.
8089         * tree-streamer-in.c (lto_input_ts_optimization): New function.
8090         (streamer_read_tree_body): Call it.
8091         * lto-streamer-out.c (lto_is_streamable): Handle OPTIMIZATION_NODE.
8092
8093 2012-01-05  Jakub Jelinek  <jakub@redhat.com>
8094
8095         PR middle-end/51761
8096         * gimple.h (struct gimplify_ctx): Add in_cleanup_point_expr field.
8097         * gimplify.c (gimplify_cleanup_point_expr): Save and set
8098         in_cleanup_point_expr before gimplify_stmt call and restore it
8099         afterwards.
8100         (gimplify_target_expr): Don't add {CLOBBER} cleanup if
8101         in_cleanup_point_expr is false.
8102
8103 2012-01-05  Richard Guenther  <rguenther@suse.de>
8104
8105         PR middle-end/51764
8106         * common.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move
8107         to c.opt.
8108         * toplev.c (process_options): Reject combining mudflap and LTO.
8109         * tree-nomudflap.c (nogo): Use sorry instead of internal_error.
8110
8111 2012-01-05  Richard Guenther  <rguenther@suse.de>
8112
8113         PR tree-optimization/51760
8114         * tree-ssa-ccp.c (likely_value): Drop UNDEFINED to CONSTANT,
8115         not VARYING.
8116         (bit_value_unop): Handle UNDEFINED operands.
8117         (bit_value_binop): Likewise.
8118
8119 2012-01-05  Georg-Johann Lay  <avr@gjlay.de>
8120
8121         * config/avr/avr.c (avr_replace_prefix): Remove.
8122         (avr_asm_named_section): Use ACONCAT instead of avr_replace_prefix.
8123         (avr_asm_function_rodata_section): Ditto.
8124         (avr_asm_select_section): Ditto.
8125
8126 2012-01-05  Marcus Shawcroft  <marcus.shawcroft@arm.com>
8127
8128         * reload.c (find_reloads): Adjust LABEL_NUSES on REG_LABEL_OPERAND
8129         insertion.
8130
8131 2012-01-05  Jakub Jelinek  <jakub@redhat.com>
8132
8133         PR bootstrap/51648
8134         * tree-cfg.c (need_fake_edge_p): Return true also for noreturn
8135         calls that have any non-fake successor edges.
8136
8137         PR debug/51746
8138         * var-tracking.c (add_stores): For COND_EXEC allow oval to be NULL.
8139
8140 2012-01-04  Eric Botcazou  <ebotcazou@adacore.com>
8141
8142         PR tree-optimization/51624
8143         * tree-sra.c (build_ref_for_model): When replicating a chain of
8144         COMPONENT_REFs, stop as soon as the offset would become negative.
8145
8146 2012-01-04  Jakub Jelinek  <jakub@redhat.com>
8147
8148         PR debug/51695
8149         * dwarf2out.c (output_loc_list): For now drop >= 64KB expressions
8150         in .debug_loc on the floor.
8151
8152 2012-01-04  Andrew Pinski  <apinski@cavium.com>
8153
8154         * doc/invoke.texi (-march=@var{arch}): Add octeon+ and octeon2.
8155
8156 2012-01-04  Andrew Pinski  <apinski@cavium.com>
8157             Adam Nemet  <anemet@caviumnetworks.com>
8158
8159         * config/mips/mips.md (size): Add SI and DI.
8160         (SIZE): New mode attribute.
8161         (U): New code attribute.
8162         * config/mips/mips-dsp.md (mips_lbux): Use gen_mips_lbux_extsi.
8163         (mips_lbux_<mode>): Delete.
8164         (mips_l<SHORT:size><u>x_ext<GPR:mode>_<P:mode>): New pattern.
8165         (mips_lhx): Use gen_mips_lhx_extsi.
8166         (mips_lhx_<mode>): Delete.
8167         (mips_lwx): Delete.
8168         (mips_l<size>x): New expand.
8169         (mips_lwx_<mode>): Delete.
8170         (mips_l<GPR:size>x_<P:mode>): New pattern.
8171         (*mips_lw<u>x_<P:mode>_ext): Likewise.
8172         * config/mips/mips-ftypes.def: Add DI f(POINTER, SI) function type.
8173         * config/mips/mips.c (mips_lx_address_p): New function.
8174         (mips_rtx_costs <case MEM>): Call mips_lx_address_p.
8175         (dsp64): New availability predicate.
8176         (mips_builtins): Add an entry for __builtin_mips_ldx.
8177         * config/mips/mips.h (ISA_HAS_LBX): New define.
8178         (ISA_HAS_LBUX): Likewise.
8179         (ISA_HAS_LHX): Likewise.
8180         (ISA_HAS_LHUX): Likewise.
8181         (ISA_HAS_LWX): Likewise.
8182         (ISA_HAS_LWUX): Likewise.
8183         (ISA_HAS_LDX): Likewise.
8184         * doc/extend.texi (__builtin_mips_ldx): Document.
8185
8186 2012-01-04  Tristan Gingold  <gingold@adacore.com>
8187
8188         * config/vms/xm-vms.h (HOST_LONG_FORMAT, HOST_PTR_PRINTF): Define
8189         when long pointers are used.
8190         * config.build (*-*-*vms*): Handle all OpenVMS targets.
8191         (alpha64-dec-*vms*, alpha*-dec-*vms*)
8192         (ia64-hp-*vms*): Remove.
8193         * config/vms/xm-vms64.h: Delete.
8194
8195 2012-01-04  Aldy Hernandez  <aldyh@redhat.com>
8196
8197         PR middle-end/51472
8198         * trans-mem.c (expand_assign_tm): Handle TM_MEMMOVE loads correctly.
8199
8200 2012-01-04  Aldy Hernandez  <aldyh@redhat.com>
8201
8202         * opts.c (finish_options): Remove duplicate sorry.
8203
8204 2012-01-04  Aldy Hernandez  <aldyh@redhat.com>
8205
8206         PR middle-end/51696
8207         * trans-mem.c (diagnose_tm_1): Display indirect calls with no name
8208         correctly.
8209
8210 2012-01-04  Richard Guenther  <rguenther@suse.de>
8211
8212         PR middle-end/51750
8213         * tree.c (size_low_cst): New function.
8214         * tree.h (size_low_cst): Declare.
8215         * fold-const.c (fold_comparison): Use it to extract the low
8216         part of the POINTER_PLUS_EXPR offset.
8217
8218 2012-01-04  Georg-Johann Lay  <avr@gjlay.de>
8219
8220         Fix clearing ZERO_REG
8221         * config/avr/avr.md (cc): Add alternative "ldi".
8222         (movqi_insn): Use it in cc attribute.
8223         * config/avr/avr.c (notice_update_cc): Handle CC_LDI.
8224         (output_reload_in_const): Use CLR to move 0 to ZERO_REG.
8225         (output_reload_insisf): Use ZERO_REG to pre-clear register.
8226
8227 2012-01-04  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
8228
8229         * configure: Regenerate.
8230
8231 2012-01-04  Richard Guenther  <rguenther@suse.de>
8232
8233         PR tree-optimization/49651
8234         * tree-ssa-structalias.c (type_can_have_subvars): New function.
8235         (var_can_have_subvars): Use it.
8236         (get_constraint_for_1): Only consider subfields if there can be any.
8237
8238 2012-01-03  Jakub Jelinek  <jakub@redhat.com>
8239
8240         PR bootstrap/51725
8241         * cselib.c (new_elt_loc_list): When moving locs from one cselib_val
8242         to its new canonical_cselib_val and the cselib_val was in
8243         first_containing_mem chain, but the canonical_cselib_val was not,
8244         add the latter into the chain.
8245         (cselib_invalidate_mem): Compare canonical_cselib_val of
8246         addr_list chain elt with v.
8247
8248         PR pch/51722
8249         * dwarf2out.c (dwarf2out_start_source_file, dwarf2out_define,
8250         dwarf2out_undef): Allocate e.info using ggc_strdup instead
8251         of xstrdup.
8252         (output_macinfo_op): Don't ggc_strdup fd->filename.
8253         (optimize_macinfo_range): Allocate grp_name using XALLOCAVEC,
8254         then ggc_strdup it.  Don't free inc->info or cur->info.
8255         (output_macinfo): Don't free ref->info or file->info.
8256
8257 2012-01-03  Ira Rosen  <irar@il.ibm.com>
8258
8259         PR tree-optimization/51269
8260         * tree-vect-loop-manip.c (set_prologue_iterations): Make
8261         first_niters a pointer.
8262         (slpeel_tree_peel_loop_to_edge): Likewise.
8263         (vect_do_peeling_for_loop_bound): Update call to
8264         slpeel_tree_peel_loop_to_edge.
8265         (vect_gen_niters_for_prolog_loop): Don't compute wide_prolog_niters
8266         here.  Remove it from the parameters list.
8267         (vect_do_peeling_for_alignment): Update calls and compute
8268         wide_prolog_niters.
8269
8270 2012-01-03  Richard Guenther  <rguenther@suse.de>
8271
8272         PR tree-optimization/51070
8273         * tree-loop-distribution.c (stmt_has_scalar_dependences_outside_loop):
8274         Properly handle calls.
8275
8276 2012-01-03  Richard Guenther  <rguenther@suse.de>
8277
8278         PR tree-optimization/51692
8279         * tree-ssa-dce.c (eliminate_unnecessary_stmts): Do not remove
8280         the LHS of allocation stmts.
8281
8282 2012-01-03  Olivier Hainque  <hainque@adacore.com>
8283
8284         * system.h: Prior to #define, #undef fopen and freopen unconditionally.
8285
8286 2012-01-03  Olivier Hainque  <hainque@adacore.com>
8287
8288         * collect2.c (main): In AIX specific computations for vector
8289         insertions, use CONST_CAST2 to cast from char ** to const char **.
8290
8291 2012-01-03  Richard Guenther  <rguenther@suse.de>
8292
8293         PR debug/51650
8294         * dwarf2out.c (dwarf2out_finish): Always create a DIE for
8295         the context of a limbo DIE when it does not already exist.
8296
8297 2012-01-03  Jakub Jelinek  <jakub@redhat.com>
8298
8299         PR tree-optimization/51719
8300         * value-prof.c (gimple_ic): When indirect call isn't noreturn,
8301         but direct call is, clear direct call's lhs and don't add fallthrough
8302         edge from dcall_bb to join_bb and PHIs.
8303
8304 2012-01-03  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
8305
8306         * config/s390/s390.md ("*cmp<mode>_ccs"): Fix comment mentioning
8307         the instructions emitted by the pattern.
8308         ("*TDC_insn_<mode>"): Add comment.
8309
8310 2012-01-03  Richard Guenther  <rguenther@suse.de>
8311
8312         PR middle-end/51730
8313         * fold-const.c (fold_comparison): Properly canonicalize
8314         tree offset and HOST_WIDE_INT bit position.
8315
8316 2012-01-02  Uros Bizjak  <ubizjak@gmail.com>
8317
8318         * config/ia64/ia64.c (expand_vec_perm_broadcast): Use correct
8319         operands for extzv pattern.
8320
8321 2012-01-02  Jakub Jelinek  <jakub@redhat.com>
8322
8323         PR bootstrap/51725
8324         * cselib.c (add_mem_for_addr): Call canonical_cselib_val
8325         on mem_elt first.
8326
8327 2012-01-02  Sandra Loosemore  <sandra@codesourcery.com>
8328
8329         * doc/invoke.texi (-flto and related options): Copy-edit.
8330
8331 2012-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
8332
8333         * config/mips/mips.md (loadgp_newabi_<mode>): Add missing earlyclobber.
8334
8335 2012-01-02  Jakub Jelinek  <jakub@redhat.com>
8336
8337         * config/i386/sse.md (*avx2_gatherdi<mode>_3, *avx2_gatherdi<mode>_4):
8338         New patterns.
8339
8340 2012-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
8341
8342         * expr.h (move_by_pieces_ninsns): Declare.
8343         * expr.c (move_by_pieces_ninsns): Make external.
8344         * config/mips/mips-protos.h (mips_move_by_pieces_p): Declare.
8345         (mips_store_by_pieces_p): Likewise.
8346         * config/mips/mips.h (MOVE_BY_PIECES_P): Call mips_move_by_pieces_p.
8347         (STORE_BY_PIECES_P): Likewise mips_store_by_pieces_p.
8348         * config/mips/mips.c (mips_move_by_pieces_p): New function.
8349         (mips_store_by_pieces_p): Likewise.
8350
8351 2012-01-02  Jakub Jelinek  <jakub@redhat.com>
8352
8353         * passes.c (register_one_dump_file): Free full_name.
8354
8355         * reload1.c (reload): Don't allocate reg_max_ref_width here.
8356         (calculate_elim_costs_all_insns): Free offsets_at and
8357         offsets_known_at at the end and clear the pointers.
8358
8359 2012-01-02  Georg-Johann Lay  <avr@gjlay.de>
8360
8361         * config/avr/avr.opt (-mbranch-cost): Fix double definition of
8362         this option introduced in r180739.
8363
8364 2012-01-02  Georg-Johann Lay  <avr@gjlay.de>
8365
8366         PR target/51345
8367         * config.gcc (tm_file target=avr]): Add avr/avr-multilib.h
8368         (tmake_file target=avr): Add avr/t-multilib.
8369
8370         * config/avr/avr-c.c (avr_cpu_cpp_builtins): Use AVR_HAVE_8BIT_SP
8371         to built-in define __AVR_HAVE_8BIT_SP__, __AVR_HAVE_16BIT_SP__.
8372         * config/avr/genmultilib.awk: New file.
8373         * config/avr/t-multilib: New auto-generated file.
8374         * config/avr/multilib.h: New auto-generated file.
8375         * config/avr/t-avr (AVR_MCUS): New variable.
8376         (genopt.sh): Use it.
8377         (s-mlib): Depend on t-multilib.
8378         (t-multilib, multilib.h): New dependencies.
8379         (s-avr-mlib): New rule to build t-multilib, multilib.h from AVR_MCUS.
8380         (MULTILIB_OPTIONS): Remove.
8381         (MULTILIB_MATCHES): Remove.
8382         (MULTILIB_DIRNAMES): Remove.
8383         (MULTILIB_EXCEPTIONS): Remove:
8384         * config/avr/genopt.sh: Don't use hard coded file name;
8385         pass AVR_MCUS from t-avr instead.
8386
8387 2012-01-02  Georg-Johann Lay  <avr@gjlay.de>
8388
8389         * config/avr/avr.c (avr_out_ashrpsi3): Fix "case 31" to "case 23".
8390
8391 2012-01-02  Georg-Johann Lay  <avr@gjlay.de>
8392
8393         Implement light-weight DImode support.
8394         * config/avr/avr-dimode.md: New file.
8395         * config/avr/avr.md: Include it.
8396         (adjust_len): Add plus64, compare64.
8397         (HIDI): Remove code iterator.
8398         (code_stdname): New code attribute.
8399         (rotx, rotsmode): Remove DI.
8400         (rotl<mode>3, *rotw<mode>, *rotb<mode>): Use HISI instead of HIDI
8401         as code iterator.
8402         * config/avr/avr-protos.h (avr_have_dimode): New.
8403         (avr_out_plus64, avr_out_compare64): New.
8404         * config/avr/avr.c (avr_out_compare): Handle DImode.
8405         (avr_have_dimode): New variable definition and initialization.
8406         (avr_out_compare64, avr_out_plus64): New functions.
8407         (avr_out_plus_1): Use simplify_unary_operation to negate xval.
8408         (adjust_insn_length): Handle ADJUST_LEN_COMPARE64, ADJUST_LEN_PLUS64.
8409         (avr_compare_pattern): Skip DImode comparisons.
8410
8411 2012-01-02  Revital Eres  <revital.eres@linaro.org>
8412
8413         * ddg.c (def_has_ccmode_p): New function.
8414         (add_cross_iteration_register_deps,
8415         create_ddg_dep_from_intra_loop_link): Call it.
8416
8417 2012-01-02  Richard Guenther  <rguenther@suse.de>
8418
8419         PR other/51679
8420         * invoke.texi (fassociative-math): Remove spurious paranthesis.
8421
8422 2012-01-01  Jakub Jelinek  <jakub@redhat.com>
8423
8424         * gcc.c (process_command): Update copyright notice dates.
8425         * gcov.c (print_version): Likewise.
8426         * gcov-dump.c (print_version): Likewise.
8427         * mips-tfile.c (main): Likewise.
8428         * mips-tdump.c (main): Likewise.
8429
8430 2012-01-01  Ira Rosen  <irar@il.ibm.com>
8431
8432         PR tree-optimization/51704
8433         * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Check that
8434         a use is inside the basic block or loop before accessing its vect info.
8435
8436 2012-01-01  Jan Hubicka  <jhjh@suse.cz>
8437
8438         PR rtl-optimization/51069
8439         * cfgloopmanip.c (remove_path): Removing path making irreducible
8440         region unconditional makes BB part of the region.
8441
8442 2012-01-01  Jakub Jelinek  <jakub@redhat.com>
8443
8444         PR tree-optimization/51683
8445         * tree-ssa-propagate.c (substitute_and_fold): Don't optimize away
8446         calls with side-effects.
8447         * tree-ssa-ccp.c (ccp_fold_stmt): Likewise.
8448 \f
8449 Copyright (C) 2012 Free Software Foundation, Inc.
8450
8451 Copying and distribution of this file, with or without modification,
8452 are permitted in any medium without royalty provided the copyright
8453 notice and this notice are preserved.