Update change log
[platform/upstream/gcc48.git] / gcc / ChangeLog
1 2013-10-16  Release Manager
2
3         * GCC 4.8.2 released.
4
5 2013-10-12  James Greenhalgh  <james.greenhalgh@arm.com>
6
7         Backport from mainline.
8         2013-10-12  James Greenhalgh  <james.greenhalgh@arm.com>
9
10         * config/aarch64/arm_neon.h
11         (vtbx<1,3>_<psu>8): Fix register constriants.
12
13 2013-10-10  Jakub Jelinek  <jakub@redhat.com>
14
15         PR middle-end/58670
16         * stmt.c (expand_asm_operands): Add FALLTHRU_BB argument,
17         if any labels are in FALLTHRU_BB, use a special label emitted
18         immediately after the asm goto insn rather than label_rtx
19         of the LABEL_DECL.
20         (expand_asm_stmt): Adjust caller.
21         * cfgrtl.c (commit_one_edge_insertion): Force splitting of
22         edge if the last insn in predecessor is a jump with single successor,
23         but it isn't simplejump_p.
24
25 2013-10-09  Jakub Jelinek  <jakub@redhat.com>
26
27         Backport from mainline
28         2013-09-26  Richard Biener  <rguenther@suse.de>
29
30         PR tree-optimization/58539
31         * tree-vect-loop.c (vect_create_epilog_for_reduction): Honor
32         the fact that debug statements are not taking part in loop-closed
33         SSA construction.
34
35 2013-10-07  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
36
37         * config/s390/s390.c (s390_register_info): Make the call-saved FPR
38         loop to work also for 31bit ABI.
39         Save the stack pointer for frame_size > 0.
40
41 2013-10-07  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
42
43         * config/s390/s390.md ("tbegin", "tbegin_nofloat", "tbegin_retry")
44         ("tbegin_retry_nofloat", "tend", "tabort", "tx_assist"): Remove
45         constraint letters from expanders.
46         ("tbegin_retry", "tbegin_retry_nofloat"): Change predicate of the
47         retry count to general_operand.
48         ("tabort"): Give operand 0 a mode.
49         ("tabort_1"): Add mode and constraint letter for operand 0.
50         * doc/extend.texi: Fix protoype of __builtin_non_tx_store.
51
52 2013-10-04  Marcus Shawcroft  <marcus.shawcroft@arm.com>
53
54         Backport from mainline.
55
56         PR target/58460
57         * config/aarch64/aarch64.md (*add_<shift>_<mode>)
58         (*add_<shift>_si_uxtw,*add_mul_imm_<mode>)
59         (*sub_<shift>_<mode>)
60         (*sub_<shift>_si_uxtw,*sub_mul_imm_<mode>, *sub_mul_imm_si_uxtw):
61         Remove k constraint.
62
63 2013-10-02  John David Anglin  <danglin@gcc.gnu.org>
64
65         * config.gcc (hppa*64*-*-linux*): Don't add pa/t-linux to tmake_file.
66
67 2013-10-01  Jakub Jelinek  <jakub@redhat.com>
68             Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
69
70         PR target/58574
71         * config/s390/s390.c (s390_chunkify_start): Handle tablejump_p first,
72         continue when done, for other jumps look through PARALLEL
73         unconditionally.
74
75 2013-09-30  Jakub Jelinek  <jakub@redhat.com>
76
77         PR middle-end/58564
78         * fold-const.c (fold_ternary_loc): For A < 0 : <sign bit of A> : 0
79         optimization, punt if sign_bit_p looked through any zero extension.
80
81 2013-09-27  Paulo Matos  <pmatos@broadcom.com>
82
83         Backport from mainline.
84
85         PR middle-end/58463
86         2013-03-27  Richard Biener  <rguenther@suse.de>
87
88         PR tree-optimization/56716
89         * tree-ssa-structalias.c (perform_var_substitution): Adjust
90         dumping for ref nodes.
91
92 2013-09-27  Paulo Matos  <pmatos@broadcom.com>
93
94         Backport from mainline.
95
96         2013-09-27  Paulo Matos  <pmatos@broadcom.com>
97         PR middle-end/58463
98         * gcc.dg/pr58463.c: New test.
99
100 2013-09-23  Eric Botcazou  <ebotcazou@adacore.com>
101
102         * tree-ssa-ccp.c (insert_clobber_before_stack_restore): Recurse on copy
103         assignment statements.
104
105 2013-09-23  Alan Modra  <amodra@gmail.com>
106
107         PR target/58330
108         * config/rs6000/rs6000.md (bswapdi2_64bit): Disable for volatile mems.
109
110 2013-09-23  Alan Modra  <amodra@gmail.com>
111
112         * config/rs6000/predicates.md (add_cint_operand): New.
113         (reg_or_add_cint_operand, small_toc_ref): Use add_cint_operand.
114         * config/rs6000/rs6000.md (largetoc_high_plus): Restrict offset
115         using add_cint_operand.
116         (largetoc_high_plus_aix): Likewise.
117         * config/rs6000/rs6000.c (toc_relative_expr_p): Use add_cint_operand.
118
119 2013-09-20  John David Anglin  <danglin@gcc.gnu.org>
120
121         PR middle-end/56791
122         * config/pa/pa.c (pa_option_override): Disable auto increment and
123         decrement instructions until reload is completed.
124
125         * config/pa/pa.md: In "scc" insn patterns, change output template to
126         handle const0_rtx in reg_or_0_operand operands.
127
128 2013-09-19  Jakub Jelinek  <jakub@redhat.com>
129
130         * omp-low.c (expand_omp_sections): Always pass len - 1 to
131         GOMP_sections_start, even if !exit_reachable.
132
133 2013-09-18  Richard Earnshaw  <rearnsha@arm.com>
134
135         * arm.c (arm_expand_prologue): Validate architecture supports
136         LDRD/STRD before accepting tuning preferences.
137         (arm_expand_epilogue): Likewise.
138
139 2013-09-18  Daniel Morris  <danielm@ecoscentric.com>
140             Paolo Carlini  <paolo.carlini@oracle.com>
141
142         PR c++/58458
143         * doc/implement-cxx.texi: Fix references to the C++ standards.
144
145 2013-09-17  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
146
147         PR tree-optimization/58088
148         * fold-const.c (mask_with_trailing_zeros): New function.
149         (fold_binary_loc): Make sure we don't recurse infinitely
150         when the X in (X & C1) | C2 is a tree of the form (Y * K1) & K2.
151         Use mask_with_trailing_zeros where appropriate.
152
153 2013-09-14  John David Anglin  <danglin@gcc.gnu.org>
154
155         PR target/58382
156         * config/pa/pa.c (pa_expand_prologue): Change mode in gen_rtx_POST_INC
157         calls to word_mode.
158
159 2013-09-13  Christian Bruel  <christian.bruel@st.com>
160
161         PR target/58314
162         * config/sh/sh.md (mov<mode>_reg_reg): Allow memory reloads.
163
164 2013-09-11  Andi Kleen  <ak@linux.intel.com>
165
166         Backport from mainline
167         * doc/extend.texi: Use __atomic_store_n instead of
168         __atomic_store in HLE example.
169
170 2013-09-11  Andi Kleen  <ak@linux.intel.com>
171
172         Backport from mainline
173         * doc/extend.texi: Dont use __atomic_clear in HLE
174         example.  Fix typo.
175
176 2013-09-11  Andi Kleen  <ak@linux.intel.com>
177
178         Backport from mainline
179         * doc/extend.texi: Document that __atomic_clear and
180           __atomic_test_and_set should only be used with bool.
181
182 2013-09-11  Richard Biener  <rguenther@suse.de>
183
184         PR middle-end/58377
185         * passes.c (init_optimization_passes): Split critical edges
186         before late uninit warning pass in the -Og pipeline.
187
188 2013-09-11  Jakub Jelinek  <jakub@redhat.com>
189
190         PR tree-optimization/58385
191         * fold-const.c (build_range_check): If both low and high are NULL,
192         use omit_one_operand_loc to preserve exp side-effects.
193
194 2013-09-10  Richard Earnshaw  <rearnsha@arm.com>
195
196         PR target/58361
197         * arm/vfp.md (combine_vcvt_f32_<FCVTI32typename>): Fix pattern to
198         support conditional execution.
199         (combine_vcvt_f64_<FCVTI32typename>): Likewise.
200
201 2013-09-10  Jakub Jelinek  <jakub@redhat.com>
202
203         PR rtl-optimization/58365
204         * cfgcleanup.c (merge_memattrs): Also clear MEM_READONLY_P
205         resp. MEM_NOTRAP_P if they differ, or set MEM_VOLATILE_P if
206         it differs.
207
208 2013-09-09  Jakub Jelinek  <jakub@redhat.com>
209
210         PR tree-optimization/58364
211         * tree-ssa-reassoc.c (init_range_entry): For BIT_NOT_EXPR on
212         BOOLEAN_TYPE, only invert in_p and continue with arg0 if
213         the current range can't be an unconditional true or false.
214
215 2013-09-09  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
216
217         PR target/57735
218         Backport from mainline
219         2013-04-30  Richard Sandiford  <rsandifo@linux.vnet.ibm.com>
220
221         * explow.c (plus_constant): Pass "mode" to immed_double_int_const.
222         Use gen_int_mode rather than GEN_INT.
223
224 2013-09-09  Richard Biener  <rguenther@suse.de>
225
226         Backport from mainline
227         2013-08-27  Richard Biener  <rguenther@suse.de>
228
229         PR tree-optimization/57521
230         * tree-if-conv.c (if_convertible_bb_p): Verify that at least
231         one edge is non-critical.
232         (find_phi_replacement_condition): Make sure to use a non-critical
233         edge.  Cleanup and remove old bug workarounds.
234         (bb_postdominates_preds): Remove.
235         (if_convertible_loop_p_1): Do not compute post-dominators.
236         (combine_blocks): Do not free post-dominators.
237         (main_tree_if_conversion): Likewise.
238
239 2013-09-09  Richard Biener  <rguenther@suse.de>
240
241         Backport from mainline
242         2013-09-03  Richard Biener  <rguenther@suse.de>
243
244         PR middle-end/57656
245         * fold-const.c (negate_expr_p): Fix division case.
246         (negate_expr): Likewise.
247
248 2013-09-09  Richard Biener  <rguenther@suse.de>
249
250         Backport from mainline
251         2013-08-29  Richard Biener  <rguenther@suse.de>
252
253         PR tree-optimization/57685
254         * tree-vrp.c (register_edge_assert_for_1): Recurse only for
255         single-use operands to avoid exponential complexity.
256
257 2013-09-09  Richard Biener  <rguenther@suse.de>
258
259         Backport from mainline
260         2013-08-30  Richard Biener  <rguenther@suse.de>
261
262         PR tree-optimization/58223
263         * tree-loop-distribution.c (has_anti_dependence): Rename to ...
264         (has_anti_or_output_dependence): ... this and adjust to also
265         look for output dependences.
266         (mark_nodes_having_upstream_mem_writes): Adjust.
267         (rdg_flag_uses): Likewise.
268
269 2013-09-03  Richard Biener  <rguenther@suse.de>
270
271         Backport from mainline
272         2013-08-29  Richard Biener  <rguenther@suse.de>
273
274         PR tree-optimization/58246
275         * tree-ssa-dce.c (mark_aliased_reaching_defs_necessary_1): Properly
276         handle the dominance check inside a basic-block.
277
278 2013-09-03  Richard Biener  <rguenther@suse.de>
279
280         Backport from mainline
281         2013-08-30  Richard Biener  <rguenther@suse.de>
282
283         PR tree-optimization/58228
284         * tree-vect-data-refs.c (vect_analyze_data_ref_access): Do not
285         allow invariant loads in nested loop vectorization.
286
287 2013-09-03  Richard Biener  <rguenther@suse.de>
288
289         Backport from mainline
290         2013-08-30  Richard Biener  <rguenther@suse.de>
291
292         PR tree-optimization/58010
293         * tree-vect-loop.c (vect_create_epilog_for_reduction): Remove
294         assert that we have a loop-closed PHI.
295
296 2013-09-01  Uros Bizjak  <ubizjak@gmail.com>
297
298         Backport from mainline
299         2013-08-31  Uros Bizjak  <ubizjak@gmail.com>
300
301         * config/alpha/alpha.c (alpha_emit_conditional_move): Update
302         "cmp" RTX before signed_comparison_operator check to account
303         for "code" changes.
304
305 2013-09-01  John David Anglin  <danglin@gcc.gnu.org>
306
307         * config/pa/pa.md: Allow "const 0" operand 1 in "scc" insns.
308
309 2013-08-30  Jakub Jelinek  <jakub@redhat.com>
310
311         PR tree-optimization/58277
312         * tree-ssa-strlen.c (strlen_enter_block): If do_invalidate gave up
313         after seeing too many stmts with vdef in between dombb and current
314         bb, invalidate everything.
315
316 2013-08-29  Oleg Endo  <olegendo@gcc.gnu.org>
317
318         Backport from mainline
319         2013-08-05  Oleg Endo  <olegendo@gcc.gnu.org>
320
321         PR other/12081
322         * recog.h (rtx (*insn_gen_fn) (rtx, ...)): Replace typedef with new
323         class insn_gen_fn.
324         * expr.c (move_by_pieces_1, store_by_pieces_2): Replace argument
325         rtx (*) (rtx, ...) with insn_gen_fn.
326         * genoutput.c (output_insn_data): Cast gen_? function pointers to
327         insn_gen_fn::stored_funcptr.  Add initializer braces.
328
329         Backport from mainline
330         2013-08-07  Oleg Endo  <olegendo@gcc.gnu.org>
331
332         PR other/12081
333         * config/rs6000/rs6000.c (gen_2arg_fn_t): Remove typedef.
334         (rs6000_emit_swdiv_high_precision, rs6000_emit_swdiv_low_precision,
335         rs6000_emit_swrsqrt): Don't cast result of GEN_FCN to gen_2arg_fn_t.
336
337 2013-08-29  Jakub Jelinek  <jakub@redhat.com>
338
339         Backported from mainline
340         2013-05-27  Richard Biener  <rguenther@suse.de>
341
342         PR middle-end/57381
343         PR tree-optimization/57417
344         * tree-ssa-sccvn.c (vn_reference_fold_indirect): Fix test
345         for unchanged base.
346         (set_ssa_val_to): Compare addresses using
347         get_addr_base_and_unit_offset.
348
349         PR tree-optimization/57396
350         * tree-affine.c (double_int_constant_multiple_p): Properly
351         return false for val == 0 and div != 0.
352
353         PR tree-optimization/57343
354         * tree-ssa-loop-niter.c (number_of_iterations_ne_max): Do not
355         use multiple_of_p if not TYPE_OVERFLOW_UNDEFINED.
356         (number_of_iterations_cond): Do not build the folded tree.
357
358 2013-08-28  Jakub Jelinek  <jakub@redhat.com>
359
360         PR middle-end/58257
361         * omp-low.c (copy_var_decl): Copy over TREE_NO_WARNING flag.
362
363 2013-08-28  Richard Biener  <rguenther@suse.de>
364
365         Backport from mainline
366         2013-06-24  Richard Biener  <rguenther@suse.de>
367
368         PR middle-end/56977
369         * passes.c (init_optimization_passes): Move pass_fold_builtins
370         and pass_dce earlier with -Og.
371
372 2013-08-28  Uros Bizjak  <ubizjak@gmail.com>
373
374         Backport from mainline
375         2013-08-27  H.J. Lu  <hongjiu.lu@intel.com>
376
377         * config/i386/driver-i386.c (host_detect_local_cpu): Update
378         Haswell processor detection.
379
380         Backport from mainline
381         2013-08-27  Christian Widmer  <shadow@umbrox.de>
382
383         PR target/57927
384         * config/i386/driver-i386.c (host_detect_local_cpu): Add detection
385         of Ivy Bridge and Haswell processors.  Assume core-avx2 for unknown
386         AVX2 capable processors.
387
388 2013-08-23  Jakub Jelinek  <jakub@redhat.com>
389
390         PR target/58218
391         * config/i386/x86-64.h (TARGET_SECTION_TYPE_FLAGS): Define.
392         * config/i386/i386.c (x86_64_elf_section_type_flags): New function.
393
394         PR tree-optimization/58209
395         * tree-tailcall.c (find_tail_calls): Give up for pointer result types
396         if m or a is non-NULL.
397
398 2013-08-21  Richard Earnshaw  <rearnsha@arm.com>
399
400         PR target/56979
401         * arm.c (aapcs_vfp_allocate): Decompose the argument if the
402         suggested mode for the assignment isn't compatible with the
403         registers required.
404
405 2013-08-20  Alan Modra  <amodra@gmail.com>
406
407         PR target/57865
408         * config/rs6000/rs6000.c (rs6000_emit_prologue): Correct ool_adjust.
409         (rs6000_emit_epilogue): Likewise.
410
411 2013-08-19  Peter Bergner  <bergner@vnet.ibm.com>
412             Jakub Jelinek  <jakub@redhat.com>
413
414         Backport from mainline
415         * config/rs6000/dfp.md (*negtd2_fpr): Handle non-overlapping
416         destination and source operands.
417
418 2013-08-18  Jakub Jelinek  <jakub@redhat.com>
419
420         PR tree-optimization/58006
421         * tree-parloops.c (take_address_of): Don't ICE if get_name
422         returns NULL.
423         (eliminate_local_variables_stmt): Remove clobber stmts.
424
425 2013-08-16  Jakub Jelinek  <jakub@redhat.com>
426
427         PR tree-optimization/58164
428         * gimple.c (walk_stmt_load_store_addr_ops): For visit_addr
429         walk gimple_goto_dest of GIMPLE_GOTO.
430
431         PR tree-optimization/58165
432         * tree-call-cdce.c (shrink_wrap_one_built_in_call): If
433         bi_call must be the last stmt in a bb, don't split_block, instead
434         use fallthru edge from it and give up if there is none.
435         Release conds vector when returning early.
436
437 2013-08-15  David Given  <dg@cowlark.com>
438
439         Backport from mainline
440         2013-04-26  Vladimir Makarov  <vmakarov@redhat.com>
441
442         * lra-constraints.c (process_alt_operands): Use #if HAVE_ATTR_enable
443         instead of #ifdef.
444
445 2013-08-14  Jakub Jelinek  <jakub@redhat.com>
446
447         PR tree-optimization/58145
448         * tree-sra.c (build_ref_for_offset): If prev_base has
449         TREE_THIS_VOLATILE or TREE_SIDE_EFFECTS, propagate it to MEM_REF.
450
451 2013-08-14  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
452
453         * config/s390/htmxlintrin.h: Add file missing from last commit.
454         * config/s390/htmintrin.h: Likewise.
455         * config/s390/s390intrin.h: Likewise.
456
457 2013-08-14  Uros Bizjak  <ubizjak@gmail.com>
458
459         Backport from mainline
460         2013-08-13  Uros Bizjak  <ubizjak@gmail.com>
461
462         * config/i386/sse.md (*sse2_maskmovdqu): Emit addr32 prefix
463         when Pmode != word_mode.  Add length_address attribute.
464         (sse3_monitor_<mode>): Merge from sse3_monitor and
465         sse3_monitor64_<mode> insn patterns.  Emit addr32 prefix when
466         Pmode != word_mode.  Update insn length attribute.
467         * config/i386/i386.c (ix86_option_override_internal): Update
468         ix86_gen_monitor selection for merged sse3_monitor insn.
469
470 2013-08-14  Jakub Jelinek  <jakub@redhat.com>
471             Alexandre Oliva  <aoliva@redhat.com>
472
473         PR target/58067
474         * config/i386/i386.c (ix86_delegitimize_address): For CM_MEDIUM_PIC
475         and CM_LARGE_PIC ix86_cmodel fall thru into the -m32 code, handle
476         there also UNSPEC_PLTOFF.
477
478 2013-08-13  Jakub Jelinek  <jakub@redhat.com>
479
480         PR sanitizer/56417
481         * asan.c (instrument_strlen_call): Fix typo in comment.
482         Use char * type even for the lhs of POINTER_PLUS_EXPR.
483
484 2013-08-13  Vladimir Makarov  <vmakarov@redhat.com>
485
486         Backport from mainline
487         2013-06-06  Vladimir Makarov  <vmakarov@redhat.com>
488
489         PR rtl-optimization/57459
490         * lra-constraints.c (update_ebb_live_info): Fix typo for operand
491         type when setting live regs.
492
493 2013-08-13  Marek Polacek  <polacek@redhat.com>
494             Jakub Jelinek  <jakub@redhat.com>
495
496         PR tree-optimization/57980
497         * tree-tailcall.c (process_assignment): Return false
498         when not dealing with integers or floats.
499
500 2013-08-12  Andrew Haley  <aph@redhat.com>
501
502         Backport from mainline:
503         * 2013-07-11  Andreas Schwab  <schwab@suse.de>
504
505         * config/aarch64/aarch64-linux.h (CPP_SPEC): Define.
506
507 2013-08-13  Uros Bizjak  <ubizjak@gmail.com>
508
509         Backport from mainline
510         2013-08-12  Perez Read  <netfirewall@gmail.com>
511
512         PR target/58132
513         * config/i386/i386.md (*movabs<mode>_1):  Add <ptrsize> PTR before
514         operand 0 for intel asm alternative.
515         (*movabs<mode>_2): Ditto for operand 1.
516
517 2013-08-09  Zhenqiang Chen  <zhenqiang.chen@linaro.org>
518
519         Backport from mainline:
520         2013-08-09  Zhenqiang Chen  <zhenqiang.chen@linaro.org>
521
522         * config/arm/neon.md (vcond): Fix floating-point vector
523         comparisons against 0.
524
525 2013-08-08  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
526
527         Backport from mainline:
528         2013-08-08  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
529
530         * config/arm/neon.md (movmisalign<mode>): Disable when we
531         don't allow unaligned accesses.
532         (*movmisalign<mode>_neon_store): Likewise.
533         (*movmisalign<mode>_neon_load): Likewise.
534         (*movmisalign<mode>_neon_store): Likewise.
535         (*movmisalign<mode>_neon_load): Likewise.
536
537 2013-08-06  Martin Jambor  <mjambor@suse.cz>
538
539         PR middle-end/58041
540         * gimple-ssa-strength-reduction.c (replace_ref): Make sure built
541         MEM_REF has proper alignment information.
542
543 2013-08-05  Richard Earnshaw  <rearnsha@arm.com>
544
545         PR rtl-optimization/57708
546         * recog.c (peep2_find_free_register): Validate all regs in a
547         multi-reg mode.
548
549 2013-08-02  Eric Botcazou  <ebotcazou@adacore.com>
550
551         * config/sparc/sparc.c (sparc_emit_membar_for_model) <SMM_TSO>: Add
552         the implied StoreLoad barrier for atomic operations if before.
553
554 2013-08-02  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
555
556         Backports from mainline:
557         2013-06-27  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
558
559         * config/s390/s390.c: Rename UNSPEC_CCU_TO_INT to
560         UNSPEC_STRCMPCC_TO_INT and UNSPEC_CCZ_TO_INT to UNSPEC_CC_TO_INT.
561         (struct machine_function): Add tbegin_p.
562         (s390_canonicalize_comparison): Fold CC mode compares to
563         conditional jump if possible.
564         (s390_emit_jump): Return the emitted jump.
565         (s390_branch_condition_mask, s390_branch_condition_mnemonic):
566         Handle CCRAWmode compares.
567         (s390_option_override): Default to -mhtm if available.
568         (s390_reg_clobbered_rtx): Handle floating point regs as well.
569         (s390_regs_ever_clobbered): Use s390_regs_ever_clobbered also for
570         FPRs instead of df_regs_ever_live_p.
571         (s390_optimize_nonescaping_tx): New function.
572         (s390_init_frame_layout): Extend clobbered_regs array to cover
573         FPRs as well.
574         (s390_emit_prologue): Call s390_optimize_nonescaping_tx.
575         (s390_expand_tbegin): New function.
576         (enum s390_builtin): New enum definition.
577         (code_for_builtin): New array definition.
578         (s390_init_builtins): New function.
579         (s390_expand_builtin): New function.
580         (TARGET_INIT_BUILTINS): Define.
581         (TARGET_EXPAND_BUILTIN): Define.
582         * common/config/s390/s390-common.c (processor_flags_table): Add PF_TX.
583         * config/s390/predicates.md (s390_comparison): Handle CCRAWmode.
584         (s390_alc_comparison): Likewise.
585         * config/s390/s390-modes.def: Add CCRAWmode.
586         * config/s390/s390.h (processor_flags): Add PF_TX.
587         (TARGET_CPU_HTM): Define macro.
588         (TARGET_HTM): Define macro.
589         (TARGET_CPU_CPP_BUILTINS): Define __HTM__ for htm.
590         * config/s390/s390.md: Rename UNSPEC_CCU_TO_INT to
591         UNSPEC_STRCMPCC_TO_INT and UNSPEC_CCZ_TO_INT to UNSPEC_CC_TO_INT.
592         (UNSPECV_TBEGIN, UNSPECV_TBEGINC, UNSPECV_TEND, UNSPECV_TABORT)
593         (UNSPECV_ETND, UNSPECV_NTSTG, UNSPECV_PPA): New unspecv enum
594         values.
595         (TBEGIN_MASK, TBEGINC_MASK): New constants.
596         ("*cc_to_int"): Move up.
597         ("*mov<mode>cc", "*cjump_64", "*cjump_31"): Accept integer
598         constants other than 0.
599         ("*ccraw_to_int"): New insn and splitter definition.
600         ("tbegin", "tbegin_nofloat", "tbegin_retry")
601         ("tbegin_retry_nofloat", "tbeginc", "tend", "tabort")
602         ("tx_assist"): New expander.
603         ("tbegin_1", "tbegin_nofloat_1", "*tbeginc_1", "*tend_1")
604         ("*tabort_1", "etnd", "ntstg", "*ppa"): New insn definition.
605         * config/s390/s390.opt: Add -mhtm option.
606         * config/s390/s390-protos.h (s390_emit_jump): Add return type.
607         * config/s390/htmxlintrin.h: New file.
608         * config/s390/htmintrin.h: New file.
609         * config/s390/s390intrin.h: New file.
610         * doc/extend.texi: Document htm builtins.
611         * config.gcc: Add the new header files to extra_headers.
612
613         2013-07-17  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
614
615         * config/s390/s390.c: (s390_expand_builtin): Allow -mhtm to be
616         enabled without -march=zEC12.
617         * config/s390/s390.h (TARGET_HTM): Do not require EC12 machine
618         flags to be set.
619
620 2013-08-01  Ganesh Gopalasubramanian  <Ganesh.Gopalasubramanian@amd.com>
621
622         Backport from mainline
623         2013-05-13  Ganesh Gopalasubramanian
624                     <Ganesh.Gopalasubramanian@amd.com>
625
626         * config/i386/i386.c (processor_target_table): Modified default
627         alignment values for AMD BD and BT architectures.
628
629 2013-07-31  Sriraman Tallam  <tmsriram@google.com>
630
631         * config/i386/i386.c (dispatch_function_versions): Fix array
632         indexing of function_version_info to match actual_versions.
633
634 2013-07-31  Sebastian Huber  <sebastian.huber@embedded-brains.de>
635
636         * config.gcc (*-*-rtems*): Use __cxa_atexit by default.
637         * config/rs6000/rtems.h (TARGET_LIBGCC_SDATA_SECTION): Define.
638
639 2013-07-31  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
640
641         Backport from mainline
642         2013-03-27  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
643
644         * config/s390/s390.h (TARGET_FLT_EVAL_METHOD): Define.
645
646         2013-07-23  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
647
648         * config/s390/linux-unwind.h: Use the proper dwarf to hard reg
649         mapping for FPRs when creating the fallback framestate.
650
651         2013-07-29  Dominik Vogt  <vogt@linux.vnet.ibm.com>
652
653         * config/s390/s390.md ("movcc"): Swap load and store instructions.
654
655 2013-07-25  Terry Guo  <terry.guo@arm.com>
656
657         Backport from mainline:
658         2013-07-25  Terry Guo  <terry.guo@arm.com>
659
660         * config/arm/arm.c (thumb1_size_rtx_costs): Assign proper cost for
661         shift_add/shift_sub0/shift_sub1 RTXs.
662
663 2013-07-22  Iain Sandoe  <iain@codesourcery.com>
664
665         Backport from mainline:
666         2013-07-22  Uros Bizjak  <ubizjak@gmail.com>
667
668         * config/i386/i386.md (nonlocal_goto_receiver): Delete insn if
669         it is not needed after split.
670
671         2013-07-20  Iain Sandoe  <iain@codesourcery.com>
672
673         PR target/51784
674         * config/i386/i386.c (output_set_got) [TARGET_MACHO]: Adjust to emit a
675         second label for nonlocal goto receivers. Don't output pic base labels
676         unless we're producing PIC; mark that action unreachable().
677         (ix86_save_reg): If the function contains a nonlocal label, save the
678         PIC base reg.
679         * config/darwin-protos.h (machopic_should_output_picbase_label): New.
680         * gcc/config/darwin.c (emitted_pic_label_num): New GTY.
681         (update_pic_label_number_if_needed): New.
682         (machopic_output_function_base_name): Adjust for nonlocal receiver
683         case.
684         (machopic_should_output_picbase_label): New.
685         * config/i386/i386.md (enum unspecv): UNSPECV_NLGR: New.
686         (nonlocal_goto_receiver): New insn and split.
687
688 2013-07-19 Wei Mi  <wmi@google.com>
689
690         Backport from mainline:
691         2013-07-18  Vladimir Makarov  <vmakarov@redhat.com>
692                     Wei Mi  <wmi@google.com>
693
694         PR rtl-optimization/57878
695         * lra-assigns.c (assign_by_spills): Move non_reload_pseudos to the
696         top. Promote lra_assert to gcc_assert.
697         (reload_pseudo_compare_func): Check regs first for reload pseudos.
698
699 2013-07-11  Georg-Johann Lay  <avr@gjlay.de>
700
701         Backport from 2013-07-19 trunk r201051.
702
703         PR target/57516
704         * config/avr/avr-fixed.md (round<mode>3_const): Turn expander to insn.
705         * config/avr/avr.md (adjust_len): Add `round'.
706         * config/avr/avr-protos.h (avr_out_round): New prototype.
707         (avr_out_plus): Add `out_label' argument.
708         * config/avr/avr.c (avr_out_plus_1): Add `out_label' argument.
709         (avr_out_plus): Pass down `out_label' to avr_out_plus_1.
710         Handle the case where `insn' is just a pattern.
711         (avr_out_bitop): Handle the case where `insn' is just a pattern.
712         (avr_out_round): New function.
713         (avr_adjust_insn_length): Handle ADJUST_LEN_ROUND.
714
715 2013-07-19  Kirill Yukhin  <kirill.yukhin@intel.com>
716
717         * config/i386/bmiintrin.h (_bextr_u32): New.
718         (_bextr_u64): Ditto.
719         (_blsi_u32): New.
720         (_blsi_u64): Ditto.
721         (_blsr_u32): Ditto.
722         (_blsr_u64): Ditto.
723         (_blsmsk_u32): Ditto.
724         (_blsmsk_u64): Ditto.
725         (_tzcnt_u32): Ditto.
726         (_tzcnt_u64): Ditto.
727
728 2013-07-17  James Greenhalgh  <james.greenhalgh@arm.com>
729
730         Backport From mainline:
731         2013-07-03  James Greenhalgh  <james.greenhalgh@arm.com>
732
733         * config/aarch64/aarch64-builtins.c
734         (aarch64_simd_expand_builtin): Handle AARCH64_SIMD_STORE1.
735         * config/aarch64/aarch64-simd-builtins.def (ld1): New.
736         (st1): Likewise.
737         * config/aarch64/aarch64-simd.md
738         (aarch64_ld1<VALL:mode>): New.
739         (aarch64_st1<VALL:mode>): Likewise.
740         * config/aarch64/arm_neon.h
741         (vld1<q>_<fpsu><8, 16, 32, 64>): Convert to RTL builtins.
742
743 2013-07-11  Georg-Johann Lay  <avr@gjlay.de>
744
745         Backport from 2013-07-11 trunk r200901.
746
747         PR target/57631
748         * config/avr/avr.c (avr_set_current_function): Sanity-check signal
749         name seen by assembler/linker if available.
750
751 2013-07-10  Georg-Johann Lay  <avr@gjlay.de>
752
753         Backport from 2013-07-10 trunk r200872.
754
755         PR target/57844
756         * config/avr/avr.c (avr_prologue_setup_frame): Trunk -size to mode
757         of my_fp.
758
759 2013-07-10  Georg-Johann Lay  <avr@gjlay.de>
760
761         Backport from 2013-07-10 trunk r200870.
762
763         PR target/57506
764         * config/avr/avr-mcus.def (atmega16hva, atmega16hva2, atmega16hvb)
765         (atmega16m1, atmega16u4, atmega32a, atmega32c1, atmega32hvb)
766         (atmega32m1, atmega32u4, atmega32u6, atmega64c1, atmega64m1):
767         Remove duplicate devices.
768         * config/avr/gen-avr-mmcu-texi.c (print_mcus): Fail on duplicate MCUs.
769         * config/avr/t-multilib: Regenerate.
770         * config/avr/avr-tables.opt: Regenerate.
771         * doc/avr-mmcu.texi: Regenerate.
772
773 2013-07-10  Georg-Johann Lay  <avr@gjlay.de>
774
775         PR target/56987
776         * config/avr/avr.opt (Waddr-space-convert): Fix typo.
777
778 2013-07-09  Joseph Myers  <joseph@codesourcery.com>
779
780         * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Only
781         adjust register size for TDmode and TFmode for VSX registers.
782
783 2013-07-08  Kai Tietz  <ktietz@redhat.com>
784
785         Backport from mainline
786         PR target/56892
787         * config/i386/i386.c (TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P): Define as
788         hook_bool_const_tree_true.
789
790 2013-07-08  Uros Bizjak  <ubizjak@gmail.com>
791
792         Backport from mainline
793         2013-07-07  Uros Bizjak  <ubizjak@gmail.com>
794
795         * config/i386/driver-i386.c (host_detect_local_cpu): Do not check
796         signature_TM2_ebx, it interferes with signature_INTEL_ebx.
797
798         Backport from mainline
799         2013-07-06  Uros Bizjak  <ubizjak@gmail.com>
800
801         * config/i386/sse.md (sse_movlhps): Change alternative 3
802         of operand 2 to "m".
803
804 2013-07-08  Eric Botcazou  <ebotcazou@adacore.com>
805
806         * Makefile.in (tree-ssa-reassoc.o): Add dependency on $(PARAMS_H).
807
808 2013-07-08  Jakub Jelinek  <jakub@redhat.com>
809
810         PR rtl-optimization/57829
811         * simplify-rtx.c (simplify_binary_operation_1) <case IOR>: Ensure that
812         mask bits outside of mode are just sign-extension from mode to HWI.
813
814 2013-07-03  Jakub Jelinek  <jakub@redhat.com>
815
816         PR target/57777
817         * config/i386/predicates.md (vsib_address_operand): Disallow
818         SYMBOL_REF or LABEL_REF in parts.disp if TARGET_64BIT && flag_pic.
819
820 2013-06-30  Terry Guo  <terry.guo@arm.com>
821
822         Backport from mainline
823         2013-03-27  Bin Cheng  <bin.cheng@arm.com>
824
825         PR target/56102
826         * config/arm/arm.c (thumb1_rtx_costs, thumb1_size_rtx_costs): Fix
827         rtx costs for SET/ASHIFT/ASHIFTRT/LSHIFTRT/ROTATERT patterns with
828         mult-word mode.
829
830 2013-06-28  Jakub Jelinek  <jakub@redhat.com>
831
832         PR target/57736
833         * config/i386/i386.c (ix86_expand_builtin): If target == NULL
834         and mode is VOIDmode, don't create a VOIDmode pseudo to copy result
835         into.
836
837 2013-06-27  Jakub Jelinek  <jakub@redhat.com>
838
839         PR target/57623
840         * config/i386/i386.md (bmi_bextr_<mode>): Swap predicates and
841         constraints of operand 1 and 2.
842
843         PR target/57623
844         * config/i386/i386.md (bmi2_bzhi_<mode>3): Swap AND arguments
845         to match RTL canonicalization.  Swap predicates and
846         constraints of operand 1 and 2.
847
848         * tree-vect-stmts.c (vectorizable_store): Move ptr_incr var
849         decl before the loop, initialize to NULL.
850         (vectorizable_load): Initialize ptr_incr to NULL.
851
852 2013-06-24  Martin Jambor  <mjambor@suse.cz>
853
854         PR tree-optimization/57358
855         * ipa-prop.c (parm_ref_data_preserved_p): Always return true when
856         not optimizing.
857
858 2013-06-24  Alan Modra  <amodra@gmail.com>
859
860         * config/rs6000/rs6000.c (vspltis_constant): Correct for little-endian.
861         (gen_easy_altivec_constant): Likewise.
862         * config/rs6000/predicates.md (easy_vector_constant_add_self,
863         easy_vector_constant_msb): Likewise.
864
865 2013-06-21  Uros Bizjak  <ubizjak@gmail.com>
866
867         Backport from mainline
868         2013-06-20  Uros Bizjak  <ubizjak@gmail.com>
869
870         PR target/57655
871         * config/i386/i386.c (construct_container): Report error if
872         long double is used with disabled x87 float returns.
873
874 2013-06-20  Wei Mi  <wmi@google.com>
875
876         Backport from mainline
877         2013-06-19  Wei Mi  <wmi@google.com>
878
879         PR rtl-optimization/57518
880         * ira.c (set_paradoxical_subreg): Set pdx_subregs[regno]
881         if regno is used in paradoxical subreg.
882         (update_equiv_regs): Check pdx_subregs[regno] before
883         set a reg to be equivalent with a mem.
884
885
886 2013-06-20  David Edelsohn  <dje.gcc@gmail.com>
887
888         Backport from mainline
889         2013-06-19  David Edelsohn  <dje.gcc@gmail.com>
890
891         PR driver/57652
892         * collect2.c (collect_atexit): New.
893         (collect_exit): Delete.
894         (main): Register collect_atexit with atexit.
895         (collect_wait): Change collect_exit to exit.
896         (do_wait): Same.
897         * collect2.h (collect_exit): Delete.
898         * tlink.c (do_tlink): Rename exit to ret. Change collect_exit to exit.
899
900 2013-06-19  Matthias Klose  <doko@ubuntu.com>
901
902         PR driver/57651
903         * file-find.h (find_a_file): Add a mode parameter.
904         * file-find.c (find_a_file): Likewise.
905         * gcc-ar.c (main): Call find_a_file with R_OK for the plugin,
906         with X_OK for the executables.
907         * collect2.c (main): Call find_a_file with X_OK.
908
909 2013-06-19  Igor Zamyatin  <igor.zamyatin@intel.com>
910
911         * doc/invoke.texi (core-avx2): Document.
912         (atom): Updated with MOVBE.
913
914 2013-06-19  Jakub Jelinek  <jakub@redhat.com>
915
916         PR driver/57651
917         * gcc-ar.c (main): If not CROSS_DIRECTORY_STRUCTURE, look for
918         PERSONALITY in $PATH derived prefixes.
919
920 2013-06-19  Paolo Carlini  <paolo.carlini@oracle.com>
921
922         PR c++/56544
923         * doc/cpp.texi [Standard Predefined Macros, __cplusplus]: Document
924         that now in C++ the value is correct per the C++ standards.
925
926 2013-06-19  Alan Modra  <amodra@gmail.com>
927
928         Apply mainline patches
929         2013-06-13  Alan Modra  <amodra@gmail.com>
930         * config/rs6000/rs6000.h (LONG_DOUBLE_LARGE_FIRST): Define.
931         * config/rs6000/rs6000.md (signbittf2): New insn.
932         (extenddftf2_internal): Use LONG_DOUBLE_LARGE_FIRST.
933         (abstf2_internal, cmptf_internal2): Likewise.
934         * config/rs6000/spe.md (spe_abstf2_cmp, spe_abstf2_tst): Likewise.
935
936         2013-06-11  Anton Blanchard  <anton@samba.org>
937         * config/rs6000/rs6000.c (rs6000_adjust_atomic_subword): Calculate
938         correct shift value in little-endian mode.
939
940         2013-06-07  Alan Modra  <amodra@gmail.com>
941         * config/rs6000/rs6000.c (setup_incoming_varargs): Round up
942         va_list_gpr_size.
943
944         2013-06-04  Alan Modra  <amodra@gmail.com>
945         * config/rs6000/rs6000.c (output_toc): Correct little-endian float
946         constant output.
947
948         2013-05-10  Alan Modra  <amodra@gmail.com>
949         * configure.ac (HAVE_AS_TLS): Swap powerpc64 and powerpc cases.
950         (HAVE_LD_LARGE_TOC): Don't mention AIX in help text.
951         * configure: Regenerate.
952
953         2013-05-09  Alan Modra  <amodra@gmail.com>
954         * configure.ac (HAVE_AS_TLS): Enable tests for powerpcle and
955         powerpc64le.
956         * configure: Regenerate.
957
958         2013-05-07  Anton Blanchard  <anton@samba.org>
959         * configure.ac (HAVE_LD_LARGE_TOC): Use right linker emulation
960         for powerpc64 little endian.
961         * configure: Regenerate.
962
963         2013-05-06  Alan Modra  <amodra@gmail.com>
964         * config/rs6000/linux.h (DEFAULT_ASM_ENDIAN): Define.
965         (LINK_OS_LINUX_EMUL): Use ENDIAN_SELECT.
966         * config/rs6000/linux64.h (DEFAULT_ASM_ENDIAN): Define.
967         * config/rs6000/sysv4le.h (DEFAULT_ASM_ENDIAN): Define.
968         (LINK_TARGET_SPEC): Use ENDIAN_SELECT.
969         * config/rs6000/sysv4.h (DEFAULT_ASM_ENDIAN): Define as -mbig.
970
971         2013-05-06  Alan Modra  <amodra@gmail.com>
972         * config/rs6000/sysv4.h (ENDIAN_SELECT): Define, extracted from
973         (ASM_SPEC): ..here.  Emit DEFAULT_ASM_ENDIAN too.
974         (DEFAULT_ASM_ENDIAN): Define.
975         (CC1_SPEC, LINK_TARGET_SPEC): Use ENDIAN_SELECT.
976         * config/rs6000/linux64.h (ASM_SPEC32): Remove endian options.
977         Update -K PIC clause from sysv4.h.
978         (ASM_SPEC_COMMON): Use ENDIAN_SELECT.
979         (LINK_OS_LINUX_EMUL32, LINK_OS_LINUX_EMUL64): Likewise.
980
981         2013-05-06  Alan Modra  <amodra@gmail.com>
982         * config/rs6000/rs6000.md (bswapdi 2nd splitter): Don't swap words
983         twice for little-endian.
984         (ashrdi3_no_power, ashrdi3): Support little-endian.
985
986         2013-04-25  Alan Modra  <amodra@gmail.com>
987         * config.gcc: Support little-endian powerpc-linux targets.
988         * config/rs6000/linux.h (LINK_OS_LINUX_EMUL): Define.
989         (LINK_OS_LINUX_SPEC): Define.
990         * config/rs6000/linuxspe.h (TARGET_DEFAULT):
991         Preserve MASK_LITTLE_ENDIAN.
992         * config/rs6000/default64.h (TARGET_DEFAULT): Likewise.
993         * config/rs6000/linuxaltivec.h (TARGET_DEFAULT): Likewise.
994         * config/rs6000/linux64.h (OPTION_LITTLE_ENDIAN): Don't zero.
995         (LINK_OS_LINUX_EMUL32, LINK_OS_LINUX_EMUL64): Define.
996         (LINK_OS_LINUX_SPEC32, LINK_OS_LINUX_SPEC64): Use above.
997         * config/rs6000/rs6000.c (output_toc): Don't use .tc for TARGET_ELF.
998         Correct fp word order for little-endian.  Don't shift toc entries
999         smaller than a word for little-endian.
1000         * config/rs6000/rs6000.md (bswaphi2, bswapsi2 split): Comment.
1001         (bswapdi2 splits): Correct low-part subreg for little-endian.
1002         Remove wrong BYTES_BIG_ENDIAN tests, and rename vars to remove
1003         low/high where such is correct only for be.
1004         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Allow
1005         little-endian for -mcall-aixdesc.
1006
1007 2013-06-12  Martin Jambor  <mjambor@suse.cz>
1008
1009         * ipa-cp.c (ipa_get_indirect_edge_target_1): Check that param_index is
1010         within bounds at the beginning of the function.
1011
1012 2013-06-12  Jakub Jelinek  <jakub@redhat.com>
1013
1014         PR tree-optimization/57537
1015         * tree-vect-patterns.c (vect_recog_widen_mult_pattern): If
1016         vect_handle_widen_op_by_const, convert oprnd1 to half_type1.
1017
1018 2013-06-10  Uros Bizjak  <ubizjak@gmail.com>
1019
1020         Backport from mainline
1021         2013-06-10  Uros Bizjak  <ubizjak@gmail.com>
1022
1023         * config/alpha/alpha.c (alpha_emit_xfloating_compare): Also use
1024         cmp_code to construct REG_EQUAL note.
1025
1026 2013-06-10  Oleg Endo  <olegendo@gcc.gnu.org>
1027
1028         Backport from mainline
1029         2013-05-20  Oleg Endo  <olegendo@gcc.gnu.org>
1030
1031         PR target/56547
1032         * config/sh/sh.md (fmasf4): Remove empty constraints strings.
1033         (*fmasf4, *fmasf4_media): New insns.
1034
1035 2013-06-09  Jakub Jelinek  <jakub@redhat.com>
1036
1037         PR target/57568
1038         * config/i386/i386.md (TARGET_READ_MODIFY_WRITE peepholes): Ensure
1039         that operands[2] doesn't overlap with operands[0].
1040
1041 2013-06-07  Richard Sandiford  <rsandifo@linux.vnet.ibm.com>
1042
1043         * recog.c (offsettable_address_addr_space_p): Fix calculation of
1044         address mode.  Move pointer mode initialization to the same place.
1045
1046 2013-06-07  Sofiane Naci  <sofiane.naci@arm.com>
1047
1048         Backport from mainline
1049         * config/aarch64/aarch64.md (*movdi_aarch64): Define "simd" attribute.
1050
1051 2013-06-07  Uros Bizjak  <ubizjak@gmail.com>
1052
1053         Backport from mainline
1054         2013-06-05  Uros Bizjak  <ubizjak@gmail.com>
1055
1056         * config/alpha/alpha.c (alpha_emit_conditional_move): Swap all
1057         GE, GT, GEU and GTU compares, modulo DImode compares with zero.
1058
1059         Backport from mainline
1060         2013-05-23  Uros Bizjak  <ubizjak@gmail.com>
1061
1062         PR target/57379
1063         * config/alpha/alpha.md (unspec): Add UNSPEC_XFLT_COMPARE.
1064         * config/alpha/alpha.c (alpha_emit_xfloating_compare): Construct
1065         REG_EQUAL note as UNSPEC_XFLT_COMPARE unspec.
1066
1067 2013-06-04  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
1068
1069         Backport from mainline.
1070         2013-05-22  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
1071
1072         * config/rs6000/rs6000.h (MALLOC_ABI_ALIGNMENT): New #define.
1073
1074 2013-06-03  James Greenhalgh  <james.greenhalgh@arm.com>
1075
1076         Backport from mainline.
1077         2013-04-25  James Greenhalgh  <james.greenhalgh@arm.com>
1078
1079         * config/aarch64/aarch64.c (aarch64_print_operand): Fix asm_fprintf
1080         format specifier in 'X' case.
1081
1082 2013-05-31  Richard Henderson  <rth@redhat.com>
1083
1084         PR target/56742
1085         * config/i386/i386.c (ix86_seh_fixup_eh_fallthru): New.
1086         (ix86_reorg): Call it.
1087
1088 2012-05-31  Jakub Jelinek  <jakub@redhat.com>
1089
1090         * BASE-VER: Set to 4.8.2.
1091         * DEV-PHASE: Set to prerelease.
1092
1093 2013-05-31  Release Manager
1094
1095         * GCC 4.8.1 released.
1096
1097 2013-05-24  Greta Yorsh  <Greta.Yorsh@arm.com>
1098
1099         Backport from mainline
1100         2013-05-02  Greta Yorsh  <Greta.Yorsh@arm.com>
1101
1102         PR target/56732
1103         * config/arm/arm.c (arm_expand_epilogue): Check really_return before
1104         generating simple_return for naked functions.
1105
1106 2013-05-24  Alexander Ivchenko  <alexander.ivchenko@intel.com>
1107
1108         PR tree-ssa/57385
1109         * tree-ssa-sccvn.c (fully_constant_vn_reference_p): Check
1110         that index is not negative.
1111
1112 2013-05-23  Martin Jambor  <mjambor@suse.cz>
1113
1114         PR middle-end/57347
1115         * tree.h (contains_bitfld_component_ref_p): Declare.
1116         * tree-sra.c (contains_bitfld_comp_ref_p): Move...
1117         * tree.c (contains_bitfld_component_ref_p): ...here.  Adjust its caller.
1118         * ipa-prop.c (determine_known_aggregate_parts): Check that LHS does
1119         not access a bit-field.  Assert all final offsets are byte-aligned.
1120
1121 2013-05-23  Richard Biener  <rguenther@suse.de>
1122
1123         PR rtl-optimization/57341
1124         * ira.c (validate_equiv_mem_from_store): Use anti_dependence
1125         instead of true_dependence.
1126
1127 2013-05-23  Jakub Jelinek  <jakub@redhat.com>
1128
1129         PR middle-end/57344
1130         * expmed.c (store_split_bit_field): If op0 is a REG or
1131         SUBREG of a REG, don't lower unit.  Handle unit not being
1132         always BITS_PER_WORD.
1133
1134 2013-05-22  Uros Bizjak  <ubizjak@gmail.com>
1135
1136         PR target/57356
1137         * config/i386/i386.md (*movti_internal_rex64): Emit movaps/movups
1138         for non-sse2 targets.
1139         (*movti_internal): Simplify mode attribute calculation.
1140
1141 2013-05-22  Richard Biener  <rguenther@suse.de>
1142
1143         Backport from mainline
1144         2013-05-21  Richard Biener  <rguenther@suse.de>
1145
1146         PR tree-optimization/57318
1147         * tree-ssa-loop-ivcanon.c (tree_estimate_loop_size): Do not
1148         estimate stmts with side-effects as likely eliminated.
1149
1150         2013-05-21  Richard Biener  <rguenther@suse.de>
1151
1152         PR tree-optimization/57330
1153         * cgraph.c (cgraph_redirect_edge_call_stmt_to_callee): Properly
1154         preserve the call stmts fntype.
1155
1156         2013-05-21  Richard Biener  <rguenther@suse.de>
1157
1158         PR tree-optimization/57303
1159         * tree-ssa-sink.c (statement_sink_location): Properly handle
1160         self-assignments.
1161
1162 2013-05-21  Magnus Granberg  <baldrick@free.fr>
1163
1164         PR plugins/56754
1165         * Makefile.in (PLUGIN_HEADERS): Add $(TARGET_H).
1166
1167 2013-05-21  Eric Botcazou  <ebotcazou@adacore.com>
1168
1169         Backport from mainline
1170         2013-05-14  Eric Botcazou  <ebotcazou@adacore.com>
1171
1172         * config/sparc/sp64-elf.h (CPP_SUBTARGET_SPEC): Delete.
1173         * config/sparc/openbsd64.h (CPP_SUBTARGET_SPEC): Likewise.
1174
1175 2013-05-17  Jakub Jelinek  <jakub@redhat.com>
1176
1177         PR rtl-optimization/57281
1178         PR rtl-optimization/57300
1179         * config/i386/i386.md (extendsidi2_1 dead reg splitter): Remove.
1180         (extendsidi2_1 peephole2s): Add instead 2 new peephole2s, that undo
1181         what the other splitter did if the registers are dead.
1182
1183 2013-05-17  Uros Bizjak  <ubizjak@gmail.com>
1184
1185         Backport from mainline
1186         2013-05-16  Uros Bizjak  <ubizjak@gmail.com>
1187
1188         * config/i386/driver-i386.c (host_detect_local_cpu): Determine
1189         cache parameters using detect_caches_amd also for CYRIX,
1190         NSC and TM2 signatures.
1191
1192         2013-05-16  Uros Bizjak  <ubizjak@gmail.com>
1193                     Dzianis Kahanovich  <mahatma@eu.by>
1194
1195         PR target/45359
1196         PR target/46396
1197         * config/i386/driver-i386.c (host_detect_local_cpu): Detect
1198         VIA/Centaur processors and determine their cache parameters
1199         using detect_caches_amd.
1200
1201         2013-05-15  Uros Bizjak  <ubizjak@gmail.com>
1202
1203         * config/i386/i386.c (ix86_option_override_internal): Update
1204         processor_alias_table for missing PTA_PRFCHW and PTA_FXSR flags.  Add
1205         PTA_POPCNT to corei7 entry. Do not enable SSE prefetch on
1206         non-SSE 3dNow! targets.  Enable TARGET_PRFCHW for TARGET_3DNOW targets.
1207         * config/i386/i386.md (prefetch): Enable for TARGET_PRFCHW instead
1208         of TARGET_3DNOW.
1209         (*prefetch_3dnow): Enable for TARGET_PRFCHW only.
1210
1211 2013-05-17  Jakub Jelinek  <jakub@redhat.com>
1212
1213         * gcc.c (SANITIZER_SPEC): Reject -fsanitize=address -fsanitize=thread
1214         linking.
1215
1216         PR tree-optimization/57051
1217         * fold-const.c (const_binop) <case VEC_LSHIFT_EXPR,
1218         case VEC_RSHIFT_EXPR>: Fix BYTES_BIG_ENDIAN handling.
1219
1220 2013-05-16  Jakub Jelinek  <jakub@redhat.com>
1221
1222         * omp-low.c (extract_omp_for_data): For collapsed loops,
1223         if at least one of the loops is known at compile time to
1224         iterate zero times, set count to 0.
1225         (expand_omp_regimplify_p): New function.
1226         (expand_omp_for_generic): For collapsed loops, if at least
1227         one of the loops isn't known to iterate at least once,
1228         add runtime check with setting count to 0.
1229         (expand_omp_for_static_nochunk, expand_omp_for_static_chunk):
1230         For unsigned types if it isn't known at compile time that
1231         the loop will iterate at least once, add runtime check to bypass
1232         the whole loop if initial condition isn't true.
1233
1234 2013-05-14  Jakub Jelinek  <jakub@redhat.com>
1235
1236         PR middle-end/57251
1237         * expr.c (expand_expr_real_2) <case WIDEN_MULT_EXPR>: Handle
1238         the case when both op0 and op1 have VOIDmode.
1239
1240 2013-05-13  Jakub Jelinek  <jakub@redhat.com>
1241
1242         PR tree-optimization/57230
1243         * tree-ssa-strlen.c (handle_char_store): Add missing integer_zerop
1244         check.
1245
1246 2013-05-12  Joern Rennecke  <joern.rennecke@embecosm.com>
1247
1248         * config/epiphany/epiphany.c (epiphany_init): Check size of
1249         NUM_MODES_FOR_MODE_SWITCHING.
1250         (epiphany_expand_prologue):
1251         Remove CONFIG_REGNUM initial value handling code.
1252         (epiphany_optimize_mode_switching): Handle EPIPHANY_MSW_ENTITY_CONFIG.
1253         (epiphany_mode_needed, epiphany_mode_entry_exit): Likewise.
1254         (emit_set_fp_mode, epiphany_mode_after): Likewise.
1255         (epiphany_mode_needed) <Handle EPIPHANY_MSW_ENTITY_AND>:
1256         Don't return 1 for FP_MODE_NONE.
1257         * config/epiphany/epiphany.h (NUM_MODES_FOR_MODE_SWITCHING):
1258         Add value for EPIPHANY_MSW_ENTITY_CONFIG.
1259         (EPIPHANY_MSW_ENTITY_CONFIG, EPIPHANY_MSW_ENTITY_NUM): Define.
1260         * config/epiphany/epiphany.md (save_config): New pattern.
1261
1262 2013-05-10  Sebastian Huber  <sebastian.huber@embedded-brains.de>
1263
1264         * config/arm/t-rtems-eabi: Remove mthumb/march=armv7 multilib.
1265         Add mthumb/march=armv7-a multilib.
1266         Add mthumb/march=armv7-r multilib.
1267         Add mthumb/march=armv7-a/mfpu=neon/mfloat-abi=hard multilib.
1268
1269 2013-05-10  Ralf Corsépius  <ralf.corsepius@rtems.org>
1270
1271         PR target/57237
1272         * config/v850/t-rtems: Add more multilibs.
1273
1274 2013-05-10  Richard Biener  <rguenther@suse.de>
1275
1276         PR tree-optimization/57214
1277         * tree-ssa-loop-ivcanon.c (propagate_constants_for_unrolling): Do
1278         not propagate from SSA names that occur in abnormal PHI nodes.
1279
1280 2013-05-10  Alan Modra  <amodra@gmail.com>
1281
1282         PR target/55033
1283         * varasm.c (default_elf_select_section): Move !DECL_P check..
1284         (get_named_section): ..to here before calling get_section_name.
1285         Adjust assertion.
1286         (default_section_type_flags): Add DECL_P check.
1287         * config/i386/winnt.c (i386_pe_section_type_flags): Likewise.
1288         * config/rs6000/rs6000.c (rs6000_xcoff_section_type_flags): Likewise.
1289
1290 2013-05-09  Joern Rennecke  <joern.rennecke@embecosm.com>
1291
1292         * config/epiphany/epiphany.c (epiphany_expand_prologue):
1293         When using gen_stack_adjust_str with a register offset, add a
1294         REG_FRAME_RELATED_EXPR note.
1295
1296 2013-05-09  Martin Jambor  <mjambor@suse.cz>
1297
1298         PR middle-end/56988
1299         * ipa-prop.h (ipa_agg_replacement_value): New flag by_ref.
1300         * ipa-cp.c (find_aggregate_values_for_callers_subset): Fill in the
1301         by_ref flag of ipa_agg_replacement_value structures.
1302         (known_aggs_to_agg_replacement_list): Likewise.
1303         * ipa-prop.c (write_agg_replacement_chain): Stream by_ref flag.
1304         (read_agg_replacement_chain): Likewise.
1305         (ipcp_transform_function): Also check that by_ref flags match.
1306
1307 2013-05-08  Diego Novillo  <dnovillo@google.com>
1308
1309         PR bootstrap/54659
1310
1311         Revert:
1312
1313         2012-08-17  Diego Novillo  <dnovillo@google.com>
1314
1315                 PR bootstrap/54281
1316                 * configure.ac: Add libintl.h to AC_CHECK_HEADERS list.
1317                 * config.in: Regenerate.
1318                 * configure: Regenerate.
1319                 * intl.h: Always include libintl.h if HAVE_LIBINTL_H is
1320                 set.
1321
1322 2013-05-08  Paolo Carlini  <paolo.carlini@oracle.com>
1323
1324         PR tree-optimization/57200
1325         * tree-ssa-loop-niter.c (do_warn_aggressive_loop_optimizations):
1326         Only call inform if the preceding warning_at returns true.
1327
1328 2013-05-07  Jakub Jelinek  <jakub@redhat.com>
1329
1330         PR tree-optimization/57149
1331         * tree-ssa-uninit.c (uninit_undefined_value_p): New inline.
1332         (can_skip_redundant_opnd, compute_uninit_opnds_pos,
1333         collect_phi_def_edges, execute_late_warn_uninitialized): Use
1334         uninit_undefined_value_p instead of ssa_undefined_value_p.
1335
1336         PR debug/57184
1337         * expr.c (expand_expr_addr_expr_1): Handle COMPOUND_LITERAL_EXPR
1338         for modifier == EXPAND_INITIALIZER.
1339
1340 2013-05-07  Richard Biener  <rguenther@suse.de>
1341
1342         Backport from mainline
1343         2013-05-06  Richard Biener  <rguenther@suse.de>
1344
1345         PR tree-optimization/57185
1346         * tree-parloops.c (add_field_for_reduction): Handle anonymous
1347         SSA names properly.
1348
1349         2013-04-19  Richard Biener  <rguenther@suse.de>
1350
1351         PR tree-optimization/57000
1352         * tree-ssa-reassoc.c (pass_reassoc): Add TODO_update_ssa_only_virtuals.
1353
1354 2013-05-06  Michael Meissner  <meissner@linux.vnet.ibm.com>
1355
1356         Backport from trunk
1357         2013-05-03  Michael Meissner  <meissner@linux.vnet.ibm.com>
1358
1359         PR target/57150
1360         * config/rs6000/rs6000.h (HARD_REGNO_CALLER_SAVE_MODE): Use DFmode
1361         to save TFmode registers and DImode to save TImode registers for
1362         caller save operations.
1363         (HARD_REGNO_CALL_PART_CLOBBERED): TFmode and TDmode do not need to
1364         mark being partially clobbered since they only use the first
1365         double word.
1366
1367         * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): TFmode
1368         and TDmode only use the upper 64-bits of each VSX register.
1369
1370 2013-05-06  Oleg Endo  <olegendo@gcc.gnu.org>
1371
1372         PR target/57108
1373         * config/sh/sh.md (tstsi_t_zero_extract_eq): Use QIHISIDI mode iterator.
1374
1375 2013-05-06  Uros Bizjak  <ubizjak@gmail.com>
1376
1377         Backport from mainline
1378         2013-05-06  Uros Bizjak  <ubizjak@gmail.com>
1379
1380         PR target/57106
1381         * config/i386/i386.c (add_parameter_dependencies): Add dependence
1382         between "first_arg" and "insn", not "last" and "insn".
1383
1384 2013-05-03  Jakub Jelinek  <jakub@redhat.com>
1385
1386         PR rtl-optimization/57130
1387         * combine.c (make_compound_operation) <case SUBREG>: Pass
1388         SET instead of COMPARE as in_code to the recursive call
1389         if needed.
1390
1391         Backported from mainline
1392         2013-04-26  Jakub Jelinek  <jakub@redhat.com>
1393
1394         PR tree-optimization/57051
1395         * fold-const.c (const_binop): Handle VEC_LSHIFT_EXPR
1396         and VEC_RSHIFT_EXPR if shift count is a multiple of element
1397         bitsize.
1398
1399         2013-04-12  Marc Glisse  <marc.glisse@inria.fr>
1400
1401         * fold-const.c (fold_binary_loc): Call const_binop also for mixed
1402         vector-scalar operations.
1403
1404 2013-05-03  Marek Polacek  <polacek@redhat.com>
1405
1406         Backport from mainline
1407         2013-04-25  Marek Polacek  <polacek@redhat.com>
1408
1409         PR tree-optimization/57066
1410         * builtins.c (fold_builtin_logb): Return +Inf for -Inf.
1411
1412 2013-05-02  Vladimir Makarov  <vmakarov@redhat.com>
1413
1414         Backport from mainline
1415         2013-05-02  Vladimir Makarov  <vmakarov@redhat.com>
1416
1417         * lra-constraints.c (process_alt_operands): Add checking alt
1418         number to choose the best alternative.
1419
1420         2013-05-01  Vladimir Makarov  <vmakarov@redhat.com>
1421
1422         PR target/57091
1423         * lra-constraints.c (best_small_class_operands_num): Remove.
1424         (process_alt_operands): Remove small_class_operands_num.  Take
1425         small classes operands into losers and only if the operand is not
1426         matched.  Modify debugging output.
1427         (curr_insn_transform): Remove best_small_class_operands_num.
1428         Print insn name.
1429
1430 2013-05-02  Vladimir Makarov  <vmakarov@redhat.com>
1431
1432         Backport from mainline
1433         2013-04-29  Vladimir Makarov  <vmakarov@redhat.com>
1434
1435         PR target/57097
1436         * lra-constraints.c (process_alt_operands): Discourage a bit more
1437         using memory for pseudos.  Print cost dump for alternatives.
1438         Modify cost values for conflicts with early clobbers.
1439         (curr_insn_transform): Spill pseudos reassigned to NO_REGS.
1440
1441 2013-05-02  Vladimir Makarov  <vmakarov@redhat.com>
1442
1443         Backport from mainline
1444         2013-04-24  Vladimir Makarov  <vmakarov@redhat.com>
1445
1446         PR rtl-optimizations/57046
1447         * lra-constraints (split_reg): Set up lra_risky_transformations_p
1448         for multi-reg splits.
1449
1450 2013-05-02  Vladimir Makarov  <vmakarov@redhat.com>
1451
1452         Backport from mainline
1453         2013-04-22  Vladimir Makarov  <vmakarov@redhat.com>
1454
1455         PR target/57018
1456         * lra-eliminations.c (mark_not_eliminable): Prevent elimination of
1457         a set sp if no stack realignment.
1458
1459 2013-05-02  Vladimir Makarov  <vmakarov@redhat.com>
1460
1461         Backport from mainline
1462         2013-04-18  Vladimir Makarov  <vmakarov@redhat.com>
1463
1464         PR rtl-optimization/56999
1465         * lra-coalesce.c (coalescable_pseudo_p): Remove 2nd parameter and
1466         related code.
1467         (lra_coalesce): Remove split_origin_bitmap and related code.
1468         * lra.c (lra): Coalesce after undoing inheritance. Recreate live
1469         ranges if necessary.
1470
1471 2013-05-02  Vladimir Makarov  <vmakarov@redhat.com>
1472
1473         Backport from mainline
1474         2013-04-19  Vladimir Makarov  <vmakarov@redhat.com>
1475
1476         PR rtl-optimization/56847
1477         * lra-constraints.c (process_alt_operands): Discourage alternative
1478         with non-matche doffsettable memory constraint fro memory with
1479         known offset.
1480
1481 2013-05-02  Ian Bolton  <ian.bolton@arm.com>
1482
1483         Backport from mainline
1484         2013-03-28  Ian Bolton  <ian.bolton@arm.com>
1485
1486         * config/aarch64/aarch64.md (aarch64_can_eliminate): Keep frame
1487         record only when desired or required.
1488
1489 2013-04-30  Jakub Jelinek  <jakub@redhat.com>
1490
1491         PR tree-optimization/57104
1492         * tsan.c (instrument_expr): Don't instrument accesses to
1493         DECL_HARD_REGISTER VAR_DECLs.
1494
1495 2013-04-30  Uros Bizjak  <ubizjak@gmail.com>
1496
1497         Backport from mainline
1498         2013-04-29  Uros Bizjak  <ubizjak@gmail.com>
1499
1500         PR target/44578
1501         * config/i386/i386.md (*zero_extendsidi2_rex64): Add "!" to m->?*y
1502         alternative.
1503         (*zero_extendsidi2): Ditto.
1504
1505         Backport from mainline
1506         2013-04-29  Uros Bizjak  <ubizjak@gmail.com>
1507
1508         PR target/57098
1509         * config/i386/i386.c (ix86_expand_vec_perm): Validize constant memory.
1510
1511 2013-04-29  Richard Biener  <rguenther@suse.de>
1512
1513         PR middle-end/57103
1514         * tree-cfg.c (move_stmt_op): Fix condition under which to update
1515         TREE_BLOCK.
1516         (move_stmt_r): Remove redundant checking.
1517
1518 2013-04-29  Christian Bruel  <christian.bruel@st.com>
1519
1520         PR target/57108
1521         * sh.md (tstsi_t_zero_extract_eq): Set mode for operand 0.
1522
1523 2013-04-29  Jakub Jelinek  <jakub@redhat.com>
1524
1525         PR tree-optimization/57083
1526         * tree-vrp.c (extract_range_from_binary_expr_1): For LSHIFT_EXPR with
1527         non-singleton shift count range, zero extend low_bound for uns case.
1528
1529 2013-04-28  Eric Botcazou  <ebotcazou@gcc.gnu.org>
1530
1531         * stor-layout.c (finalize_size_functions): Allocate a structure and
1532         reset cfun before dumping the functions.
1533
1534 2013-04-27  Jakub Jelinek  <jakub@redhat.com>
1535
1536         PR target/56866
1537         * config/i386/i386.c (ix86_expand_mul_widen_evenodd): Don't
1538         use xop_pmacsdqh if uns_p.
1539         * config/i386/sse.md (xop_rotr<mode>3): Fix up computation of
1540         the immediate rotate count.
1541
1542 2013-04-25  Jakub Jelinek  <jakub@redhat.com>
1543
1544         PR rtl-optimization/57003
1545         * regcprop.c (copyprop_hardreg_forward_1): If ksvd.ignore_set_reg,
1546         call note_stores with kill_clobbered_value callback again after
1547         killing regs_invalidated_by_call.
1548
1549 2013-04-25  Ian Bolton  <ian.bolton@arm.com>
1550
1551         Backported from mainline.
1552         2013-03-22  Ian Bolton  <ian.bolton@arm.com>
1553
1554         * config/aarch64/aarch64.c (aarch64_print_operand): New
1555         format specifier for printing a constant in hex.
1556         * config/aarch64/aarch64.md (insv_imm<mode>): Use the X
1557         format specifier for printing second operand.
1558
1559 2013-04-24  James Greenhalgh  <james.greenhalgh@arm.com>
1560
1561         Backported from mainline.
1562         2013-04-24  James Greenhalgh  <james.greenhalgh@arm.com>
1563
1564         * config/aarch64/arm_neon.h (vld1<q>_lane*): Fix constraints.
1565         (vld1<q>_dup_<sufp><8, 16, 32, 64>): Likewise.
1566         (vld1<q>_<sufp><8, 16, 32, 64>): Likewise.
1567
1568 2013-04-24  Greta Yorsh  <Greta.Yorsh@arm.com>
1569
1570         Backported from mainline.
1571         PR target/56797
1572         * config/arm/arm.c (load_multiple_sequence): Require SP
1573         as base register for loads if SP is in the register list.
1574
1575 2013-04-23  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
1576             Steven Bosscher <steven@gcc.gnu.org>
1577
1578         Backported from mainline.
1579         PR rtl-optimization/56605
1580         * loop-iv.c (implies_p): Handle equal RTXs and subregs.
1581
1582 2013-04-22  Marek Polacek  <polacek@redhat.com>
1583
1584         Backported from mainline.
1585         2013-04-22  Marek Polacek  <polacek@redhat.com>
1586
1587         PR sanitizer/56990
1588         * tsan.c (instrument_expr): Don't instrument expression
1589         in case its size is zero.
1590
1591 2013-04-22  Yufeng Zhang  <yufeng.zhang@arm.com>
1592
1593         Backported from mainline.
1594         2013-04-10  Yufeng Zhang  <yufeng.zhang@arm.com>
1595         * config/aarch64/aarch64.c (aarch64_print_extension): New function.
1596         (aarch64_start_file): Use the new function.
1597
1598 2013-04-18  Jakub Jelinek  <jakub@redhat.com>
1599
1600         PR tree-optimization/56984
1601         * tree-vrp.c (register_edge_assert_for_2): For (x >> M) < N
1602         and (x >> M) >= N don't register any assertion if N << M is the
1603         minimum value.
1604
1605 2013-04-17  David Edelsohn  <dje.gcc@gmail.com>
1606
1607         PR target/56948
1608         * config/rs6000/vsx.md (vsx_mov<mode>): Add j->r alternative.
1609
1610 2013-04-15  Jakub Jelinek  <jakub@redhat.com>
1611
1612         PR tree-optimization/56962
1613         * gimple-ssa-strength-reduction.c (record_increment): Only set
1614         initializer if gimple_assign_rhs_code is {,POINTER_}PLUS_EXPR and
1615         either rhs1 or rhs2 is equal to c->base_expr.
1616
1617 2013-04-15  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
1618
1619         * emit-rtl.c (reset_all_used_flags): New function.
1620         (verify_rtl_sharing): Call reset_all_used_flags before and after
1621         performing the checks.
1622
1623 2013-04-15  Eric Botcazou  <ebotcazou@adacore.com>
1624
1625         PR target/56890
1626         * config/sparc/sparc.c (enum sparc_mode_class): Add H_MODE value.
1627         (S_MODES): Set H_MODE bit.
1628         (SF_MODES): Set only S_MODE and SF_MODE bits.
1629         (DF_MODES): Set SF_MODES and only D_MODE and DF_MODE bits.
1630         (sparc_init_modes) <MODE_INT>: Set H_MODE bit for sub-word modes.
1631         <MODE_VECTOR_INT>: Do not set SF_MODE for sub-word modes.
1632         <MODE_FLOAT>: Likewise.
1633
1634 2013-04-12  Vladimir Makarov  <vmakarov@redhat.com>
1635
1636         PR target/56903
1637         * config/i386/i386.c (ix86_hard_regno_mode_ok): Add
1638         lra_in_progress for return.
1639
1640 2013-04-12  Jakub Jelinek  <jakub@redhat.com>
1641
1642         PR tree-optimization/56918
1643         PR tree-optimization/56920
1644         * fold-const.c (int_const_binop_1): Use op1.mul_with_sign (op2, ...)
1645         instead of op1 - op2.  Pass 2 * TYPE_PRECISION (type) as second
1646         argument to rshift method.
1647
1648 2013-04-12  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
1649
1650         * ifcvt.c (end_ifcvt_sequence): Mark a and b for unsharing as
1651         well.
1652
1653 2013-04-11  Marek Polacek  <polacek@redhat.com>
1654
1655         PR tree-optimization/48184
1656         * params.def (PARAM_ALIGN_THRESHOLD): Increase the minimum
1657         value to 1.
1658
1659 2013-04-11  James Greenhalgh  <james.greenhalgh@arm.com>
1660
1661         Backported from mainline.
1662         2013-04-11  James Greenhalgh  <james.greenhalgh@arm.com>
1663
1664         * config/aarch64/aarch64-simd.md (aarch64_vcond_internal): Fix
1665         floating-point vector comparisons against 0.
1666
1667 2013-04-11  Jakub Jelinek  <jakub@redhat.com>
1668
1669         PR tree-optimization/56899
1670         * fold-const.c (extract_muldiv_1): Apply distributive law
1671         only if TYPE_OVERFLOW_WRAPS (ctype).
1672
1673 2013-04-10  David S. Miller  <davem@davemloft.net>
1674
1675         * config/sparc/sparc.h (ASM_CPU_SPEC): Pass -Av8 if -mcpu=supersparc
1676         or -mcpu=hypersparc.
1677
1678 2013-04-10  Jakub Jelinek  <jakub@redhat.com>
1679
1680         Backported from mainline
1681         2013-04-09  Jakub Jelinek  <jakub@redhat.com>
1682
1683         PR middle-end/56883
1684         * omp-low.c (expand_omp_for_generic, expand_omp_for_static_nochunk,
1685         expand_omp_for_static_chunk): Use simple_p = true in
1686         force_gimple_operand_gsi calls when assigning to addressable decls.
1687
1688 2013-04-09  Marek Polacek  <polacek@redhat.com>
1689
1690         PR tree-optimization/48762
1691         * params.def (PARAM_MAX_CSE_INSNS): Increase the minimum
1692         value to 1.
1693
1694 2013-04-08  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
1695
1696         * config/s390/s390.c (s390_expand_insv): Only accept insertions
1697         within mode size.
1698
1699 2013-04-08  Marek Polacek  <polacek@redhat.com>
1700
1701         PR rtl-optimization/48182
1702         * params.def (PARAM_MIN_CROSSJUMP_INSNS): Increase the minimum
1703         value to 1.
1704
1705 2013-04-06  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1706
1707         PR target/55487
1708         * config/pa/pa.c (legitimize_pic_address): Before incrementing label
1709         nuses, make sure we have a label.
1710
1711 2013-04-04  Ian Lance Taylor  <iant@google.com>
1712
1713         Backport from mainline:
1714         * doc/standards.texi (Standards): The Go frontend supports the Go
1715         1 language standard.
1716
1717 2013-04-04  Marek Polacek  <polacek@redhat.com>
1718
1719         Backport from mainline:
1720         2013-04-04  Marek Polacek  <polacek@redhat.com>
1721
1722         PR tree-optimization/48186
1723         * predict.c (maybe_hot_frequency_p): Return false if
1724         HOT_BB_FREQUENCY_FRACTION is 0.
1725         (cgraph_maybe_hot_edge_p): Likewise.
1726
1727 2013-04-04  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1728
1729         Backport from mainline:
1730         2013-03-25  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1731
1732         PR target/56720
1733         * config/arm/iterators.md (v_cmp_result): New mode attribute.
1734         * config/arm/neon.md (vcond<mode><mode>): Handle unordered cases.
1735
1736 2013-04-04  Richard Biener  <rguenther@suse.de>
1737
1738         PR tree-optimization/56837
1739         * tree-loop-distribution.c (classify_partition): For non-zero
1740         values require that the value has the same precision as its
1741         mode to be useful as memset value.
1742
1743 2013-04-03  Roland McGrath  <mcgrathr@google.com>
1744
1745         Backport from mainline:
1746         2013-03-26  Roland McGrath  <mcgrathr@google.com>
1747
1748         * config/arm/arm.c (arm_print_operand: case 'w'): Use fputs rather
1749         than fprintf with a non-constant, non-format string.
1750
1751 2013-04-03  Marek Polacek  <polacek@redhat.com>
1752
1753         Backport from mainline:
1754         2013-04-03  Marek Polacek  <polacek@redhat.com>
1755
1756         PR sanitizer/55702
1757         * tsan.c (instrument_func_exit): Allow BUILT_IN_RETURN
1758         functions.
1759
1760 2013-04-03  Richard Biener  <rguenther@suse.de>
1761
1762         PR tree-optimization/56817
1763         * tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely):
1764         Split out ...
1765         (tree_unroll_loops_completely_1): ... new function to manually
1766         walk the loop tree, properly defering outer loops of unrolled
1767         loops to later iterations.
1768
1769 2013-04-02  Jakub Jelinek  <jakub@redhat.com>
1770
1771         PR rtl-optimization/56745
1772         * ifcvt.c (cond_exec_find_if_block): Don't try to optimize
1773         if then_bb has no successors and else_bb is EXIT_BLOCK_PTR.
1774
1775 2013-04-02  Wei Mi  <wmi@google.com>
1776
1777         * config/i386/i386.c (ix86_rtx_costs): Set proper rtx cost for
1778         ashl<mode>3_mask, *<shift_insn><mode>3_mask and
1779         *<rotate_insn><mode>3_mask in i386.md.
1780
1781 2013-04-01  Wei Mi  <wmi@google.com>
1782
1783         * config/i386/i386.md (*ashl<mode>3_mask): Rewrite as define_insn.
1784         Truncate operand 2 using %b asm operand modifier.
1785         (*<shift_insn><mode>3_mask): Ditto.
1786         (*<rotate_insn><mode>3_mask): Ditto.
1787
1788 2013-04-01  Uros Bizjak  <ubizjak@gmail.com>
1789
1790         * config/i386/i386.md (*movsf_internal): Change type of
1791         alternatives 3,4 to imov.
1792
1793 2013-03-29  Paolo Carlini  <paolo.carlini@oracle.com>
1794
1795         PR lto/56777
1796         * doc/invoke.texi ([-fwhole-program]): Fix typo.
1797
1798 2013-03-29  Kirill Yukhin  <kirill.yukhin@intel.com>
1799
1800         * config/i386/avx2intrin.h (_mm256_broadcastsi128_si256):
1801         Fix declaration name.
1802
1803 2013-03-28  Gerald Pfeifer  <gerald@pfeifer.com>
1804
1805         * doc/invoke.texi (AVR Options): Tweak link for AVR-LibC user manual.
1806         * doc/extend.texi (Named Address Spaces): Ditto.
1807         (Variable Attributes): Ditto.
1808
1809 2013-03-28  Eric Botcazou  <ebotcazou@adacore.com>
1810
1811         * toplev.c (process_options): Do not disable -fomit-frame-pointer on a
1812         general basis if unwind info is requested and ACCUMULATE_OUTGOING_ARGS
1813         is not enabled.
1814
1815 2013-03-27  Walter Lee  <walt@tilera.com>
1816
1817         Backport from mainline:
1818         2013-03-27  Walter Lee  <walt@tilera.com>
1819
1820         * config/tilegx/tilegx.c (tilegx_expand_prologue): Avoid
1821         double-decrement of next_scratch_regno.
1822
1823 2013-03-27  Walter Lee  <walt@tilera.com>
1824
1825         Backport from mainline:
1826         2013-03-27  Walter Lee  <walt@tilera.com>
1827
1828         * config/tilegx/tilegx.md (insn_v1mulu): Fix predicates on
1829         input operands.
1830         (insn_v1mulus): Ditto.
1831         (insn_v2muls): Ditto.
1832
1833 2013-03-27  Walter Lee  <walt@tilera.com>
1834
1835         Backport from mainline:
1836         2013-03-27  Walter Lee  <walt@tilera.com>
1837
1838         * config/tilegx/tilegx.h (ASM_OUTPUT_ADDR_VEC_ELT): Delete
1839         extra tab.
1840         (ASM_OUTPUT_ADDR_DIFF_ELT): Ditto.
1841
1842 2013-03-27  Walter Lee  <walt@tilera.com>
1843
1844         Backport from mainline:
1845         2013-03-27  Walter Lee  <walt@tilera.com>
1846
1847         * config/tilegx/tilegx.md (*sibcall_insn): Fix type atribute for jr.
1848         (*sibcall_value): Ditto.
1849
1850 2013-03-27  Walter Lee  <walt@tilera.com>
1851
1852         Backport from mainline:
1853         2013-03-27  Walter Lee  <walt@tilera.com>
1854
1855         * config/tilegx/tilegx.md (insn_mnz_<mode>): Replaced by ...
1856         (insn_mnz_v8qi): ... this ...
1857         (insn_mnz_v4hi): ... and this.  Replace (const_int 0) with the
1858         vector equivalent.
1859         (insn_v<n>mnz): Replaced by ...
1860         (insn_v1mnz): ... this ...
1861         (insn_v2mnz): ... and this.  Replace (const_int 0) with the vector
1862         equivalent.
1863         (insn_mz_<mode>): Replaced by ...
1864         (insn_mz_v8qi): ... this ...
1865         (insn_mz_v4hi): ... and this.  Replace (const_int 0) with the
1866         vector equivalent.
1867         (insn_v<n>mz): Replaced by ...
1868         (insn_v1mz): ... this ...
1869         (insn_v2mz): ... and this.  Replace (const_int 0) with the vector
1870         equivalent.
1871
1872 2013-03-26  Eric Botcazou  <ebotcazou@adacore.com>
1873
1874         * doc/invoke.texi (SPARC options): Remove -mlittle-endian.
1875
1876 2013-03-26  Sebastian Huber  <sebastian.huber@embedded-brains.de>
1877
1878         * config/rtems.opt: Add -pthread option.
1879
1880 2013-03-26  Sofiane Naci  <sofiane.naci@arm.com>
1881
1882         * config/aarch64/aarch64.c (aarch64_classify_address): Support
1883         PC-relative load in SI modes and above only.
1884
1885 2013-03-26  Walter Lee  <walt@tilera.com>
1886
1887         Backport from mainline:
1888         2013-03-26  Walter Lee  <walt@tilera.com>
1889
1890         * config/tilegx/tilegx.h (PROFILE_BEFORE_PROLOGUE): Define.
1891         * config/tilegx/tilepro.h (PROFILE_BEFORE_PROLOGUE): Define.
1892
1893 2013-03-26  Walter Lee  <walt@tilera.com>
1894
1895         Backport from mainline:
1896         2013-03-25  Walter Lee  <walt@tilera.com>
1897
1898         * config/tilegx/tilegx-builtins.h (enum tilegx_builtin): Add
1899         TILEGX_INSN_SHUFFLEBYTES1.
1900         * config/tilegx/tilegx.c (tilegx_builtin_info): Add entry for
1901         shufflebytes1.
1902         (tilegx_builtins): Ditto.
1903         * config/tilegx/tilegx.md (insn_shufflebytes1): New pattern.
1904
1905 2013-03-26  Walter Lee  <walt@tilera.com>
1906
1907         Backport from mainline:
1908         2013-03-25  Walter Lee  <walt@tilera.com>
1909
1910         * config/tilegx/tilegx.c (expand_set_cint64_one_inst): Inline
1911         tests for constraint J, K, N, P.
1912
1913 2013-03-26  Walter Lee  <walt@tilera.com>
1914
1915         Backport from mainline:
1916         2013-03-25  Walter Lee  <walt@tilera.com>
1917
1918         * config/tilegx/tilegx.c (tilegx_asm_preferred_eh_data_format):
1919         Use indirect/pcrel encoding.
1920         * config/tilepro/tilepro.c (tilepro_asm_preferred_eh_data_format):
1921         Ditto.
1922
1923 2013-03-25  Richard Biener  <rguenther@suse.de>
1924
1925         PR middle-end/56694
1926         * tree-eh.c (lower_eh_must_not_throw): Strip BLOCKs from the
1927         must-not-throw stmt location.
1928
1929 2012-03-22  Jakub Jelinek  <jakub@redhat.com>
1930
1931         * BASE-VER: Set to 4.8.1.
1932         * DEV-PHASE: Set to prerelease.
1933
1934 2013-03-22  Release Manager
1935
1936         * GCC 4.8.0 released.
1937
1938 2013-03-21  Walter Lee  <walt@tilera.com>
1939
1940         * config/tilegx/sync.md (atomic_test_and_set): New pattern.
1941
1942 2013-03-21  Mark Wielaard  <mjw@redhat.com>
1943
1944         * dwarf2out.c (size_of_aranges): Skip DECL_IGNORED_P functions.
1945
1946 2013-03-20  Richard Biener  <rguenther@suse.de>
1947
1948         PR tree-optimization/56661
1949         * tree-ssa-sccvn.c (visit_use): Only value-number calls if
1950         the result does not have to be distinct.
1951
1952 2013-03-20  Jakub Jelinek  <jakub@redhat.com>
1953
1954         PR tree-optimization/56635
1955         * tree-ssa-phiopt.c (cond_if_else_store_replacement_1): Give up
1956         if lhs of then_assign and else_assign don't have compatible types.
1957
1958 2013-03-17  Jakub Jelinek  <jakub@redhat.com>
1959
1960         PR target/56640
1961         * config/arm/arm.h (REG_CLASS_NAMES): Add "SFP_REG" and "AFP_REG"
1962         class names.  Remove trailing comma after "ALL_REGS".
1963
1964 2013-03-16  Jakub Jelinek  <jakub@redhat.com>
1965
1966         * DEV-PHASE: Set to prerelease.
1967
1968 2013-03-14  Andi Kleen  <ak@linux.intel.com>
1969
1970         PR target/56619
1971         * doc/extend.texi: Document __ATOMIC_HLE_ACQUIRE,
1972         __ATOMIC_HLE_RELEASE. Document __builtin_ia32 TSX intrincs.
1973         Document _x* TSX intrinsics.
1974
1975 2013-03-14  Edgar E. Iglesias <edgar.iglesias@xilinx.com>
1976             David Holsgrove <david.holsgrove@xilinx.com>
1977
1978         * configure.ac: Add MicroBlaze TLS support detection.
1979         * configure: Regenerate.
1980         * config/microblaze/microblaze-protos.h
1981         (microblaze_cannot_force_const_mem, microblaze_tls_referenced_p,
1982         symbol_mentioned_p, label_mentioned_p): Add prototypes.
1983         * config/microblaze/microblaze.c (microblaze_address_type): Add
1984         ADDRESS_TLS and tls_reloc address types.
1985         (microblaze_address_info): Add tls_reloc.
1986         (TARGET_HAVE_TLS): Define.
1987         (get_tls_get_addr, microblaze_tls_symbol_p, microblaze_tls_operand_p_1,
1988         microblaze_tls_referenced_p, microblaze_cannot_force_const_mem,
1989         symbol_mentioned_p, label_mentioned_p, tls_mentioned_p,
1990         load_tls_operand, microblaze_call_tls_get_addr,
1991         microblaze_legitimize_tls_address): New functions.
1992         (microblaze_classify_unspec): Handle UNSPEC_TLS.
1993         (get_base_reg): Use microblaze_tls_symbol_p.
1994         (microblaze_classify_address): Handle TLS.
1995         (microblaze_legitimate_pic_operand): Use symbol_mentioned_p,
1996         label_mentioned_p and microblaze_tls_referenced_p.
1997         (microblaze_legitimize_address): Handle TLS.
1998         (microblaze_address_insns): Handle ADDRESS_TLS.
1999         (pic_address_needs_scratch): Handle TLS.
2000         (print_operand_address): Handle TLS.
2001         (microblaze_expand_prologue): Check TLS_NEEDS_GOT.
2002         (microblaze_expand_move): Handle TLS.
2003         (microblaze_legitimate_constant_p): Check
2004         microblaze_cannot_force_const_mem and microblaze_tls_symbol_p.
2005         (TARGET_CANNOT_FORCE_CONST_MEM): Define.
2006         * config/microblaze/microblaze.h (TLS_NEEDS_GOT): Define
2007         (PIC_OFFSET_TABLE_REGNUM): Set.
2008         * config/microblaze/linux.h (TLS_NEEDS_GOT): Define.
2009         * config/microblaze/microblaze.md (UNSPEC_TLS): Define.
2010         (addsi3, movsi_internal2, movdf_internal): Update constraints
2011         * config/microblaze/predicates.md (arith_plus_operand): Define
2012         (move_operand): Redefine as move_src_operand, check
2013         microblaze_tls_referenced_p.
2014
2015 2013-03-14  Ian Bolton  <ian.bolton@arm.com>
2016
2017         * config/aarch64/aarch64.md: (*and<mode>3nr_compare0): Use CC_NZ.
2018         (*and_<SHIFT:optab><mode>3nr_compare0): Likewise.
2019
2020 2013-03-14  Ian Bolton  <ian.bolton@arm.com>
2021
2022         * config/aarch64/aarch64.c (aarch64_select_cc_mode): Return correct
2023         CC mode for AND.
2024
2025 2013-03-14  Jakub Jelinek  <jakub@redhat.com>
2026
2027         PR tree-optimization/53265
2028         * common.opt (Waggressive-loop-optimizations): New option.
2029         * tree-ssa-loop-niter.c: Include tree-pass.h.
2030         (do_warn_aggressive_loop_optimizations): New function.
2031         (record_estimate): Call it.  Don't add !is_exit bounds to loop->bounds
2032         if number_of_latch_executions returned constant.
2033         (estimate_numbers_of_iterations_loop): Call number_of_latch_executions
2034         early.  If number_of_latch_executions returned constant, set
2035         nb_iterations_upper_bound back to it.
2036         * cfgloop.h (struct loop): Add warned_aggressive_loop_optimizations
2037         field.
2038         * Makefile.in (tree-ssa-loop-niter.o): Depend on $(TREE_PASS_H).
2039         * doc/invoke.texi (-Wno-aggressive-loop-optimizations): Document.
2040
2041         * config/aarch64/t-aarch64-linux (MULTARCH_DIRNAME): Remove.
2042         (MULTILIB_OSDIRNAMES): Set.
2043         * genmultilib: If defaultosdirname doesn't start with :: , set
2044         defaultosdirname2 instead, clear it and emit two . multilib_raw
2045         entries instead of just one.
2046
2047 2013-03-14  Kaz Kojima  <kkojima@gcc.gnu.org>
2048
2049         * config/sh/linux.h (TARGET_DEFAULT): Remove MASK_USERMODE.
2050         (SUBTARGET_OVERRIDE_OPTIONS): Set TARGET_USERMODE as default.
2051         * config/sh/netbsd-elf.h (TARGET_DEFAULT): Remove MASK_USERMODE.
2052         (SUBTARGET_OVERRIDE_OPTIONS): New.
2053
2054 2013-03-13  Oleg Endo  <olegendo@gcc.gnu.org>
2055
2056         PR target/49880
2057         * config/sh/sh.opt (FPU_SINGLE_ONLY): New mask.
2058         (musermode): Convert to Var(TARGET_USERMODE).
2059         * config/sh/sh.h (SELECT_SH2A_SINGLE_ONLY, SELECT_SH4_SINGLE_ONLY,
2060         MASK_ARCH): Add MASK_FPU_SINGLE_ONLY.
2061         * config/sh/sh.c (sh_option_override): Use
2062         TARGET_FPU_DOUBLE || TARGET_FPU_SINGLE_ONLY for call-fp case.
2063         * config/sh/sh.md (udivsi3_i1, divsi3_i1): Remove ! TARGET_SH4
2064         condition.
2065         (udivsi3_i4, divsi3_i4): Use TARGET_FPU_DOUBLE condition instead of
2066         TARGET_SH4.
2067         (udivsi3_i4_single, divsi3_i4_single): Use
2068         TARGET_FPU_SINGLE_ONLY || TARGET_FPU_DOUBLE instead of TARGET_HARD_SH4.
2069
2070 2013-03-13  Dave Korn  <dave.korn.cygwin@....>
2071
2072         * config/i386/cygwin.h (SHARED_LIBGCC_SPEC): Make shared libgcc the
2073         default setting.
2074
2075 2013-03-13  Richard Biener  <rguenther@suse.de>
2076
2077         PR tree-optimization/56608
2078         * tree-vect-slp.c (vect_schedule_slp): Do not remove scalar
2079         calls when vectorizing basic-blocks.
2080
2081 2013-03-13  Jakub Jelinek  <jakub@redhat.com>
2082
2083         PR plugins/45078
2084         * config.gcc: On arm, mips, sh and sparc add vxworks-dummy.h to
2085         tm_file.
2086
2087 2013-03-12  Jakub Jelinek  <jakub@redhat.com>
2088
2089         * doc/invoke.texi (-Waddr-space-convert): Move into the table earlier.
2090
2091 2013-03-11  Jan Hubicka  <jh@suse.cz>
2092
2093         PR lto/56557
2094         * lto-streamer-out.c (output_symbol_p): Skip references from
2095         constructors of external variables.
2096
2097 2013-03-11  Jan Hubicka  <jh@suse.cz>
2098
2099         PR middle-end/56571
2100         * valtrack.c (cleanup_auto_inc_dec): Unshare clobbers originating
2101         from pseudos.
2102         * emit-rtl.c (verify_rtx_sharing): Likewise.
2103         (copy_insn_1): Likewise.
2104         * rtl.c (copy_rtx): Likewise.
2105
2106 2013-03-11  Georg-Johann Lay  <avr@gjlay.de>
2107
2108         PR target/56591
2109         * config/avr/avr.c (avr_print_operand): Add space after '%c' in
2110         output_operand_lossage message.
2111
2112 2013-03-11  Richard Earnshaw  <rearnsha@arm.com>
2113
2114         PR target/56470
2115         * arm.c (shift_op): Validate RTL pattern on the fly.
2116         (arm_print_operand, case 'S'): Don't use shift_operator to validate
2117         the RTL.
2118
2119 2013-03-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2120
2121         PR target/56347
2122         * config/pa/pa.md (call_value): Check for calls to powf and direct to
2123         new call patterns that clobber %fr12.
2124         (call_val_powf, call_val_powf_pic, call_val_powf_64bit): New insn,
2125         split and postreload patterns.
2126         * config/pa/pa.c (pa_conditional_register_usage): Revert marking
2127         registers %fr12 and %fr12R as call used.
2128
2129 2013-03-09  Steven Bosscher  <steven@gcc.gnu.org>
2130
2131         * dse.c (delete_dead_store_insn): Respect TDF_DETAILS.
2132         (canon_address, record_store, replace_read, check_mem_read_rtx,
2133         scan_insn, dse_step1, dse_step2_init, dse_step2_spill,
2134         dse_step4, dse_step5_nospill, dse_step5_spill, dse_step6,
2135         rest_of_handle_dse): Likewise.
2136
2137 2013-03-09  Richard Sandiford  <rdsandiford@googlemail.com>
2138
2139         PR middle-end/56524
2140         * tree.h (tree_optimization_option): Rename target_optabs to optabs.
2141         Add base_optabs.
2142         (TREE_OPTIMIZATION_OPTABS): Update after previous field change.
2143         (TREE_OPTIMIZATION_BASE_OPTABS): New macro.
2144         (save_optabs_if_changed): Replace with...
2145         (init_tree_optimization_optabs): ...this.
2146         * optabs.c (save_optabs_if_changed): Rename to...
2147         (init_tree_optimization_optabs): ...this.  Take the optimization node
2148         as argument.  Do nothing if the base optabs are already correct.
2149         Reuse the existing TREE_OPTIMIZATION_OPTABS memory if we need
2150         to recompute optabs.
2151         * function.h (function): Remove optabs field.
2152         * function.c (invoke_set_current_function_hook): Call
2153         init_tree_optimization_optabs.  Use the result to initialize
2154         this_fn_optabs.
2155
2156 2013-02-27  Aldy Hernandez  <aldyh@redhat.com>
2157
2158         * trans-mem.c (expand_transaction): Do not set PR_INSTRUMENTEDCODE
2159         if GTMA_HAS_NO_INSTRUMENTATION.
2160         (generate_tm_state): Keep GTMA_HAS_NO_INSTRUMENTATION bit.
2161         (ipa_tm_transform_transaction): Set GTMA_HAS_NO_INSTRUMENTATION.
2162         * gimple.h (GTMA_HAS_NO_INSTRUMENTATION): Define.
2163         * gimple-pretty-print.c (dump_gimple_transaction): Handle
2164         GTMA_HAS_NO_INSTRUMENTATION.
2165
2166 2013-03-08  Jakub Jelinek  <jakub@redhat.com>
2167
2168         * config/gnu-user.h (LIBTSAN_EARLY_SPEC): Don't link against
2169         libasan_preinit.o.
2170
2171 2013-03-08  Marek Polacek  <polacek@redhat.com>
2172             Jakub Jelinek  <jakub@redhat.com>
2173
2174         PR tree-optimization/56478
2175         * predict.c (is_comparison_with_loop_invariant_p): Change the
2176         type of loop_step to tree.
2177         (predict_loops): Adjust.
2178         (predict_iv_comparison): Perform the computations on double_ints.
2179
2180 2013-03-08  Richard Biener  <rguenther@suse.de>
2181
2182         PR tree-optimization/56570
2183         * tree-cfg.c (verify_expr_location_1): Verify locations for
2184         DECL_DEBUG_EXPR.
2185         * tree-sra.c (create_access_replacement): Strip locations
2186         from DECL_DEBUG_EXPRs.
2187
2188 2013-03-08  Richard Biener  <rguenther@suse.de>
2189
2190         * tree-inline.c (expand_call_inline): Do not associate
2191         a BLOCK with the location in BLOCK_SOURCE_LOCATION.
2192         * tree-cfg.c (verify_location): Verify BLOCK_SOURCE_LOCATION.
2193
2194 2013-03-08  Richard Biener  <rguenther@suse.de>
2195
2196         * tree-ssa-ter.c (is_replaceable_p): Do not TER across location
2197         or block changes with -Og.  Fix for location / block encoding
2198         changes and PHI arguments with locations.
2199
2200 2013-03-07  Steven Bosscher  <steven@gcc.gnu.org>
2201
2202         * bitmap.c (struct bitmap_descriptor_d): Use unsigned HOST_WIDEST_INT
2203         for all counters.
2204         (struct output_info): Likewise.
2205         (register_overhead): Remove bad gcc_assert.
2206         (bitmap_find_bit): If there is only a single bitmap element, do not
2207         count a miss as a search.
2208         (print_statistics): Update for counter type changes.
2209         (dump_bitmap_statistics): Likewise.  Print headers such that they
2210         are properly lined up with the printed counters.
2211
2212 2013-03-07  Jakub Jelinek  <jakub@redhat.com>
2213
2214         PR tree-optimization/56559
2215         * tree-ssa-reassoc.c (zero_one_operation): When looking at rhs2,
2216         check that it has only a single use.
2217
2218 2013-03-07  Richard Biener  <rguenther@suse.de>
2219
2220         * doc/invoke.texi (fwhole-program): Discourage use in combination
2221         with -flto.
2222
2223 2013-03-06  Jakub Jelinek  <jakub@redhat.com>
2224
2225         * config/arm/t-arm (TM_H, OPTIONS_H_EXTRA): Add arm-cores.def.
2226
2227         PR tree-optimization/56539
2228         * tree-tailcall.c (adjust_return_value_with_ops): Use GSI_SAME_STMT
2229         instead of GSI_CONTINUE_LINKING as last argument to
2230         force_gimple_operand_gsi.  Adjust function comment.
2231
2232         * config/aarch64/t-aarch64 (TM_H, OPTIONS_H_EXTRA): Add
2233         aarch64-cores.def.
2234
2235         PR middle-end/56548
2236         * expr.c (expand_cond_expr_using_cmove): When expanding cmove in
2237         promoted mode, convert the result back to the original mode.
2238
2239 2013-03-06  Richard Biener  <rguenther@suse.de>
2240
2241         PR middle-end/56294
2242         * tree-into-ssa.c (insert_phi_nodes_for): Add dumping.
2243         (insert_updated_phi_nodes_compare_uids): New function.
2244         (update_ssa): Sort symbols_to_rename after UID before
2245         traversing it to insert PHI nodes.
2246
2247 2013-03-06  Richard Biener  <rguenther@suse.de>
2248
2249         PR middle-end/50494
2250         * tree-vect-data-refs.c (vect_can_force_dr_alignment_p):
2251         Do not adjust alignment of DECL_IN_CONSTANT_POOL decls.
2252
2253         Revert
2254         2013-02-13  Richard Biener  <rguenther@suse.de>
2255
2256         PR lto/50494
2257         * varasm.c (output_constant_def_1): Get the decl representing
2258         the constant as argument.
2259         (output_constant_def): Wrap output_constant_def_1.
2260         (make_decl_rtl): Use output_constant_def_1 with the decl
2261         representing the constant.
2262         (build_constant_desc): Optionally re-use a decl already
2263         representing the constant.
2264         (tree_output_constant_def): Adjust.
2265
2266 2013-03-06  Joey Ye  <joey.ye@arm.com>
2267
2268         PR lto/50293
2269         * gcc.c (convert_white_space): New function.
2270         (main): Handles white space in function name.
2271
2272 2013-03-06  Oleg Endo  <olegendo@gcc.gnu.org>
2273
2274         PR target/56529
2275         * config/sh/sh.c (sh_option_override): Check for TARGET_DYNSHIFT
2276         instead of TARGET_SH2 for call-table case.  Do not set sh_div_strategy
2277         to SH_DIV_CALL_TABLE for TARGET_SH2.
2278         * config.gcc (sh_multilibs): Add m2 and m2a to sh*-*-linux* multilib
2279         list.
2280         * doc/invoke.texi (SH options): Document mdiv= call-div1, call-fp,
2281         call-table options.
2282
2283 2013-03-05  Sterling Augustine  <saugustine@google.com>
2284             Cary Coutant  <ccoutant@google.com>
2285
2286         PR debug/55364
2287         * dwarf2out.c (resolve_addr): Don't call
2288         remove_loc_list_addr_table_entries a second time for the same
2289         expression.
2290
2291 2013-03-05  Jakub Jelinek  <jakub@redhat.com>
2292
2293         PR debug/56510
2294         * cfgexpand.c (expand_debug_parm_decl): Call copy_rtx on incoming.
2295         (avoid_complex_debug_insns): New function.
2296         (expand_debug_locations): Call it.
2297
2298         PR rtl-optimization/56484
2299         * ifcvt.c (noce_process_if_block): If else_bb is NULL, avoid extending
2300         lifetimes of hard registers on small register class machines.
2301
2302 2013-03-05  David Holsgrove  <david.holsgrove@xilinx.com>
2303
2304         * config/microblaze/microblaze-protos.h: Rename
2305         microblaze_is_interrupt_handler to microblaze_is_interrupt_variant.
2306         * config/microblaze/microblaze.c (microblaze_attribute_table): Add
2307         fast_interrupt.
2308         (microblaze_fast_interrupt_function_p): New function.
2309         (microblaze_is_interrupt_handler): Rename to
2310         microblaze_is_interrupt_variant and add fast_interrupt check.
2311         (microblaze_must_save_register): Use microblaze_is_interrupt_variant.
2312         (save_restore_insns): Likewise.
2313         (compute_frame_size): Likewise.
2314         (microblaze_function_prologue): Add FAST_INTERRUPT_NAME.
2315         (microblaze_globalize_label): Likewise.
2316         * config/microblaze/microblaze.h: Define FAST_INTERRUPT_NAME.
2317         * config/microblaze/microblaze.md: Use wrapper
2318         microblaze_is_interrupt_variant.
2319
2320 2013-03-05  Kai Tietz  <ktietz@redhat.com>
2321
2322         * sdbout.c (sdbout_one_type): Switch to current function's section
2323         supporting cold/hot.
2324
2325 2013-03-05  David Holsgrove  <david.holsgrove@xilinx.com>
2326
2327         * doc/invoke.texi (MicroBlaze): Add -mbig-endian, -mlittle-endian,
2328         -mxl-reorder.
2329
2330 2013-03-05  Jakub Jelinek  <jakub@redhat.com>
2331
2332         PR middle-end/56461
2333         * ggc-common.c (gt_pch_save): For ENABLE_VALGRIND_CHECKING,
2334         if VALGRIND_GET_VBITS is defined, temporarily make object
2335         memory all defined, and restore previous valgrind addressability
2336         and definability afterwards.  Free this_object at the end.
2337
2338         PR middle-end/56461
2339         * lra.c (lra): Call lra_clear_live_ranges if live_p,
2340         right before calling lra_create_live_ranges, also call it
2341         when clearing live_p.  Only call lra_clear_live_ranges
2342         at the end if live_p.
2343
2344         PR middle-end/56461
2345         * sched-deps.c (delete_dep_node): Free DEP_REPLACE.
2346
2347 2013-03-05  Richard Biener  <rguenther@suse.de>
2348
2349         PR tree-optimization/56521
2350         * tree-ssa-sccvn.c (set_value_id_for_result): Always initialize
2351         value-id.
2352
2353 2013-03-05  Steven Bosscher  <steven@gcc.gnu.org>
2354
2355         PR c++/55135
2356         * except.h (remove_unreachable_eh_regions): New prototype.
2357         * except.c (remove_eh_handler_splicer): New function, split out
2358         of remove_eh_handler.
2359         (remove_eh_handler): Use remove_eh_handler_splicer.  Add comment
2360         warning about running it on many EH regions one at a time.
2361         (remove_unreachable_eh_regions_worker): New function, walk the
2362         EH tree in depth-first order and remove non-marked regions.
2363         (remove_unreachable_eh_regions): New function.
2364         * tree-eh.c (mark_reachable_handlers): New function, split out
2365         from remove_unreachable_handlers.
2366         (remove_unreachable_handlers): Use mark_reachable_handlers and
2367         remove_unreachable_eh_regions.
2368         (remove_unreachable_handlers_no_lp): Use mark_reachable_handlers
2369         and remove_unreachable_eh_regions.
2370
2371 2013-03-05  Richard Biener  <rguenther@suse.de>
2372
2373         PR middle-end/56525
2374         * loop-init.c (fix_loop_structure): Remove loops in two stages,
2375         not freeing them until the end.
2376
2377 2013-03-05  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
2378
2379         * config/s390/s390.h: Define DWARF2_ASM_LINE_DEBUG_INFO.
2380
2381 2013-03-05  Richard Biener  <rguenther@suse.de>
2382
2383         PR tree-optimization/56270
2384         * tree-vect-slp.c (vect_schedule_slp): Clear vectorized stmts
2385         of loads after scheduling an SLP instance.
2386
2387 2013-03-05  Jakub Jelinek  <jakub@redhat.com>
2388
2389         * Makefile.in (dg_target_exps): Add aarch64.exp, epiphany.exp and
2390         tic6x.exp.
2391         (check_gcc_parallelize): Run guality.exp as a separate job from
2392         vect.exp with unsorted.exp and $(dg_target_exps) separately from
2393         struct-layout-1.exp with stackalign.exp.
2394
2395         * alias.c (init_alias_analysis): Clear reg_known_equiv_p bitmap.
2396
2397         PR middle-end/56461
2398         * tree-vect-slp.c (vect_supported_load_permutation_p): Free
2399         load_index sbitmap even if some bit in it isn't set.
2400
2401         PR middle-end/56461
2402         * tree-ssa-loop-niter.c (bb_queue): Remove typedef.
2403         (discover_iteration_bound_by_body_walk): Change queues to
2404         vec<vec<basic_block> > and queue to vec<basic_block>.  Fix up
2405         spelling in comment.  Call safe_push on queues[bound_index] directly.
2406         Release queues[queue_index] in every iteration unconditionally.
2407         Release bounds vector.
2408
2409         PR middle-end/56461
2410         * tree-vect-stmts.c (free_stmt_vec_info_vec): Call
2411         free_stmt_vec_info on any left-over stmt_vec_info in the vector.
2412         * tree-vect-loop.c (vect_create_epilog_for_reduction): Release
2413         inner_phis vector.
2414
2415 2013-03-05  Richard Biener  <rguenther@suse.de>
2416
2417         PR lto/56515
2418         * tree-inline.c (remap_blocks_to_null): New function.
2419         (expand_call_inline): When expanding a call stmt without
2420         an associated block inline remap all callee blocks to NULL.
2421
2422 2013-03-05  Jakub Jelinek  <jakub@redhat.com>
2423
2424         PR rtl-optimization/56494
2425         * simplify-rtx.c (simplify_truncation): If C is narrower than A,
2426         optimize (truncate:A (subreg:B (truncate:C X) 0)) into
2427         (subreg:A (truncate:C X) 0) instead of (truncate:A X).
2428
2429         PR middle-end/56461
2430         * sel-sched-ir.c (free_sched_pools): Release
2431         succs_info_pool.stack[succs_info_pool.max_top] vectors too
2432         if succs_info_pool.max_top isn't -1.
2433
2434         PR bootstrap/56509
2435         * opts.c (opts_obstack, opts_concat): Moved to...
2436         * opts-common.c (opts_obstack, opts_concat): ... here.
2437
2438 2013-03-04  Jakub Jelinek  <jakub@redhat.com>
2439
2440         PR middle-end/56461
2441         * diagnostic.c (diagnostic_append_note): Save and restore old prefix.
2442
2443 2013-03-04  Martin Jambor  <mjambor@suse.cz>
2444
2445         * tree-dfa.c (get_or_create_ssa_default_def): Use parameter fn in
2446         all appropriate places.
2447
2448 2013-01-04  Eric Botcazou  <ebotcazou@adacore.com>
2449
2450         PR tree-optimization/56424
2451         * ipa-split.c (split_function): Do not set the RSO flag if result is
2452         not by reference and its type is a register type.
2453
2454 2013-03-04  David Holsgrove  <david.holsgrove@xilinx.com>
2455
2456         * config/microblaze/microblaze.c (microblaze_valid_pic_const): New.
2457         (microblaze_legitimate_pic_operand): Likewise.
2458         * config/microblaze/microblaze.h (LEGITIMATE_PIC_OPERAND_P): Call
2459         new function microblaze_legitimate_pic_operand.
2460         * config/microblaze/microblaze-protos.h
2461         (microblaze_legitimate_pic_operand): Declare.
2462
2463 2013-03-04  Edgar E. Iglesias  <edgar.iglesias@gmail.com>
2464
2465         * config/microblaze/predicates.md (call_insn_simple_operand):
2466         New predicate for supported rtx code types.
2467         * config/microblaze/microblaze.md (call_internal1): Use
2468         call_insn_simple_operand predicate.
2469
2470 2013-03-04  Jakub Jelinek  <jakub@redhat.com>
2471
2472         PR middle-end/56461
2473         * tree-loop-distribution.c (ldist_gen): Call partition_free after each
2474         partitions.ordered_remove.
2475
2476         PR middle-end/56461
2477         * tree-vect-stmts.c (vectorizable_conversion): Don't call
2478         vec_oprnds0.create (1) for modifier == NONE.
2479
2480         PR middle-end/56461
2481         * tree-vect-stmts.c (vectorizable_shift): Don't call create methods
2482         on vec_oprnds0 or vec_oprnds1 before loop, only call it on
2483         vec_oprnds1 right before pushing anything to it for
2484         scalar_shift_arg.
2485
2486         PR middle-end/56461
2487         * tree-vect-loop.c (destroy_loop_vec_info): For !clean_stmts, just
2488         set nbbs to 0 instead of having separate code path.
2489         (vect_analyze_loop_form): Call destroy_loop_vec_info with true
2490         instead of false as last argument if returning NULL.
2491
2492 2013-03-03  Sandra Loosemore  <sandra@codesourcery.com>
2493
2494         * target.def (TARGET_OPTION_VALID_ATTRIBUTE_P): Update comments;
2495         the attribute is now called "target" instead of "option".
2496         (TARGET_OPTION_PRAGMA_PARSE): Likewise, for the pragma.
2497         * doc/tm.texi.in (Target Attributes):  Likewise document the correct
2498         attribute/pragma name for TARGET_OPTION_VALID_P and
2499         TARGET_OPTION_PRAGMA_PARSE.  Also copy-edit and correct markup.
2500         * doc/tm.texi: Regenerated.
2501
2502 2013-03-02  David Holsgrove  <david.holsgrove@xilinx.com>
2503
2504         * config/microblaze/microblaze.c:
2505         Check mcpu, pcmp requirement and set TARGET_REORDER to 0 if not met.
2506         * config/microblaze/microblaze.h: Add -mxl-reorder to
2507         DRIVER_SELF_SPECS.
2508         * config/microblaze/microblaze.md: New bswapsi2 and bswaphi2.
2509         instructions emitted if TARGET_REORDER.
2510         * config/microblaze/microblaze.opt: New option -mxl-reorder set to 1
2511         or 0 for -m/-mno case, but initialises as 2 to detect default use case
2512         separately.
2513
2514 2013-03-01  Xinliang David Li  <davidxl@google.com>
2515
2516         * tree-ssa-uninit.c (compute_control_dep_chain): Limit post-dom
2517         walk length.
2518
2519 2013-03-01  Jakub Jelinek  <jakub@redhat.com>
2520
2521         PR middle-end/56461
2522         * tree-ssa-loop-ivcanon.c (tree_estimate_loop_size): Release path
2523         vector even when returning true.  Fix up function comment formatting.
2524
2525         PR middle-end/56461
2526         * ira-build.c (ira_loop_nodes_count): New variable.
2527         (create_loop_tree_nodes): Initialize it.
2528         (finish_loop_tree_nodes): Use it instead of looking at current_loops.
2529
2530         PR middle-end/56461
2531         * tree-vect-data-refs.c (vect_permute_store_chain): Avoid using copy
2532         method on dr_chain and result_chain.
2533         * tree-vect-stmts.c (vectorizable_store): Only call
2534         result_chain.create if j == 0.
2535
2536         PR middle-end/56461
2537         * tree-vect-stmts.c (vect_create_vectorized_promotion_stmts): Call
2538         vec_oprnds0->release (); rather than vec_oprnds0->truncate (0)
2539         before overwriting it.
2540
2541 2013-03-01  Tobias Burnus  <burnus@net-b.de>
2542
2543         * doc/extended.texi (C Extensions): Change order in @menu
2544         to match @node.
2545         (Other MIPS Built-in Functions): Move last MIPS entry before
2546         "picoChip Built-in Functions".
2547         (SH Built-in Functions): Move after RX Built-in Functions.
2548         * doc/gcc.texi (Introduction): Change order in @menu to match @node.
2549         * doc/md.texi (Constraints): Ditto.
2550         * gty.texi (Type Information): Ditto.
2551         (User-provided marking routines for template types): Make subsection.
2552         * doc/invoke.texi (AArch64 Options): Move before
2553         "Adapteva Epiphany Options".
2554
2555 2013-02-28  Konstantin Serebryany  <konstantin.s.serebryany@gmail.com>
2556             Jakub Jelinek  <jakub@redhat.com>
2557
2558         PR sanitizer/56454
2559         * asan.c (gate_asan): Lookup no_sanitize_address instead of
2560         no_address_safety_analysis attribute.
2561         * doc/extend.texi (no_address_safety_attribute): Rename to
2562         no_sanitize_address attribute, mention no_address_safety_analysis
2563         attribute as deprecated alias.
2564
2565 2013-02-28  Jakub Jelinek  <jakub@redhat.com>
2566
2567         PR middle-end/56461
2568         * tree-vectorizer.h (vect_get_slp_defs): Change 3rd argument
2569         type to vec<vec<tree> > *.
2570         * tree-vect-slp.c (vect_get_slp_defs): Likewise.  Change vec_defs
2571         to be vec<tree> instead of vec<tree> *, set vec_defs
2572         to vNULL and call vec_defs.create (number_of_vects), adjust other
2573         uses of vec_defs.
2574         * tree-vect-stmts.c (vect_get_vec_defs, vectorizable_call,
2575         vectorizable_condition): Adjust vect_get_slp_defs callers.
2576
2577 2013-02-28  James Greenhalgh  <james.greenhalgh@arm.com>
2578
2579         * config/aarch64/aarch64.c
2580         (aarch64_float_const_representable): Remove unused variable.
2581
2582 2013-02-28  James Greenhalgh  <james.greenhalgh@arm.com>
2583
2584         * config/aarch64/aarch64.c (aarch64_mangle_type): Make static.
2585
2586 2013-02-28  James Greenhalgh  <james.greenhalgh@arm.com>
2587
2588         * config/aarch64/aarch64-builtins.c
2589         (aarch64_init_simd_builtins): Make static.
2590
2591 2013-02-28  James Greenhalgh  <james.greenhalgh@arm.com>
2592
2593         * config/aarch64/aarch64.c
2594         (aarch64_simd_make_constant): Make static.
2595
2596 2013-02-28  Martin Jambor  <mjambor@suse.cz>
2597
2598         * tree-sra.c (load_assign_lhs_subreplacements): Do not put replacements
2599         with no initialization to the RHS of debug statements.
2600
2601 2013-02-28  Martin Jambor  <mjambor@suse.cz>
2602
2603         PR tree-optimization/56294
2604         * tree-sra.c (analyze_access_subtree): Create replacement declarations.
2605         Adjust dumping.
2606         (get_access_replacement): Do not call create_access_replacement.
2607         Assert a replacement exists.
2608         (get_repl_default_def_ssa_name): Create the replacement declaration
2609         itself.
2610
2611 2013-02-28  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
2612
2613         * config/arm/arm.c (arm_output_mi_thunk): Call final_start_function and
2614         final_end_function.
2615
2616 2013-02-28  Marek Polacek  <polacek@redhat.com>
2617
2618         PR rtl-optimization/56466
2619         * loop-unroll.c (unroll_and_peel_loops): Call fix_loop_structure
2620         if we're changing a loop.
2621         (peel_loops_completely): Likewise.
2622
2623 2013-02-28  Paolo Carlini  <paolo.carlini@oracle.com>
2624
2625         PR c++/55813
2626         * doc/invoke.texi ([-Wctor-dtor-privacy]): Complete.
2627
2628 2013-02-28  Georg-Johann Lay  <avr@gjlay.de>
2629
2630         PR target/56445
2631         * config/avr/avr.c (avr_init_builtins): Use 'n' instead of empty
2632         macro parameters with: FX_FTYPE_FX, FX_FTYPE_FX_INT, INT_FTYPE_FX,
2633         INTX_FTYPE_FX, FX_FTYPE_INTX.
2634         * config/avr/builtins.def: Adjust respective DEF_BUILTIN.
2635
2636 2013-02-28  Georg-Johann Lay  <avr@gjlay.de>
2637
2638         * avr/avr-mcus.def (ata5272, ata5505, attiny1634, ata6285)
2639         (ata6286, atmega8a, atmega48pa, ata5790, ata5790n, ata5795)
2640         (atmega164pa, atmega165pa, atmega168pa, atmega16hva, atmega16hvb)
2641         (atmega16hvbrevb, atmega16m1, atmega16u4, atmega26hvg, atmega32a)
2642         (atmega32a, atmega3250pa, atmega3290pa, atmega32c1, atmega32m1)
2643         (atmega32u4, atmega32u6, atmega64a, atmega6490a, atmega6490p)
2644         (atmega64c1, atmega64m1, atmega64rfa2, atmega64rfr2, atmega32hvb)
2645         (atmega32hvbrevb, atmega16hva2, atmega48hvf, at90pwm161)
2646         (atmega128a, atmega1284, atmxt112sl, atmxt224, atmxt224e)
2647         (atmxt336s, atxmega16a4u, atxmega16c4, atxmega32a4u, atxmega32c4)
2648         (atxmega32e5, atxmega64a3u, atxmega64a4u, atxmega64b1, atxmega64b3)
2649         (atxmega64c3, atxmega64d4, atxmega128a3u, atxmega128b1)
2650         (atxmega128b3, atxmega128c3, atxmega128d4, atmxt540s, atmxt540sreva)
2651         (atxmega192a3u, atxmega192c3, atxmega256a3u, atxmega256c3)
2652         (atxmega384c3, atxmega384d3, atxmega128a4u): New AVR_MCU.
2653         (avrxmega6): Increase max flash segments from 5 to 6.
2654         * config/avr/t-multilib: Regenerate.
2655         * config/avr/avr-tables.opt: Regenerate.
2656         * doc/avr-mmcu.texi: Regenerate.
2657
2658 2013-02-28  Georg-Johann Lay  <avr@gjlay.de>
2659
2660         * config/avr/avr.h (device_to_arch): Rename to device_to_ld.
2661         (avr_device_to_arch): Rename to avr_device_to_ld.
2662         (avr_device_to_as): New prototype.
2663         (EXTRA_SPEC_FUNCTIONS): Add device_to_as.
2664         (ASM_SPEC): Use device_to_as to get -mmcu= and -mno-skip-bug=.
2665         * config/avr/driver-avr.c (avr_device_to_as): New.
2666         (avr_device_to_arch): Rename to avr_device_to_ld.
2667
2668 2013-02-27  Jakub Jelinek  <jakub@redhat.com>
2669
2670         PR middle-end/56461
2671         * tree-vect-data-refs.c (vect_permute_load_chain): Avoid using copy
2672         method on dr_chain and result_chain.
2673
2674         PR middle-end/56461
2675         * tree-ssa-loop-niter.c (maybe_lower_iteration_bound): Call
2676         pointer_set_destroy on not_executed_last_iteration.
2677
2678         PR middle-end/56461
2679         * tree-vect-loop.c (vectorizable_reduction): Release vect_defs vector.
2680
2681         PR middle-end/56461
2682         * ipa-pure-const.c (propagate): Use FOR_EACH_FUNCTION instead of
2683         FOR_EACH_DEFINED_FUNCTION when freeing state.
2684
2685         PR middle-end/56461
2686         * df-scan.c (df_insn_delete): Use df_scan_free_mws_vec before
2687         pool_free.
2688         (df_insn_rescan_debug_internal): Use df_scan_free_mws_vec before
2689         overwriting it.
2690
2691         PR middle-end/56461
2692         * ipa-cp.c (decide_whether_version_node): Call vec_free on
2693         known_aggs[i].items and release known_aggs vector.
2694
2695         PR middle-end/56461
2696         * ipa-reference.c (propagate): Free node_info even for alias nodes.
2697
2698 2013-02-27  Edgar E. Iglesias  <edgar.iglesias@gmail.com>
2699
2700         * config/microblaze/microblaze.c (microblaze_emit_compare):
2701         Use xor for EQ/NE comparisions.
2702         * config/microblaze/microblaze.md (cstoresf4): Add constraints
2703         (cbranchsf4): Adjust operator to comparison_operator.
2704
2705 2013-02-27  Jakub Jelinek  <jakub@redhat.com>
2706
2707         PR middle-end/56461
2708         * tree-flow.h (edge_var_map_vector): Change into va_heap, vl_embed
2709         vector.
2710         * tree-ssa.c (redirect_edge_var_map_add): Use vec_safe_reserve and
2711         vec_safe_push, always update *slot.
2712         (redirect_edge_var_map_clear): Use vec_free.
2713         (redirect_edge_var_map_dup): Use vec_safe_copy and vec_safe_reserve.
2714         (free_var_map_entry): Use vec_free.
2715         * tree-cfgcleanup.c (remove_forwarder_block_with_phi): Use
2716         FOR_EACH_VEC_SAFE_ELT instead of FOR_EACH_VEC_ELT.
2717
2718 2013-02-27  Andrey Belevantsev  <abel@ispras.ru>
2719
2720         PR middle-end/45472
2721         * sel-sched-ir.c (merge_expr): Also change vinsn of merged expr
2722         when the may_trap_p bit of the exprs being merged differs.
2723         Reorder tests for speculativeness in the logical and operator.
2724
2725 2013-02-27  Jakub Jelinek  <jakub@redhat.com>
2726
2727         * incpath.c (add_standard_paths): Use reconcat instead of concat
2728         where appropriate and avoid leaking memory.
2729
2730         * opts.h: Include obstack.h.
2731         (opts_concat): New prototype.
2732         (opts_obstack): New declaration.
2733         * opts.c (opts_concat): New function.
2734         (opts_obstack): New variable.
2735         (init_options_struct): Call gcc_init_obstack on opts_obstack.
2736         (finish_options): Use opts_concat instead of concat
2737         and XOBNEWVEC instead of XNEWVEC.
2738         * opts-common.c (generate_canonical_option, decode_cmdline_option,
2739         generate_option): Likewise.
2740         * Makefile.in (OPTS_H): Depend on $(OBSTACK_H).
2741         * lto-wrapper.c (main): Call gcc_init_obstack on opts_obstack.
2742
2743         PR target/56455
2744         * stmt.c (expand_switch_as_decision_tree_p): If flag_pic
2745         and ASM_OUTPUT_ADDR_DIFF_ELT isn't defined, return true.
2746
2747 2013-02-26  Jakub Jelinek  <jakub@redhat.com>
2748
2749         PR middle-end/56461
2750         * lra-spills.c (lra_spill): Free spill_hard_reg at the end.
2751
2752 2013-02-26  Joern Rennecke  <joern.rennecke@embecosm.com>
2753
2754         * config/arm/arm.c (const_ok_for_dimode_op): Back out last change.
2755         (arm_block_move_unaligned_straight): Likewise.
2756         (arm_adjust_block_mem): Likewise.
2757
2758 2013-02-26  Joern Rennecke  <joern.rennecke@embecosm.com>
2759
2760         PR target/48901
2761         * config/lm32/lm32.c (gen_int_relational): Remove unused variables
2762         temp, cond and label.
2763         * config/lm32/lm32.md (ashlsi3): Remove unused variable one.
2764
2765         PR target/52500
2766         * config/c6x/c6x.c (dbx_register_map): Change to unsigned.
2767         * config/c6x/c6x.h (dbx_register_map): Update declaration.
2768
2769         PR target/52501
2770         * config/cr16/cr16-protos.h: Move end of RTX_CODE guard below end
2771         of prologue/epilogue functions.
2772
2773         PR target/52550
2774         * config/tilegx/tilegx.c (tilegx_expand_prologue):
2775         Remove unused variable cfa_offset.
2776         * config/tilepro/tilepro.c (tilepro_expand_prologue): Likewise.
2777
2778         PR target/54639
2779         * config/mn10300/mn10300.c (mn10300_expand_epilogue): Avoid offset
2780         type promotion to unsigned.
2781
2782         PR target/54640
2783         * config/arm/arm.c (const_ok_for_dimode_op): Make code consistent
2784         for HOST_WIDE_INT of 32 bit / same size as int.
2785         (arm_block_move_unaligned_straight): Likewise.
2786         (arm_adjust_block_mem): Likewise.
2787
2788         PR target/54662
2789         * config/mep/t-mep (mep-pragma.o): Use ALL_COMPILERFLAGS instead of
2790         ALL_CFLAGS.
2791
2792 2013-02-26  Marek Polacek  <polacek@redhat.com>
2793
2794         PR tree-optimization/56426
2795         * tree-ssa-loop.c (tree_ssa_loop_init): Always call
2796         scev_initialize.
2797
2798 2013-02-26  Richard Biener  <rguenther@suse.de>
2799
2800         PR target/56444
2801         * config/mn10300/mn10300.c (mn10300_scan_for_setlb_lcc): Remove
2802         unused variable loops.
2803
2804 2013-02-26  Jakub Jelinek  <jakub@redhat.com>
2805
2806         PR tree-optimization/56448
2807         * fold-const.c (operand_equal_p) <case tcc_reference>: Don't look at
2808         TREE_SIDE_EFFECTS if flags contain OEP_CONSTANT_ADDRESS_OF.
2809         Clear OEP_CONSTANT_ADDRESS_OF from flags before recursing on second or
2810         later operands of the references, or even first operand for
2811         INDIRECT_REF, TARGET_MEM_REF or MEM_REF.
2812
2813         PR tree-optimization/56443
2814         * tree-vect-stmts.c (get_vectype_for_scalar_type_and_size): For
2815         overaligned types, pass TYPE_UNSIGNED (scalar_type) as second argument
2816         to type_for_mode langhook.
2817
2818 2013-02-25  Matt Turner  <mattst88@gmail.com>
2819
2820         * doc/invoke.texi: Document r4700.
2821
2822 2013-02-25  Richard Biener  <rguenther@suse.de>
2823
2824         PR tree-optimization/56175
2825         * tree-ssa-forwprop.c (hoist_conversion_for_bitop_p): New predicate,
2826         split out from ...
2827         (simplify_bitwise_binary): ... here.  Also guard the conversion
2828         of (type) X op CST to (type) (X op ((type-x) CST)) with it.
2829
2830 2013-02-25  Catherine Moore  <clm@codesourcery.com>
2831
2832         Revert:
2833         2013-02-24  Catherine Moore  <clm@codesourcery.com>
2834             Maciej W. Rozycki  <macro@codesourcery.com>
2835             Tom de Vries  <tom@codesourcery.com>
2836             Nathan Sidwell  <nathan@codesourcery.com>
2837             Iain Sandoe  <iain@codesourcery.com>
2838             Nathan Froyd  <froydnj@codesourcery.com>
2839             Chao-ying Fu  <fu@mips.com>
2840
2841         * doc/extend.texi (micromips, nomicromips, nocompression):
2842         Document new function attributes.
2843         * doc/invoke.texi (minterlink-compressed, mmicromips,
2844         m14k, m14ke, m14kec): Document new options.
2845         (minterlink-mips16): Update documentation.
2846         * doc/md.texi (ZC, ZD): Document new constraints.
2847         * configure.ac (gcc_cv_as_micromips): Check if linker
2848         supports the .set micromips directive.
2849         * configure: Regenerate.
2850         * config.in: Regenerate.
2851         * config/mips/mips-tables.opt: Regenerate.
2852         * config/mips/micromips.md: New file.
2853         * constraints.md (ZC, AD): New constraints.
2854         * config/mips/predicates.md (movep_src_register): New predicate.
2855         (movep_src_operand): New predicate.
2856         (non_volatile_mem_operand): New predicate.
2857         * config/mips/mips.md (multimem): New type.
2858         (length): Differentiate between 17-bit and 18-bit branch offsets.
2859         (MOVEP1, MOVEP2): New mode iterator.
2860         (mov_<load>l): Use ZC constraint.
2861         (mov_<load>r): Likewise.
2862         (mov_<store>l): Likewise.
2863         (mov_<store>r): Likewise.
2864         (*branch_equality<mode>_inverted): Add microMIPS support.
2865         (*branch_equality<mode>): Likewise.
2866         (*jump_absolute): Likewise.
2867         (indirect_jump_<mode>): Likewise.
2868         (tablejump_<mode>): Likewise.
2869         (<optab>_internal): Likewise.
2870         (sibcall_internal): Likewise.
2871         (sibcall_value_internal): Likewise.
2872         (prefetch): Use constraint ZD.
2873         * config/mips/mips.opt (minterlink-compressed): New option.
2874         (minterlink-mips16): Now an alias for minterlink-compressed.
2875         (mmicromips): New option.
2876         * config/mips/sync.md (sync_compare_and_swap<mode>): Use ZR constraint.
2877         (compare_and_swap_12): Likewise.
2878         (sync_add<mode>): Likewise.
2879         (sync_<optab>_12): Likewise.
2880         (sync_old_<optab>_12): Likewise.
2881         (sync_new_<optab>_12): Likewise.
2882         (sync_nand_12): Likewise.
2883         (sync_old_nand_12): Likewise.
2884         (sync_new_nand_12): Likewise.
2885         (sync_sub<mode>): Likewise.
2886         (sync_old_add<mode>): Likewise.
2887         (sync_old_sub<mode>): Likewise.
2888         (sync_new_add<mode>): Likewise.
2889         (sync_new_sub<mode>): Likewise.
2890         (sync_<optab><mode>): Likewise.
2891         (sync_old_<optab><mode>): Likewise.
2892         (sync_new_<optab><mode>): Likewise.
2893         (sync_nand<mode>): Likewise.
2894         (sync_old_nand<mode>): Likewise.
2895         (sync_new_nand<mode>): Likewise.
2896         (sync_lock_test_and_set<mode>): Likewise.
2897         (test_and_set_12): Likewise.
2898         (atomic_compare_and_swap<mode>): Likewise.
2899         (atomic_exchange<mode>_llsc): Likewise.
2900         (atomic_fetch_add<mode>_llsc): Likewise.
2901         * config/mips/mips-cpus.def (m14kc, m14k): New processors.
2902         * config/mips/mips-protos.h (umips_output_save_restore): New prototype.
2903         (umips_save_restore_pattern_p): Likewise.
2904         (umips_load_store_pair_p): Likewise.
2905         (umips_output_load_store_pair): Likewise.
2906         (umips_movep_target_p): Likewise.
2907         (umips_12bit_offset_address_p): Likewise.
2908         * config/mips/mips.c (MIPS_MAX_FIRST_STEP): Update for microMIPS.
2909         (mips_base_mips16): Rename this...
2910         (mips_base_compression_flags): ...to this. Update all uses.
2911         (mips_attribute_table): Add micromips, nomicromips and nocompression.
2912         (mips_mips16_decl_p): Delete.
2913         (mips_nomips16_decl_p): Delete.
2914         (mips_get_compress_on_flags): New function.
2915         (mips_get_compress_off_flags): New function.
2916         (mips_get_compress_mode): New function.
2917         (mips_get_compress_on_name): New function.
2918         (mips_get_compress_off_name): New function.
2919         (mips_insert_attributes): Support multiple compression types.
2920         (mips_merge_decl_attributes): Likewise.
2921         (umips_12bit_offset_address_p): New function.
2922         (mips_start_function_definition): Emit .set micromips directive.
2923         (mips_call_may_need_jalx_p): New function.
2924         (mips_function_ok_for_sibcall): Add microMIPS support.
2925         (mips_print_operand_punctuation): Support short delay slots and
2926         compact jumps.
2927         (umips_swm_mask, umips_swm_encoding): New.
2928         (umips_build_save_restore): New function.
2929         (mips_for_each_saved_gpr_and_fpr): Add microMIPS support.
2930         (was_mips16_p): Remove.
2931         (old_compression_mode): New.
2932         (mips_set_compression_mode): New function.
2933         (mips_set_current_function): Add microMIPS support.
2934         (mips_option_override): Likewise.
2935         (umips_save_restore_pattern_p): New function.
2936         (umips_output_save_restore): New function.
2937         (umips_load_store_pair_p_1): New function.
2938         (umips_load_store_pair_p): New function.
2939         (umips_output_load_store_pair_1): New function.
2940         (umips_output_load_store_pair): New function.
2941         (umips_movep_target_p) New function.
2942         (mips_prepare_pch_save): Add microMIPS support.
2943         * config/mips/mips.h (TARGET_COMPRESSION): New.
2944         (TARGET_CPU_CPP_BUILTINS): Update macro
2945         to use new compression flags and to support microMIPS.
2946         (MIPS_ISA_LEVEL_SPEC): Add m14k processors.
2947         (MIPS_ARCH_FLOAT_SPEC): Likewise.
2948         (ISA_HAS_LWXS): Include TARGET_MICROMIPS.
2949         (ISA_HAS_LOAD_DELAY): Exclude TARGET_MICROMIPS.
2950         (ASM_SPEC): Support mmicromips and mno-micromips.
2951         (M16STORE_REG_P): New macro.
2952         (MIPS_CALL): Support TARGET_MICROMIPS.
2953         (MICROMIPS_J): New macro.
2954         (mips_base_mips16): Rename this...
2955         (mips_base_compression_flags): ...to this.
2956         (UMIPS_12BIT_OFFSET_P): New macro.
2957         * config/mips/t-sde: (MULTILIB_OPTIONS): Add microMIPS.
2958         (MULTILIB_DIRNAMES): Likewise.
2959
2960 2013-02-25  Tom de Vries  <tom@codesourcery.com>
2961
2962         PR rtl-optimization/56131
2963         * insn-notes.def (INSN_NOTE_BASIC_BLOCK): Update comment.
2964         * cfgrtl.c (delete_insn): Don't reorder NOTE_INSN_DELETED_LABEL and
2965         NOTE_INSN_BASIC_BLOCK if BLOCK_FOR_INSN == NULL.
2966
2967 2013-02-25  Tobias Burnus  <burnus@net-b.de>
2968
2969         * doc/invoke.texi (-fsanitize=): Move from optimization
2970         to debugging options.
2971
2972 2013-02-25  Andrey Belevantsev  <abel@ispras.ru>
2973
2974         * sched-deps.c (sched_analyze_insn): Fix typo in comment.
2975
2976 2013-02-25  Andrey Belevantsev  <abel@ispras.ru>
2977             Alexander Monakov  <amonakov@ispras.ru>
2978
2979         PR middle-end/56077
2980         * sched-deps.c (sched_analyze_insn): When reg_pending_barrier,
2981         flush pending lists also on non-jumps.  Adjust comment.
2982
2983 2013-02-24  Catherine Moore  <clm@codesourcery.com>
2984             Maciej W. Rozycki  <macro@codesourcery.com>
2985             Tom de Vries  <tom@codesourcery.com>
2986             Nathan Sidwell  <nathan@codesourcery.com>
2987             Iain Sandoe  <iain@codesourcery.com>
2988             Nathan Froyd  <froydnj@codesourcery.com>
2989             Chao-ying Fu  <fu@mips.com>
2990
2991         * doc/extend.texi (micromips, nomicromips, nocompression):
2992         Document new function attributes.
2993         * doc/invoke.texi (minterlink-compressed, mmicromips,
2994         m14k, m14ke, m14kec): Document new options.
2995         (minterlink-mips16): Update documentation.
2996         * doc/md.texi (ZC, ZD): Document new constraints.
2997         * configure.ac (gcc_cv_as_micromips): Check if linker
2998         supports the .set micromips directive.
2999         * configure: Regenerate.
3000         * config.in: Regenerate.
3001         * config/mips/mips-tables.opt: Regenerate.
3002         * config/mips/micromips.md: New file.
3003         * constraints.md (ZC, AD): New constraints.
3004         * config/mips/predicates.md (movep_src_register): New predicate.
3005         (movep_src_operand): New predicate.
3006         (non_volatile_mem_operand): New predicate.
3007         * config/mips/mips.md (multimem): New type.
3008         (length): Differentiate between 17-bit and 18-bit branch offsets.
3009         (MOVEP1, MOVEP2): New mode iterator.
3010         (mov_<load>l): Use ZC constraint.
3011         (mov_<load>r): Likewise.
3012         (mov_<store>l): Likewise.
3013         (mov_<store>r): Likewise.
3014         (*branch_equality<mode>_inverted): Add microMIPS support.
3015         (*branch_equality<mode>): Likewise.
3016         (*jump_absolute): Likewise.
3017         (indirect_jump_<mode>): Likewise.
3018         (tablejump_<mode>): Likewise.
3019         (<optab>_internal): Likewise.
3020         (sibcall_internal): Likewise.
3021         (sibcall_value_internal): Likewise.
3022         (prefetch): Use constraint ZD.
3023         * config/mips/mips.opt (minterlink-compressed): New option.
3024         (minterlink-mips16): Now an alias for minterlink-compressed.
3025         (mmicromips): New option.
3026         * config/mips/sync.md (sync_compare_and_swap<mode>): Use ZR constraint.
3027         (compare_and_swap_12): Likewise.
3028         (sync_add<mode>): Likewise.
3029         (sync_<optab>_12): Likewise.
3030         (sync_old_<optab>_12): Likewise.
3031         (sync_new_<optab>_12): Likewise.
3032         (sync_nand_12): Likewise.
3033         (sync_old_nand_12): Likewise.
3034         (sync_new_nand_12): Likewise.
3035         (sync_sub<mode>): Likewise.
3036         (sync_old_add<mode>): Likewise.
3037         (sync_old_sub<mode>): Likewise.
3038         (sync_new_add<mode>): Likewise.
3039         (sync_new_sub<mode>): Likewise.
3040         (sync_<optab><mode>): Likewise.
3041         (sync_old_<optab><mode>): Likewise.
3042         (sync_new_<optab><mode>): Likewise.
3043         (sync_nand<mode>): Likewise.
3044         (sync_old_nand<mode>): Likewise.
3045         (sync_new_nand<mode>): Likewise.
3046         (sync_lock_test_and_set<mode>): Likewise.
3047         (test_and_set_12): Likewise.
3048         (atomic_compare_and_swap<mode>): Likewise.
3049         (atomic_exchange<mode>_llsc): Likewise.
3050         (atomic_fetch_add<mode>_llsc): Likewise.
3051         * config/mips/mips-cpus.def (m14kc, m14k): New processors.
3052         * config/mips/mips-protos.h (umips_output_save_restore): New prototype.
3053         (umips_save_restore_pattern_p): Likewise.
3054         (umips_load_store_pair_p): Likewise.
3055         (umips_output_load_store_pair): Likewise.
3056         (umips_movep_target_p): Likewise.
3057         (umips_12bit_offset_address_p): Likewise.
3058         * config/mips/mips.c (MIPS_MAX_FIRST_STEP): Update for microMIPS.
3059         (mips_base_mips16): Rename this...
3060         (mips_base_compression_flags): ...to this. Update all uses.
3061         (mips_attribute_table): Add micromips, nomicromips and nocompression.
3062         (mips_mips16_decl_p): Delete.
3063         (mips_nomips16_decl_p): Delete.
3064         (mips_get_compress_on_flags): New function.
3065         (mips_get_compress_off_flags): New function.
3066         (mips_get_compress_mode): New function.
3067         (mips_get_compress_on_name): New function.
3068         (mips_get_compress_off_name): New function.
3069         (mips_insert_attributes): Support multiple compression types.
3070         (mips_merge_decl_attributes): Likewise.
3071         (umips_12bit_offset_address_p): New function.
3072         (mips_start_function_definition): Emit .set micromips directive.
3073         (mips_call_may_need_jalx_p): New function.
3074         (mips_function_ok_for_sibcall): Add microMIPS support.
3075         (mips_print_operand_punctuation): Support short delay slots and
3076         compact jumps.
3077         (umips_swm_mask, umips_swm_encoding): New.
3078         (umips_build_save_restore): New function.
3079         (mips_for_each_saved_gpr_and_fpr): Add microMIPS support.
3080         (was_mips16_p): Remove.
3081         (old_compression_mode): New.
3082         (mips_set_compression_mode): New function.
3083         (mips_set_current_function): Add microMIPS support.
3084         (mips_option_override): Likewise.
3085         (umips_save_restore_pattern_p): New function.
3086         (umips_output_save_restore): New function.
3087         (umips_load_store_pair_p_1): New function.
3088         (umips_load_store_pair_p): New function.
3089         (umips_output_load_store_pair_1): New function.
3090         (umips_output_load_store_pair): New function.
3091         (umips_movep_target_p) New function.
3092         (mips_prepare_pch_save): Add microMIPS support.
3093         * config/mips/mips.h (TARGET_COMPRESSION): New.
3094         (TARGET_CPU_CPP_BUILTINS): Update macro
3095         to use new compression flags and to support microMIPS.
3096         (MIPS_ISA_LEVEL_SPEC): Add m14k processors.
3097         (MIPS_ARCH_FLOAT_SPEC): Likewise.
3098         (ISA_HAS_LWXS): Include TARGET_MICROMIPS.
3099         (ISA_HAS_LOAD_DELAY): Exclude TARGET_MICROMIPS.
3100         (ASM_SPEC): Support mmicromips and mno-micromips.
3101         (M16STORE_REG_P): New macro.
3102         (MIPS_CALL): Support TARGET_MICROMIPS.
3103         (MICROMIPS_J): New macro.
3104         (mips_base_mips16): Rename this...
3105         (mips_base_compression_flags): ...to this.
3106         (UMIPS_12BIT_OFFSET_P): New macro.
3107         * config/mips/t-sde: (MULTILIB_OPTIONS): Add microMIPS.
3108         (MULTILIB_DIRNAMES): Likewise.
3109
3110 2013-02-24  Jakub Jelinek  <jakub@redhat.com>
3111
3112         PR target/52555
3113         * target-globals.c (save_target_globals): For init_reg_sets and
3114         target_reinit remporarily set this_fn_optabs to this_target_optabs.
3115
3116 2013-02-22  James Grennahlgh  <james.greenhalgh@arm.com>
3117
3118         * config/aarch64/aarch64-simd-builtins.def: Add copyright header.
3119         * config/aarch64/t-aarch64
3120         (aarch64-builtins.o): Depend on aarch64-simd-builtins.def.
3121
3122 2013-02-22  Vladimir Makarov  <vmakarov@redhat.com>
3123
3124         PR inline-asm/56148
3125         * lra-constraints.c (process_alt_operands): Reload operand
3126         conflicting with earlier clobber only if no more other conflicting
3127         operands.
3128
3129 2013-02-22  Jakub Jelinek  <jakub@redhat.com>
3130
3131         PR sanitizer/56393
3132         * config/gnu-user.h (LIBASAN_EARLY_SPEC): Link in libasan_preinit.o
3133         if not linking a shared library.
3134
3135 2013-02-22  Seth LaForge  <sethml@google.com>
3136
3137         * config.gcc (arm*-*-eabi*): Treat arm*eb as big-endian.
3138
3139 2013-02-22  Greta Yorsh  <Greta.Yorsh@arm.com>
3140
3141         * config/arm/arm.md (split for extendsidi): Update condition.
3142         (zero_extend<mode>di2,extend<mode>di2): Add an alternative.
3143         * config/arm/iterators.md (qhs_extenddi_cstr): Likewise.
3144         (qhs_zextenddi_cstr): Likewise.
3145
3146 2013-02-21  Jakub Jelinek  <jakub@redhat.com>
3147
3148         PR middle-end/56420
3149         * expmed.c (EXACT_POWER_OF_2_OR_ZERO_P): Do subtraction in uhwi, to
3150         avoid signed wrapping.
3151         (expand_mult): Handle properly multiplication by
3152         ((dword_type) -1) << (BITS_PER_WORD - 1).  Improve multiplication by
3153         ((dword_type) 1) << (BITS_PER_WORD - 1).  Avoid undefined behavior
3154         in the compiler if coeff is HOST_WIDE_INT_MIN.
3155         (expand_divmod): Don't make ext_op1 static, change it's type to uhwi.
3156         Avoid undefined behavior in -INTVAL (op1).
3157
3158         PR rtl-optimization/50339
3159         * lower-subreg.h (struct lower_subreg_choices): Add splitting_ashiftrt
3160         field.
3161         * lower-subreg.c (compute_splitting_shift): Handle ASHIFTRT.
3162         (compute_costs): Call compute_splitting_shift also for ASHIFTRT
3163         into splitting_ashiftrt field.
3164         (find_decomposable_shift_zext, resolve_shift_zext): Handle also
3165         ASHIFTRT.
3166         (dump_choices): Fix up printing LSHIFTRT choices, print ASHIFTRT
3167         choices.
3168
3169 2013-02-20  Aldy Hernandez  <aldyh@redhat.com>
3170
3171         PR middle-end/56108
3172         * trans-mem.c (execute_tm_mark): Do not expand transactions that
3173         are sure to go irrevocable.
3174
3175 2013-02-21  Hans-Peter Nilsson  <hp@axis.com>
3176
3177         * doc/rtl.texi (vec_concat, vec_duplicate): Mention that
3178         scalars are valid operands.
3179
3180 2013-02-21  Martin Jambor  <mjambor@suse.cz>
3181
3182         PR tree-optimization/56310
3183         * ipa-cp.c (agg_replacements_to_vector): New parameter index, copy
3184         only matching indices and non-negative final offsets.
3185         (intersect_aggregates_with_edge): Pass src_idx to
3186         agg_replacements_to_vector.  Pass src_idx insstead of index to
3187         intersect_with_agg_replacements.
3188
3189 2013-02-21  Martin Jambor  <mjambor@suse.cz>
3190
3191         * ipa-cp.c (good_cloning_opportunity_p): Dump the real threshold
3192         instead of hard-wired defaults.
3193
3194 2013-02-21  Maciej W. Rozycki  <macro@codesourcery.com>
3195
3196         * doc/invoke.texi (MIPS Options): Update documentation of the
3197         floating-point multiply-accumulate instruction restrictions.
3198
3199 2013-02-21  Kostya Serebryany  <kcc@google.com>
3200
3201         * config/i386/i386.c (ix86_asan_shadow_offset): Use 0x7fff8000 as
3202         asan_shadow_offset on x86_64 linux.
3203
3204 2013-02-21  Richard Biener  <rguenther@suse.de>
3205
3206         PR tree-optimization/56415
3207         Revert
3208         2013-02-11  Richard Biener  <rguenther@suse.de>
3209
3210         PR tree-optimization/56273
3211         * tree-vrp.c (simplify_cond_using_ranges): Disable for the
3212         first VRP run.
3213
3214 2013-02-21  Jakub Jelinek  <jakub@redhat.com>
3215
3216         PR bootstrap/56258
3217         * doc/invoke.texi (-fdump-rtl-pro_and_epilogue): Use @item
3218         instead of @itemx.
3219
3220         PR inline-asm/56405
3221         * expr.c (expand_expr_real_1) <case TARGET_MEM_REF, MEM_REF>: Don't
3222         use movmisalign or extract_bit_field for EXPAND_MEMORY modifier.
3223
3224 2013-02-20  Jan Hubicka  <jh@suse.cz>
3225
3226         PR tree-optimization/56265
3227         * ipa-prop.c (ipa_make_edge_direct_to_target): Fixup callgraph when
3228         target is referenced for first time.
3229
3230 2013-02-20  Richard Biener  <rguenther@suse.de>
3231
3232         * tree-call-cdce.c (tree_call_cdce): Do not remove unused locals.
3233         * tree-ssa-forwprop.c (ssa_forward_propagate_and_combine): Likewise.
3234         * tree-ssa-dce.c (perform_tree_ssa_dce): Likewise.
3235         * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Do
3236         not return anything.
3237         (rename_ssa_copies): Do not remove unused locals.
3238         * tree-ssa-ccp.c (do_ssa_ccp): Likewise.
3239         * tree-ssanames.c (pass_release_ssa_names): Remove unused locals first.
3240         * passes.c (execute_function_todo): Do not schedule unused locals
3241         removal if cleanup_tree_cfg did something.
3242         * tree-ssa-live.c (remove_unused_locals): Dump statistics
3243         about the number of removed locals.
3244
3245 2013-02-20  Richard Biener  <rguenther@suse.de>
3246
3247         PR tree-optimization/56398
3248         * tree-vect-loop-manip.c (adjust_debug_stmts): Skip
3249         SSA default defs.
3250
3251 2013-02-20  Martin Jambor  <mjambor@suse.cz>
3252
3253         PR tree-optimization/55334
3254         * ipa-cp.c (initialize_node_lattices): Disable IPA-CP through and to
3255         restricted pointers to arrays.
3256
3257 2013-02-20  Richard Biener  <rguenther@suse.de>
3258         Jakub Jelinek  <jakub@redhat.com>
3259
3260         PR tree-optimization/56396
3261         * tree-ssa-ccp.c (n_const_val): New static variable.
3262         (get_value): Return NULL for SSA names we don't have a lattice
3263         entry for.
3264         (ccp_initialize): Initialize n_const_val.
3265         * tree-ssa-copy.c (n_copy_of): New static variable.
3266         (init_copy_prop): Initialize n_copy_of.
3267         (get_value): Return NULL_TREE for SSA names we don't have a
3268         lattice entry for.
3269
3270 2013-02-20  Martin Jambor  <mjambor@suse.cz>
3271
3272         * ipa-cp.c (initialize_node_lattices): Fix dumping condition.
3273
3274 2013-02-20  Richard Biener  <rguenther@suse.de>
3275
3276         * genpreds.c (write_lookup_constraint): Do not compare first
3277         letter of the constraint again.
3278
3279 2013-02-20  Richard Biener  <rguenther@suse.de>
3280
3281         * tree-ssa-loop-ivopts.c (alloc_use_cost_map): Use bitmap_count_bits
3282         and ceil_log2.
3283         (get_use_iv_cost): Terminate hashtable walk when coming across
3284         an empty entry.
3285
3286 2013-02-20  Igor Zamyatin  <igor.zamyatin@intel.com>
3287
3288         * config/i386/i386.c (initial_ix86_tune_features): Turn on fp
3289         reassociation for avx2 targets.
3290
3291 2012-02-19  Edgar E. Iglesias  <edgar.iglesias@gmail.com>
3292
3293         * config/microblaze/microblaze.c: microblaze_has_clz = 0
3294         Add version check for v8.10.a to enable microblaze_has_clz
3295         * config/microblaze/microblaze.h: Add TARGET_HAS_CLZ as combined
3296         version and TARGET_PATTERN_COMPARE check
3297         * config/microblaze/microblaze.md: New clzsi2 instruction
3298
3299 2012-02-19  Edgar E. Iglesias  <edgar.iglesias@gmail.com>
3300
3301         * config/microblaze/microblaze.md (call_value_intern): Check symbol is
3302         function before branching.
3303
3304 2012-02-19  Andrey Belevantsev  <abel@ispras.ru>
3305
3306         * sel-sched-dump.c (dump_insn_rtx_flags): Explicitly set
3307         DUMP_INSN_RTX_UID.
3308         (dump_insn_rtx_1): Pass PATTERN (insn) to str_pattern_slim.
3309
3310 2012-02-19  Andrey Belevantsev  <abel@ispras.ru>
3311
3312         PR middle-end/55889
3313         * sel-sched.c: Include ira.h.
3314         (implicit_clobber_conflict_p): New function.
3315         (moveup_expr): Use it.
3316         * Makefile.in (sel-sched.o): Depend on ira.h.
3317
3318 2013-02-19  Richard Biener  <rguenther@suse.de>
3319
3320         PR tree-optimization/56384
3321         * tree-ssa-sccvn.h (struct vn_phi_s): Add type member.
3322         (vn_hash_type): Split out from ...
3323         (vn_hash_constant_with_type): ... here.
3324         * tree-ssa-sccvn.c (vn_phi_compute_hash): Use vn_hash_type.
3325         (vn_phi_eq): Compare types from vn_phi_s structure.
3326         (vn_phi_lookup): Populate vn_phi_s type.
3327         (vn_phi_insert): Likewise.
3328
3329 2013-02-19  Jakub Jelinek  <jakub@redhat.com>
3330
3331         PR tree-optimization/56350
3332         * tree-vect-loop.c (vectorizable_reduction): If orig_stmt, return false
3333         if haven't found reduction or nested cycle operand, rather than
3334         asserting we must find it.
3335
3336         PR tree-optimization/56381
3337         * tree-ssa-pre.c (create_expression_by_pieces): Fix up last argument
3338         to fold_build3.
3339
3340 2013-02-18  Aldy Hernandez  <aldyh@redhat.com>
3341             Jakub Jelinek  <jakub@redhat.com>
3342
3343         PR target/52555
3344         * genopinit.c (raw_optab_handler): Use this_fn_optabs.
3345         (swap_optab_enable): Same.
3346         (init_all_optabs): Use argument instead of global.
3347         * tree.h (struct tree_optimization_option): New field target_optabs.
3348         * expr.h (init_all_optabs): Add argument to prototype.
3349         (TREE_OPTIMIZATION_OPTABS): New.
3350         (save_optabs_if_changed): Protoize.
3351         * optabs.h: Declare this_fn_optabs.
3352         * optabs.c (save_optabs_if_changed): New.
3353         Declare this_fn_optabs.
3354         (init_optabs): Add argument to init_all_optabs() call.
3355         * function.c (invoke_set_current_function_hook): Handle per
3356         function optabs.
3357         * function.h (struct function): New field optabs.
3358         * config/mips/mips.c (mips_set_mips16_mode): Handle when
3359         optimization_current_node has changed.
3360         * target-globals.h (save_target_globals_default_opts): Protoize.
3361         * target-globals.c (save_target_globals_default_opts): New.
3362
3363 2013-02-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3364
3365         PR target/56347
3366         * config/pa/pa.c (pa_conditional_register_usage): On HP-UX, mark
3367         registers %fr12 and %fr12R as call used.
3368
3369         PR target/56214
3370         * config/pa/predicates.md (base14_operand): Except for BLKmode, QImode
3371         and HImode, require all displacements to be an integer multiple of
3372         their mode size.
3373         * config/pa/pa.c (pa_legitimate_address_p): For REG+BASE addresses,
3374         only allow QImode and HImode when reload is in progress and strict is
3375         true.  Likewise for symbolic addresses.  Use base14_operand to check
3376         displacements in REG+BASE addresses.
3377
3378 2013-02-18  Richard Biener  <rguenther@suse.de>
3379
3380         PR tree-optimization/56366
3381         * tree-vect-loop.c (get_initial_def_for_induction): Properly
3382         handle sign-conversion of outer-loop initial induction value.
3383
3384 2013-02-18  Richard Biener  <rguenther@suse.de>
3385
3386         PR middle-end/56349
3387         * cfghooks.c (merge_blocks): If we merge a latch into another
3388         block adjust references to it.
3389         * cfgloop.c (flow_loops_find): Reset latch before recomputing it.
3390         (verify_loop_structure): Verify that a recorded latch is in fact
3391         a latch.
3392
3393 2013-02-18  Richard Biener  <rguenther@suse.de>
3394
3395         PR tree-optimization/56321
3396         * tree-ssa-reassoc.c (propagate_op_to_single_use): Properly
3397         order SSA name release and virtual operand unlinking.
3398
3399 2013-02-17  Edgar E. Iglesias  <edgar.iglesias@gmail.com>
3400
3401         * config/microblaze/microblaze.md (save_stack_block): Define.
3402         (restore_stack_block): Likewise.
3403
3404 2013-02-16  Edgar E. Iglesias  <edgar.iglesias@gmail.com>
3405
3406         * config/microblaze/linux.h (TARGET_SUPPORTS_PIC): Define as 1.
3407         * config/microblaze/microblaze.h (TARGET_SUPPORTS_PIC): Define as 1.
3408         * config/microblaze/microblaze.c (microblaze_option_override):
3409         Bail out early for PIC modes when target does not support PIC.
3410
3411 2013-02-16  Edgar E. Iglesias  <edgar.iglesias@gmail.com>
3412
3413         * config/microblaze/microblaze.c (microblaze_asm_trampoline_template):
3414         Replace with a microblaze version.
3415         (microblaze_trampoline_init): Adapt for microblaze.
3416         * config/microblaze/microblaze.h (TRAMPOLINE_SIZE): Adapt for
3417         microblaze.
3418
3419 2013-02-16  Jakub Jelinek  <jakub@redhat.com>
3420             Dodji Seketeli  <dodji@redhat.com>
3421
3422         PR asan/56330
3423         * asan.c (get_mem_refs_of_builtin_call): White space and style
3424         cleanup.
3425         (instrument_mem_region_access): Do not forget to always put
3426         instrumentation of the of 'base' and 'base + len' in a "if (len !=
3427         0) statement, even for cases where either 'base' or 'base + len'
3428         are not instrumented -- because they have been previously
3429         instrumented.  Simplify the logic by putting all the statements
3430         instrument 'base + len' inside a sequence, and then insert that
3431         sequence right before the current insertion point.  Then, to
3432         instrument 'base + len', just get an iterator on that statement.
3433         And do not forget to update the pointer to iterator the function
3434         received as argument.
3435
3436 2013-02-15  Vladimir Makarov  <vmakarov@redhat.com>
3437
3438         PR rtl-optimization/56348
3439         * lra-assigns.c (reload_pseudo_compare_func): Prefer bigger pseudos.
3440
3441 2013-02-15  Steven Bosscher  <steven@gcc.gnu.org>
3442
3443         * graph.c (start_graph_dump): Print dumpfile base as digraph label.
3444         (clean_graph_dump_file): Pass base to start_graph_dump.
3445
3446 2013-02-14  Richard Henderson  <rth@redhat.com>
3447
3448         PR target/55941
3449         * lower-subreg.c (simple_move): Check dest mode instead of src mode.
3450
3451 2013-02-14  Steven Bosscher  <steven@gcc.gnu.org>
3452
3453         * collect2-aix.h: Define F_LOADONLY.
3454
3455 2013-02-14  Richard Biener  <rguenther@suse.de>
3456
3457         PR lto/50494
3458         * varasm.c (output_constant_def_1): Get the decl representing
3459         the constant as argument.
3460         (output_constant_def): Wrap output_constant_def_1.
3461         (make_decl_rtl): Use output_constant_def_1 with the decl
3462         representing the constant.
3463         (build_constant_desc): Optionally re-use a decl already
3464         representing the constant.
3465         (tree_output_constant_def): Adjust.
3466
3467 2013-02-14  Dodji Seketeli  <dodji@redhat.com>
3468
3469         Fix an asan crash
3470         * asan.c (instrument_builtin_call):  Really put the length of the
3471         second source argument into src1_len.
3472
3473 2013-02-13  Jakub Jelinek  <jakub@redhat.com>
3474
3475         * asan.c (create_cond_insert_point): Add create_then_fallthru_edge
3476         argument.  If it is false, don't create edge from then_bb to
3477         fallthru_bb.
3478         (insert_if_then_before_iter): Pass true to it.
3479         (build_check_stmt): Pass false to it.
3480         (transform_statements): Flush hash table only on extended basic
3481         block boundaries, rather than at the beginning of every bb.
3482         Don't flush hash table on nonfreeing_call_p calls.
3483         * tree-flow.h (nonfreeing_call_p): New prototype.
3484         * tree-ssa-phiopt.c (nonfreeing_call_p): No longer static.
3485
3486 2013-02-13  David S. Miller  <davem@davemloft.net>
3487
3488         * expmed.c (expand_shift_1): Only strip scalar integer subregs.
3489
3490 2013-02-13  Vladimir Makarov  <vmakarov@redhat.com>
3491
3492         PR target/56184
3493         * ira.c (max_regno_before_ira): Move from ...
3494         (ira): ... here.
3495         (fix_reg_equiv_init): Use max_regno_before_ira instead of
3496         vec_safe_length.
3497
3498 2013-02-13  Jakub Jelinek  <jakub@redhat.com>
3499
3500         * config/i386/i386.c (ix86_asan_shadow_offset): Revert last change.
3501
3502 2013-02-13  Richard Biener  <rguenther@suse.de>
3503
3504         PR lto/56295
3505         * gimple-streamer-out.c (output_gimple_stmt): Undo wrapping
3506         globals in MEM_REFs.
3507
3508 2013-02-13  Richard Biener  <rguenther@suse.de>
3509
3510         * loop-init.c (loop_optimizer_init): Clear loop state when
3511         re-initializing preserved loops.
3512         * loop-unswitch.c (unswitch_single_loop): Return whether
3513         we unswitched the loop.  Do not verify loop state here.
3514         (unswitch_loops): When we unswitched a loop discover new
3515         loops.
3516
3517 2013-02-13  Kostya Serebryany  <kcc@google.com>
3518
3519         * config/i386/i386.c: Use 0x7fff8000 as asan_shadow_offset on x86_64
3520         linux.
3521         * sanitizer.def: Rename __asan_init to __asan_init_v1.
3522
3523 2013-02-12  Dodji Seketeli  <dodji@redhat.com>
3524
3525         Avoid instrumenting duplicated memory access in the same basic block
3526         * Makefile.in (asan.o): Add new dependency on hash-table.h
3527         * asan.c (struct asan_mem_ref, struct mem_ref_hasher): New types.
3528         (asan_mem_ref_init, asan_mem_ref_get_end, get_mem_ref_hash_table)
3529         (has_stmt_been_instrumented_p, empty_mem_ref_hash_table)
3530         (free_mem_ref_resources, has_mem_ref_been_instrumented)
3531         (has_stmt_been_instrumented_p, update_mem_ref_hash_table)
3532         (get_mem_ref_of_assignment): New functions.
3533         (get_mem_refs_of_builtin_call): Extract from
3534         instrument_builtin_call and tweak a little bit to make it fit with
3535         the new signature.
3536         (instrument_builtin_call): Use the new
3537         get_mem_refs_of_builtin_call.  Use gimple_call_builtin_p instead
3538         of is_gimple_builtin_call.
3539         (instrument_derefs, instrument_mem_region_access): Insert the
3540         instrumented memory reference into the hash table.
3541         (maybe_instrument_assignment): Renamed instrument_assignment into
3542         this, and change it to advance the iterator when instrumentation
3543         actually happened and return true in that case.  This makes it
3544         homogeneous with maybe_instrument_assignment, and thus give a
3545         chance to callers to be more 'regular'.
3546         (transform_statements): Clear the memory reference hash table
3547         whenever we enter a new BB, when we cross a function call, or when
3548         we are done transforming statements.  Use
3549         maybe_instrument_assignment instead of instrumentation.  No more
3550         need to special case maybe_instrument_assignment and advance the
3551         iterator after calling it; it's now handled just like
3552         maybe_instrument_call.  Update comment.
3553
3554 2013-02-13  Richard Biener  <rguenther@suse.de>
3555
3556         * config/mn10300/mn10300.c (mn10300_scan_for_setlb_lcc):
3557         Fix loop discovery code.
3558
3559 2013-02-12  Vladimir Makarov  <vmakarov@redhat.com>
3560
3561         PR inline-asm/56148
3562         * lra-constraints.c (process_alt_operands): Match early clobber
3563         operand with itself.  Check conflicts with earlyclobber only if
3564         the operand is not reloaded.  Prefer to reload conflicting operand
3565         if earlyclobber and matching operands are the same.
3566
3567 2013-02-12  Richard Biener  <rguenther@suse.de>
3568
3569         PR lto/56297
3570         * lto-streamer-out.c (write_symbol): Do not output symbols
3571         for hard register variables.
3572
3573 2013-02-12  Georg-Johann Lay  <avr@gjlay.de>
3574
3575         PR target/54222
3576         * config/avr/avr-dimode.md (umulsidi3, mulsidi3): New expanders.
3577         (umulsidi3_insn, mulsidi3_insn): New insns.
3578
3579 2013-02-12  Christophe Lyon  <christophe.lyon@linaro.org>
3580
3581         * config/arm/arm-protos.h (struct cpu_vec_costs): New struct type.
3582         (struct tune_params): Add vec_costs field.
3583         * config/arm/arm.c (arm_builtin_vectorization_cost)
3584         (arm_add_stmt_cost): New functions.
3585         (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST)
3586         (TARGET_VECTORIZE_ADD_STMT_COST): Define.
3587         (arm_default_vec_cost): New struct of type cpu_vec_costs.
3588         (arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune)
3589         (arm_xscale_tune, arm_9e_tune, arm_v6t2_tune, arm_cortex_tune)
3590         (arm_cortex_a15_tune, arm_cortex_a5_tune, arm_cortex_a9_tune)
3591         (arm_v6m_tune, arm_fa726te_tune): Define new vec_costs field.
3592
3593 2013-02-12  Richard Biener  <rguenther@suse.de>
3594
3595         PR lto/56295
3596         * gimple-streamer-in.c (input_gimple_stmt): Strip MEM_REFs off
3597         decls again if possible.
3598
3599 2013-02-12  Richard Biener  <rguenther@suse.de>
3600
3601         PR middle-end/56288
3602         * tree-ssa.c (verify_ssa_name): Fix check, move
3603         SSA_NAME_IN_FREE_LIST check up.
3604
3605 2013-02-12  Jakub Jelinek  <jakub@redhat.com>
3606             Steven Bosscher   <steven@gcc.gnu.org>
3607
3608         PR rtl-optimization/56151
3609         * optabs.c (add_equal_note): Don't return 0 if target is a MEM,
3610         equal to op0 or op1, and last_insn pattern is CODE operation
3611         with MEM dest and one of the operands matches that MEM.
3612
3613 2013-02-11  Sriraman Tallam  <tmsriramgoogle.com>
3614
3615         * doc/extend.texi: Document Function Multiversioning and "default"
3616         parameter string to target attribute.
3617         * config/i386/i386.c (get_builtin_code_for_version): Return 0 if
3618         target attribute parameter is "default".
3619         (ix86_compare_version_priority): Remove checks for target attribute.
3620         (ix86_mangle_function_version_assembler_name): Change error to sorry.
3621         Remove check for target attribute equal to NULL. Add assert.
3622         (ix86_generate_version_dispatcher_body): Change error to sorry.
3623
3624 2013-02-11  Iain Sandoe  <iain@codesourcery.com>
3625             Jack Howarth  <howarth@bromo.med.uc.edu>
3626             Patrick Marlier  <patrick.marlier@gmail.com>
3627
3628         PR libitm/55693
3629         * config/darwin.h: Replace ENDFILE_SPEC with TM_DESTRUCTOR and
3630         define ENDFILE_SPEC as TM_DESTRUCTOR.
3631         * config/i386/darwin.h (ENDFILE_SPEC): Use TM_DESTRUCTOR.
3632
3633 2013-02-11  Alexander Potapenko  <glider@google.com>
3634             Jack Howarth  <howarth@bromo.med.uc.edu>
3635             Jakub Jelinek  <jakub@redhat.com>
3636
3637         PR sanitizer/55617
3638         * config/darwin.c (cdtor_record): Rename ctor_record.
3639         (sort_cdtor_records): Rename sort_ctor_records.
3640         (finalize_dtors): New routine to sort destructors by
3641         priority before use in assemble_integer.
3642         (machopic_asm_out_destructor): Use finalize_dtors if needed.
3643
3644 2013-02-11  Uros Bizjak  <ubizjak@gmail.com>
3645
3646         PR rtl-optimization/56275
3647         * simplify-rtx.c (avoid_constant_pool_reference): Check that
3648         offset is non-negative and less than cmode size before
3649         calling simplify_subreg.
3650
3651 2013-02-11  Richard Biener  <rguenther@suse.de>
3652
3653         PR tree-optimization/56264
3654         * cfgloop.h (fix_loop_structure): Adjust prototype.
3655         * loop-init.c (fix_loop_structure): Return the number of
3656         newly discovered loops.
3657         * tree-cfgcleanup.c (repair_loop_structures): When new loops
3658         are discovered, do a full loop-closed SSA rewrite.
3659
3660 2013-02-11  Richard Biener  <rguenther@suse.de>
3661
3662         PR tree-optimization/56273
3663         * tree-vrp.c (simplify_cond_using_ranges): Disable for the
3664         first VRP run.
3665         (check_array_ref): Fix missing newline in dumps.
3666         (search_for_addr_array): Likewise.
3667
3668 2013-02-09  David Edelsohn  <dje.gcc@gmail.com>
3669
3670         * config/rs6000/aix61.h (OS_MISSING_ALTIVEC): Undefine.
3671
3672 2013-02-09  Jakub Jelinek  <jakub@redhat.com>
3673
3674         PR target/56256
3675         * config/rs6000/rs6000.h (ASSEMBLER_DIALECT): Define.
3676
3677 2013-02-08  Vladimir Makarov  <vmakarov@redhat.com>
3678
3679         PR rtl-optimization/56246
3680         * lra-constraints.c (simplify_operand_subreg): Try to reuse
3681         reload pseudo.
3682         * lra.c (lra): Clear lra_optional_reload_pseudos only when all
3683         constraints are satisfied.
3684
3685 2013-02-08  Jeff Law  <law@redhat.com>
3686
3687         PR debug/53948
3688         * emit-rtl.c (reg_is_parm_p): New function.
3689         * regs.h (reg_is_parm_p): New prototype.
3690         * ira-conflicts.c (ira_build_conflicts): Allow parameters in
3691         callee-clobbered registers.
3692
3693 2013-02-08  Michael Meissner  <meissner@linux.vnet.ibm.com>
3694
3695         PR target/56043
3696         * config/rs6000/rs6000.c (rs6000_builtin_vectorized_libmass):
3697         If there is no implicit builtin declaration, just return NULL.
3698
3699 2013-02-08  Uros Bizjak  <ubizjak@gmail.com>
3700
3701         * config/i386/sse.md (FMAMODEM): New mode iterator.
3702         (fma<mode>4, fms<mode>4, fnma<mode>4, fnms<mode>4): Use FMAMODEM
3703         mode iterator. Do not use TARGET_SSE_MATH in insn constraint.
3704
3705 2013-02-08  Uros Bizjak  <ubizjak@gmail.com>
3706
3707         * config/i386/gnu-user.h (TARGET_CAN_SPLIT_STACK): Define only
3708         when HAVE_GAS_CFI_PERSONALITY_DIRECTIVE is set.
3709         * config/i386/gnu-user64.h (TARGET_CAN_SPLIT_STACK): Ditto.
3710
3711 2013-02-08  Edgar E. Iglesias  <edgar.iglesias@gmail.com>
3712
3713         * config.gcc (microblaze*-linux*): Add TARGET_BIG_ENDIAN_DEFAULT.
3714         (microblaze*-*-elf): Likewise.
3715         * config/microblaze/linux.h: Add -mbig-endian / -mlittle-endian to
3716         LINK_SPEC.
3717         * config/microblaze/microblaze-c.c: Add builtin defines for
3718         _LITTLE_ENDIAN and _BIG_ENDIAN.
3719         * config/microblaze/microblaze.h: Add TARGET_ENDIAN_DEFAULT and
3720         add to TARGET_DEFAULT flags.
3721         Expand ASM_SPEC and LINK_SPEC.
3722         Update BYTES_BIG_ENDIAN and WORDS_BIG_ENDIAN.
3723         * config/microblaze/microblaze.md: Update extendsidi2 and
3724         movdi_internal instructions to use low-order / high-order reg
3725         print_operands.
3726         * config/microblaze/microblaze.opt: Add mbig-endian and mlittle-endian
3727         options and inversemask / mask of LITTLE_ENDIAN.
3728         * config/microblaze/t-microblaze: Expand multilib options to
3729         include mlittle-endian (le) and update exceptions patterns.
3730
3731 2013-02-08  Jakub Jelinek  <jakub@redhat.com>
3732
3733         PR rtl-optimization/56195
3734         * lra-constraints.c (get_reload_reg): Don't reuse regs
3735         if they have smaller mode than requested, if they have
3736         wider mode than requested, try to return a SUBREG.
3737
3738         PR tree-optimization/56250
3739         * fold-const.c (extract_muldiv_1) <case NEGATE_EXPR>: Don't optimize
3740         if type is unsigned and code isn't MULT_EXPR.
3741
3742 2013-02-08  Georg-Johann Lay  <avr@gjlay.de>
3743
3744         PR tree-optimization/56064
3745         * fixed-value.c (fixed_from_double_int): Sign/zero extend payload
3746         bits according to mode.
3747         * fixed-value.h (fixed_from_double_int)
3748         (const_fixed_from_double_int): Adjust comments.
3749
3750 2013-02-08  Richard Biener  <rguenther@suse.de>
3751
3752         PR lto/56231
3753         * lto-streamer.h (struct data_in): Remove current_file, current_line
3754         and current_col members.
3755         * lto-streamer-out.c (lto_output_location): Stream changed bits
3756         en-block for efficiency.
3757         * lto-streamer-in.c (clear_line_info): Remove.
3758         (lto_input_location): Cache current file, line and column
3759         globally via local statics.  Read changed bits en-block.
3760         (input_function): Do not call clear_line_info.
3761         (lto_read_body): Likewise.
3762         (lto_input_toplevel_asms): Likewise.
3763
3764 2013-02-08  Michael Matz  <matz@suse.de>
3765
3766         PR tree-optimization/52448
3767         * tree-ssa-phiopt.c (struct name_to_bb): Add phase member.
3768         (nt_call_phase): New static.
3769         (add_or_mark_expr): Only mark accesses with newer phase than any
3770         call seen.
3771         (nonfreeing_call_p): New.
3772         (nt_init_block): Update nt_call_phase, mark blocks as visited.
3773         (nt_fini_block): Keep blocks marked as visited.
3774         (get_non_trapping): Initialize nt_call_phase, and reset aux pointer.
3775
3776 2013-02-08  Richard Biener  <rguenther@suse.de>
3777
3778         * ira.c (ira): Free broken dominator information.
3779
3780 2013-02-08  Uros Bizjak  <ubizjak@gmail.com>
3781
3782         * config/i386/i386.c (ix86_spill_class): Use INTEGER_CLASS_P macro.
3783
3784 2013-02-08  Marek Polacek  <polacek@redhat.com>
3785
3786         * cfgloop.c (verify_loop_structure): Add more checking of headers.
3787
3788 2013-02-08  Richard Biener  <rguenther@suse.de>
3789
3790         PR middle-end/56181
3791         * cfgloop.h (flow_loops_find): Adjust.
3792         (bb_loop_header_p): Declare.
3793         * cfgloop.c (bb_loop_header_p): New function split out from ...
3794         (flow_loops_find): ... here.  Adjust function signature,
3795         support incremental loop structure update.
3796         (verify_loop_structure): Cleanup.  Verify a loop is a loop.
3797         * cfgloopmanip.c (fix_loop_structure): Move ...
3798         * loop-init.c (fix_loop_structure): ... here.
3799         (apply_loop_flags): Split out from ...
3800         (loop_optimizer_init): ... here.
3801         (fix_loop_structure): Use apply_loop_flags.  Use flow_loops_find
3802         in incremental mode, only remove dead loops here.
3803
3804 2013-02-08  Georg-Johann Lay  <avr@gjlay.de>
3805
3806         PR target/54222
3807         * config/avr/avr.md (unspec) <UNSPEC_ROUND>: Add.
3808         * config/avr/avr-fixed.md (ALL4QA, ALL124QA): New mode iterators.
3809         (round<mode>3, round<mode>3_const): New expanders for fixed-mode.
3810         (*round<mode>3.libgcc): New insns for fixed-modes.
3811         * config/avr/builtins.def (ABSxx): Use a non-NULL LIBNAME.
3812         (ROUNDxx, COUNTLSxx, BITSxx, xxBITS): New DEF_BUILTINs.
3813         (ROUNDFX, COUNTLSFX, ABSFX): New DEF_BUILTINs.
3814         * config/avr/stdfix.h (absFX, bitsFX, FXbits): Remove inline
3815         implementations.  Define to __builtin_avr_absFX,
3816         __builtin_avr_bitsFX, __builtin_avr_FXbits, respectively.
3817         (roundFX, countlsFX): Define to __builtin_avr_roundFX,
3818         __builtin_avr_countlsFX, respectively.
3819         * config/avr/avr-c.c (target.h): Include it.
3820         (enum avr_builtin_id): New enum.
3821         (avr_resolve_overloaded_builtin): New static function.
3822         (avr_register_target_pragmas): Use it to set
3823         targetm.resolve_overloaded_builtin.
3824         * config/avr/avr.c (avr_init_builtins): Supply myriads of local
3825         tree nodes used by DEF_BUILTIN.
3826         (avr_expand_builtin) <AVR_BUILTIN_ROUNDxx>: Sanity-check them.
3827         (avr_fold_builtin) <AVR_BUILTIN_BITSxx>: Fold to VIEW_COVERT_EXPR.
3828         <AVR_BUILTIN_xxBITS>: Same.
3829
3830 2013-02-08  Richard Biener  <rguenther@suse.de>
3831
3832         * cfgloop.c (verify_loop_structure): Properly handle
3833         a loop exiting to another loop header.
3834         * ira-int.h (ira_loops): Remove.
3835         * ira.c (ira_loops): Remove.
3836         (ira): Use loop_optimizer_init and loop_optimizer_finalize.
3837         (do_reload): Use loop_optimizer_finalize.
3838         * ira-build.c (create_loop_tree_nodes): Use get_loops and
3839         number_of_loops to access the loop tree.
3840         (more_one_region_p): Likewise.
3841         (finish_loop_tree_nodes): Likewise.
3842         (rebuild_regno_allocno_maps): Likewise.
3843         (mark_loops_for_removal): Likewise.
3844         (mark_all_loops_for_removal): Likewise.
3845         (remove_unnecessary_regions): Likewise.
3846         (ira_build): Likewise.
3847         * ira-emit.c (setup_entered_from_non_parent_p): Likewise.
3848
3849 2013-02-08  Richard Biener  <rguenther@suse.de>
3850
3851         * Makefile.in (tree-tailcall.o): Add $(CFGLOOP_H) dependency.
3852         * ipa-pure-const.c (analyze_function): Avoid calling
3853         mark_irreducible_loops twice.
3854         * tree-tailcall.c (tree_optimize_tail_calls_1): Mark loops for fixup.
3855
3856 2013-02-07  David S. Miller  <davem@davemloft.net>
3857
3858         * dwarf2out.c (based_loc_descr): Perform leaf register remapping
3859         on 'reg'.
3860         * var-tracking.c (vt_add_function_parameter): Test the presence of
3861         HAVE_window_save properly and do not remap argument registers when
3862         we have a leaf function.
3863
3864 2013-02-07  Uros Bizjak  <ubizjak@gmail.com>
3865
3866         PR bootstrap/56227
3867         * ggc-page.c (ggc_print_statistics): Use HOST_LONG_LONG_FORMAT
3868         instead of "ll".
3869         * config/i386/i386.c (ix86_print_operand): Ditto.
3870
3871 2013-02-07  Vladimir Makarov  <vmakarov@redhat.com>
3872
3873         * lra-constraints.c (process_alt_operands): Fix recently added comment.
3874
3875 2013-02-07  Vladimir Makarov  <vmakarov@redhat.com>
3876
3877         PR rtl-optimization/56225
3878         * lra-constraints.c (process_alt_operands): Check that reload hard
3879         reg can hold value for strict_low_part.
3880
3881 2013-02-07  Jakub Jelinek  <jakub@redhat.com>
3882
3883         PR debug/56154
3884         * dwarf2out.c (dwarf2_debug_hooks): Set end_function hook to
3885         dwarf2out_end_function.
3886         (in_first_function_p, maybe_at_text_label_p,
3887         first_loclabel_num_not_at_text_label): New variables.
3888         (dwarf2out_var_location): In the first function find out
3889         lowest loclabel_num N where .LVLN is known not to be equal to .Ltext0.
3890         (find_empty_loc_ranges_at_text_label, dwarf2out_end_function): New
3891         functions.
3892
3893 2013-02-07  Eric Botcazou  <ebotcazou@adacore.com>
3894
3895         PR rtl-optimization/56178
3896         * cse.c (cse_insn): Do not create a REG_EQUAL note if the source is a
3897         SUBREG of a register.  Tidy up related block of code.
3898         * fwprop.c (forward_propagate_and_simplify): Do not create a REG_EQUAL
3899         note if the source is a register or a SUBREG of a register.
3900
3901 2013-02-07  Jakub Jelinek  <jakub@redhat.com>
3902
3903         PR target/56228
3904         * config/rs6000/rs6000.md (ptrm): New mode attr.
3905         (call_indirect_aix<ptrsize>, call_indirect_aix<ptrsize>_nor11,
3906         call_value_indirect_aix<pttrsize>,
3907         call_value_indirect_aix<pttrsize>_nor11): Use <ptrm> instead of
3908         m in constraints.
3909
3910 2013-02-07  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
3911
3912         * collect2.c (main): Set aix64_flag for -G and -bsvr4 too, disable
3913         if -bnortl. Convert to strcmp and strncmp.
3914
3915 2013-02-07  Alan Modra  <amodra@gmail.com>
3916
3917         PR target/54009
3918         * config/rs6000/rs6000.c (mem_operand_gpr): Check that LO_SUM
3919         addresses won't wrap when offsetting.
3920         (rs6000_secondary_reload): Provide secondary reloads needed for
3921         wrapping LO_SUM addresses.
3922
3923 2013-02-06  Thomas Schwinge  <thomas@codesourcery.com>
3924
3925         * config/gnu.h (GNU_USER_TARGET_OS_CPP_BUILTINS): Never define
3926         MACH, just __MACH__.
3927
3928 2013-02-06  Richard Biener  <rguenther@suse.de>
3929
3930         * tracer.c (tracer): Mark loops with LOOPS_NEED_FIXUP
3931         instead of calling fix_loop_structure.
3932
3933 2013-02-06  Jakub Jelinek  <jakub@redhat.com>
3934
3935         PR middle-end/56217
3936         * omp-low.c (use_pointer_for_field): Return false if
3937         lower_send_shared_vars doesn't generate any copy-out code.
3938
3939 2013-02-06  Tom de Vries  <tom@codesourcery.com>
3940
3941         PR rtl-optimization/56131
3942         * cfgrtl.c (delete_insn): Use NOTE_BASIC_BLOCK instead of BLOCK_FOR_INSN
3943         to get the bb of a NOTE_INSN_BASIC_BLOCK.  Handle the case that the bb
3944         of the label is NULL.  Add comment.
3945
3946 2013-02-05  Jakub Jelinek  <jakub@redhat.com>
3947
3948         * tree.h (struct tree_decl_with_vis): Remove thread_local field.
3949
3950         PR sanitizer/55374
3951         * config/gnu-user.h (LIBTSAN_EARLY_SPEC): Define.
3952         (STATIC_LIBTSAN_LIBS): Likewise.
3953         * gcc.c (ADD_STATIC_LIBTSAN_LIBS, LIBTSAN_EARLY_SPEC): Define.
3954         (LIBTSAN_SPEC): Add ADD_STATIC_LIBTSAN_LIBS, if LIBTSAN_EARLY_SPEC
3955         is defined, don't add anything else beyond that.
3956         (SANITIZER_EARLY_SPEC, SANITIZER_SPEC): Define.
3957         (LINK_COMMAND_SPEC): Use them.
3958
3959         PR tree-optimization/56205
3960         * tree-stdarg.c (check_all_va_list_escapes): Return true if
3961         there are any PHI nodes that set non-va_list_escape_vars SSA_NAME
3962         and some va_list_escape_vars SSA_NAME appears in some PHI argument.
3963
3964 2013-02-05  Richard Biener  <rguenther@suse.de>
3965
3966         PR tree-optimization/53342
3967         PR tree-optimization/53185
3968         * tree-vectorizer.h (vect_check_strided_load): Remove.
3969         * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Do
3970         not disallow peeling for vectorized strided loads.
3971         (vect_check_strided_load): Make static and simplify.
3972         (vect_analyze_data_refs): Adjust.
3973         * tree-vect-stmts.c (vectorizable_load): Handle peeled loops
3974         correctly when vectorizing strided loads.
3975
3976 2013-02-05  Richard Biener  <rguenther@suse.de>
3977
3978         * doc/install.texi: Refer to ISL, not PPL.
3979
3980 2013-02-05  Jan Hubicka  <jh@suse.cz>
3981
3982         PR tree-optimization/55789
3983         * params.def (PARAM_EARLY_INLINER_MAX_ITERATIONS): Drop to 1.
3984
3985 2013-02-05  Jan Hubicka  <jh@suse.cz>
3986
3987         PR tree-optimization/55789
3988         * cgraphclones.c (cgraph_remove_node_and_inline_clones): Remove
3989         the dead call anyway.
3990
3991 2013-02-05  Eric Botcazou  <ebotcazou@adacore.com>
3992
3993         PR sanitizer/55374
3994         * config/gnu-user.h (LIBASAN_EARLY_SPEC): Add missing guard.
3995
3996 2013-02-04  Alexander Potapenko  <glider@google.com>
3997             Jack Howarth  <howarth@bromo.med.uc.edu>
3998             Jakub Jelinek  <jakub@redhat.com>
3999
4000         PR sanitizer/55617
4001         * config/darwin.c (sort_ctor_records): Stabilized qsort
4002         on constructor priority by using original position.
4003         (finalize_ctors): New routine to sort constructors by
4004         priority before use in assemble_integer.
4005         (machopic_asm_out_constructor): Use finalize_ctors if needed.
4006
4007 2013-02-04  Jakub Jelinek  <jakub@redhat.com>
4008
4009         PR libstdc++/54314
4010         * config/i386/winnt.c (i386_pe_assemble_visibility): Don't warn
4011         about visibility on artificial decls.
4012         * config/sol2.c (solaris_assemble_visibility): Likewise.
4013
4014 2013-02-04  Kai Tietz  <ktietz@redhat.com>
4015
4016         PR target/56186
4017         * config/i386/i386.c (function_value_ms_64): Add additional valtype
4018         argument and improve checking of return-argument types for 16-byte
4019         modes.
4020         (ix86_function_value_1): Add additional valtype argument on call
4021         of function_value_64.
4022         (return_in_memory_ms_64): Sync 16-byte sized mode handling with
4023         handling infunction_value_64 function.
4024
4025 2013-02-04  Matthew Gretton-Dann  <matthew.gretton-dann@linaro.org>
4026
4027         * reload.c (subst_reloads): Fix DEBUG_RELOAD build issue.
4028
4029 2013-02-04  Richard Biener  <rguenther@suse.de>
4030
4031         PR tree-optimization/56188
4032         * tree-ssa-structalias.c (label_visit): Consider case with
4033         initially non-empty points-to set.
4034         (perform_var_substitution): Dump node mapping and clean up.
4035
4036 2013-02-04  Richard Guenther  <rguenther@suse.de>
4037
4038         PR lto/56168
4039         * lto-symtab.c (lto_symtab_merge_decls_1): Make non-builtin
4040         node prevail as last resort.
4041         (lto_symtab_merge_decls): Remove guard on LTRANS here.
4042         (lto_symtab_prevailing_decl): Builtins are their own prevailing decl.
4043
4044 2013-02-04  Richard Biener  <rguenther@suse.de>
4045
4046         PR tree-optimization/56113
4047         * tree-ssa-structalias.c (equiv_class_lookup, equiv_class_add):
4048         Merge into ...
4049         (equiv_class_lookup_or_add): ... this.
4050         (label_visit): Adjust and fix error in previous patch.
4051         (perform_var_substitution): Adjust.
4052
4053 2013-02-03  Oleg Endo  <olegendo@gcc.gnu.org>
4054
4055         * config/sh/divtab.c: Fix formatting and comments throughout the file.
4056         * config/sh/sh4-300.md: Likewise.
4057         * config/sh/sh4a.md: Likewise.
4058         * config/sh/constraints.md: Likewise.
4059         * config/sh/sh.md: Likewise.
4060         * config/sh/netbsd-elf.h: Likewise.
4061         * config/sh/predicates.md: Likewise.
4062         * config/sh/sh-protos.h: Likewise.
4063         * config/sh/ushmedia.h: Likewise.
4064         * config/sh/linux.h: Likewise.
4065         * config/sh/sh.c: Likewise.
4066         * config/sh/superh.h: Likewise.
4067         * config/sh/elf.h: Likewise.
4068         * config/sh/sh4.md: Likewise.
4069         * config/sh/sh.h: Likewise.
4070
4071 2013-02-03  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4072
4073         * config/pa/constraints.md: Adjust unused letters.  Change "T"
4074         constraint to match_test floating_point_store_memory_operand().
4075         * config/pa/predicates.md (reg_plus_base_memory_operand): New.
4076         (base14_operand): New.
4077         (floating_point_store_memory_operand): New.
4078         (integer_store_memory_operand): Revise to use base14_operand and
4079         reg_plus_base_memory_operand.
4080         (move_dest_operand): Allow symbolic_memory_operands.
4081         (symbolic_memory_operand): Check for LO_SOM.
4082         (symbolic_operand): Change default case to break.
4083         * config/pa/pa.md: Remove unamed DFmode and SFmode patterns to force
4084         CONST_DOUBLE values to be reloaded by putting them into memory when
4085         the destination is a floating point register.
4086         (movdf): Remove code to handle CONST_DOUBLE.
4087         (movsf): Likewise.
4088         (reload_indf_r1): New.
4089         (reload_insf_r1): New.
4090         Consistently use "Q" and "T" constraints with integer and floating
4091         point move instructions, respectively.
4092         (movdi): Remove FAIL.
4093         Change predicate for source operand unamed DImode move from
4094         general_operand to move_src_operand.
4095         (umulsidi3): Change predicate for destination operand to
4096         register_operand.
4097         Likewise for similar unamed patterns.
4098         * config/pa/pa-protos.h (pa_legitimize_reload_address): Declare.
4099         * config/pa/pa.c (pa_symbolic_expression_p): Remove extra parenthesis.
4100         (hppa_legitimize_address): Simplify mask calculation.
4101         (pa_emit_move_sequence): Revised handling of secondary reloads from
4102         REG+D addresses for floating point loads and stores.  Directly handle
4103         loading CONST0_RTX (mode) to a floating point register.
4104         (pa_secondary_reload): Handle reloading DF and SFmode constant values
4105         to floating point registers.  Don't restrict secondary reloads to
4106         floating point registers to integer modes.  Revise some comments and
4107         cleanup some code.
4108         (TARGET_LEGITIMATE_ADDRESS_P): Define.
4109         (pa_legitimate_address_p): New.
4110         (pa_legitimize_reload_address): New.
4111         * config/pa/pa.h (STRICT_REG_OK_FOR_INDEX_P): New.
4112         (STRICT_REG_OK_FOR_BASE_P): New.
4113         (GO_IF_LEGITIMATE_ADDRESS): Delete.  Update some related comments.
4114         (LEGITIMIZE_RELOAD_ADDRESS): Revise to use pa_legitimize_reload_address.
4115
4116 2013-02-03  David Edelsohn  <dje.gcc@gmail.com>
4117             Andrew Dixie  <andrewd@gentrack.com>
4118
4119         * collect2.c (GCC_CHECK_HDR): Do not scan objects with F_LOADONLY
4120         flag set.
4121
4122 2013-02-03  Richard Sandiford  <rdsandiford@googlemail.com>
4123
4124         * expmed.c (extract_bit_field_1): Pass the full width of the
4125         structure to get_best_reg_extraction_insn.
4126
4127 2013-02-01  David Edelsohn  <dje.gcc@gmail.com>
4128
4129         PR target/54601
4130         * configure.ac (use_cxa_atexit): Add AIX.
4131         * configure: Regenerate.
4132
4133         * config/rs6000/aix61.h (STARTFILE_SPEC): Add crtcxa.o.
4134
4135 2013-02-01  Jakub Jelinek  <jakub@redhat.com>
4136
4137         PR debug/54793
4138         * final.c (need_profile_function): New variable.
4139         (final_start_function): Drop ATTRIBUTE_UNUSED from first argument.
4140         If first of NOTE_INSN_BASIC_BLOCK or NOTE_INSN_FUNCTION_BEG
4141         is only preceeded by NOTE_INSN_VAR_LOCATION or NOTE_INSN_DELETED
4142         notes, targetm.asm_out.function_prologue doesn't emit anything,
4143         HAVE_prologue and profiler should be emitted before prologue,
4144         set need_profile_function instead of emitting it.
4145         (final_scan_insn): If need_profile_function, emit
4146         profile_function on the first NOTE_INSN_BASIC_BLOCK or
4147         NOTE_INSN_FUNCTION_BEG note.
4148
4149 2013-02-01  Richard Henderson  <rth@redhat.com>
4150
4151         * config/rs6000/rs6000.md (smulditi3): New.
4152         (umulditi3): New.
4153
4154         * config/alpha/alpha.md (umulditi3): New.
4155
4156 2013-02-01  David Edelsohn  <dje.gcc@gmail.com>
4157
4158         * config/rs6000/xcoff.h (ASM_OUTPUT_ALIGNED_COMMON): Use floor_log2.
4159         (ASM_OUTPUT_ALIGNED_LOCAL): New.
4160
4161 2013-02-01  Richard Biener  <rguenther@suse.de>
4162
4163         PR tree-optimization/56113
4164         * tree-ssa-structalias.c (label_visit): Reduce work for
4165         single-predecessor nodes.
4166
4167 2013-02-01  Eric Botcazou  <ebotcazou@adacore.com>
4168
4169         * fold-const.c (make_range_step) <TRUTH_NOT_EXPR>: Bail out if the
4170         range isn't testing for zero.
4171
4172 2013-01-31  Steven Bosscher  <steven@gcc.gnu.org>
4173
4174         PR middle-end/56113
4175         * fwprop.c (fwprop_init): Set up loops without CFG modifications.
4176
4177 2013-01-31  Hiroyuki Ono  <hiroyuki.ono.jc@renesas.com>
4178             Nick Clifton  <nickc@redhat.com>
4179
4180         * config/v850/constraints.md (Q): Define as a memory constraint.
4181         * config/v850/predicates.md (label_ref_operand): New predicate.
4182         (e3v5_shift_operand): New predicate.
4183         (ior_operator): New predicate.
4184         * config/v850/t-v850: Add e3v5 multilib.
4185         * config/v850/v850-protos.h (v850_adjust_insn_length): Prototype.
4186         (v850_gen_movdi): Prototype.
4187         * config/v850/v850.c: Add support for e3v5 architecture.
4188         Rename all uses of TARGET_V850E || TARGET_V850E2_ALL to
4189         TARGET_V850E_UP.
4190         (construct_save_jarl): Add e3v5 long JARL support.
4191         (v850_adjust_insn_length): New function.  Adjust length of call
4192         insns when using e3v5 instructions.
4193         (v850_gen_movdi): New function: Generate instructions to move a
4194         DImode value.
4195         * config/v850/v850.h (TARGET_CPU_v850e3v5): Define.
4196         (CPP_SPEC): Define __v850e3v5__ as appropriate.
4197         (TARGET_USE_FPU): Enable for e3v5.
4198         (CONST_OK_FOR_W): New macro.
4199         (ADJUST_INSN_LENGTH): Define.
4200         * config/v850/v850.md (UNSPEC_LOOP): Define.
4201         (attr cpu): Add v850e3v5.
4202         Rename all uses of TARGET_V850E2 to TARGET_V850E2V3_UP.
4203         (movdi): New pattern.
4204         (movdi_internal): New pattern.
4205         (cbranchsf4): Conditionalize on TARGET_USE_FPU.
4206         (cbranchdf4): Conditionalize on TARGET_USE_FPU.
4207         (cstoresf4): Likewise.
4208         (cstoredf4): Likewise.
4209         (insv): New pattern.
4210         (rotlso3_a): New pattern.
4211         (rotlsi3_b): New pattern
4212         (rotlsi3_v850e3v5): New pattern.
4213         (doloop_begin): New pattern.
4214         (fix_loop_counter): New pattern.
4215         (doloop_end): New pattern.
4216         (branch_normal): Add e3v5 long branch support.
4217         (branch_invert): Likewise.
4218         (branch_z_normal): Likewise.
4219         (branch_z_invert): Likewise.
4220         (branch_nz_normal): Likewise.
4221         (branch_nz_invert): Likewise.
4222         (call_internal_short): Add e3v5 register-indirect JARL support.
4223         (call_internal_long): Likewise.
4224         (call_value_internal_short): Likewise.
4225         (call_value_internal_long): Likewise.
4226         * config/v850/v850.opt (mv850e3v5, mv850e2v4): New options.
4227         (mloop): New option.
4228         * config.gcc: Add support for configuring v840e3v5 target.
4229         * doc/invoke.texi: Document new v850 specific command line options.
4230
4231 2013-01-31  Paul Koning  <ni1d@arrl.net>
4232
4233         PR debug/55059
4234         PR debug/54508
4235         * dwarf2out.c (prune_unused_types_mark): Mark all of parent's
4236         children if parent is a class.
4237         (prune_unused_types_prune): Don't add DW_AT_declaration.
4238
4239 2013-01-31  Richard Biener  <rguenther@suse.de>
4240
4241         PR tree-optimization/56157
4242         * tree-vect-slp.c (vect_get_slp_defs): More thoroughly try to
4243         match up operand with SLP child.
4244
4245 2013-01-31  Jason Merrill  <jason@redhat.com>
4246
4247         PR debug/54410
4248         * dwarf2out.c (gen_struct_or_union_type_die): Always schedule template
4249         parameters the first time.
4250         (gen_scheduled_generic_parms_dies): Check completeness here.
4251
4252 2013-01-31  Richard Biener  <rguenther@suse.de>
4253
4254         PR middle-end/53073
4255         * common.opt (faggressive-loop-optimizations): New flag,
4256         enabled by default.
4257         * doc/invoke.texi (faggressive-loop-optimizations): Document.
4258         * tree-ssa-loop-niter.c (estimate_numbers_of_iterations_loop): Guard
4259         infer_loop_bounds_from_undefined by it.
4260
4261 2013-01-31  Richard Biener  <rguenther@suse.de>
4262
4263         PR tree-optimization/56150
4264         * tree-ssa-loop-manip.c (find_uses_to_rename_stmt): Do not
4265         visit virtual operands.
4266         (find_uses_to_rename_bb): Likewise.
4267
4268 2013-01-31  Richard Biener  <rguenther@suse.de>
4269
4270         PR tree-optimization/56150
4271         * tree-ssa-tail-merge.c (gimple_equal_p): Properly handle
4272         mixed store non-store stmts.
4273
4274 2013-01-30  Jakub Jelinek  <jakub@redhat.com>
4275
4276         PR sanitizer/55374
4277         * gcc.c (LIBASAN_SPEC): Define just to ADD_STATIC_LIBASAN_LIBS if
4278         LIBASAN_EARLY_SPEC is defined.
4279         (LIBASAN_EARLY_SPEC): Define to empty string if not already defined.
4280         (LINK_COMMAND_SPEC): Add LIBASAN_EARLY_SPEC for -fsanitize=address,
4281         before %o.
4282         * config/gnu-user.h (LIBASAN_EARLY_SPEC): Define.
4283
4284         PR c++/55742
4285         * config/i386/i386.c (ix86_valid_target_attribute_inner_p): Diagnose
4286         invalid args instead of ICEing on it.
4287         (ix86_valid_target_attribute_tree): Return error_mark_node if
4288         ix86_valid_target_attribute_inner_p failed.
4289         (ix86_valid_target_attribute_p): Return false only if
4290         ix86_valid_target_attribute_tree returned error_mark_node.  Allow
4291         target("default") attribute.
4292         (sorted_attr_string): Change argument from const char * to tree,
4293         merge in all target attribute arguments rather than just one.
4294         Formatting fix.  Use XNEWVEC instead of xmalloc and XDELETEVEC
4295         instead of free.  Avoid using strcat.
4296         (ix86_mangle_function_version_assembler_name): Mangle
4297         target("default") as if no target attribute is present.  Adjust
4298         sorted_attr_string caller.  Avoid leaking memory.  Use XNEWVEC
4299         instead of xmalloc and XDELETEVEC instead of free.
4300         (ix86_function_versions): Don't return true if one of the decls
4301         doesn't have target attribute.  If they don't and one of the decls
4302         is DECL_FUNCTION_VERSIONED, report an error.  Adjust
4303         sorted_attr_string caller.  Use XDELETEVEC instead of free.
4304         (ix86_supports_function_versions): Remove.
4305         (make_name): Fix up formatting.
4306         (make_dispatcher_decl): Remove resolver_name and its initialization.
4307         Avoid leaking memory.
4308         (is_function_default_version): Return true if there is
4309         target("default") attribute rather than no target attribute at all.
4310         (make_resolver_func): Avoid leaking memory.
4311         (ix86_generate_version_dispatcher_body): Likewise.
4312         (TARGET_OPTION_SUPPORTS_FUNCTION_VERSIONS): Remove.
4313         * target.def (supports_function_versions): Remove.
4314         * doc/tm.texi.in (SUPPORTS_FUNCTION_VERSIONS): Remove.
4315         * doc/tm.texi: Regenerated.
4316
4317 2013-01-30  Vladimir Makarov  <vmakarov@redhat.com>
4318
4319         PR rtl-optimization/56144
4320         * lra-constraints.c (get_reload_reg): Don't reuse reload pseudo
4321         for values with side effects.
4322
4323 2013-01-30  Richard Biener  <rguenther@suse.de>
4324
4325         * sparseset.h (sparseset_bit_p): Use gcc_checking_assert.
4326         (sparseset_pop): Likewise.
4327         * cfganal.c (compute_idf): Likewise.  Increase work-stack size
4328         to be able to use quick_push in the worker loop.
4329
4330 2013-01-30  Marek Polacek  <polacek@redhat.com>
4331
4332         * cfgcleanup.c (cleanup_cfg): Don't mark affected BBs.
4333
4334 2013-01-30  Richard Biener  <rguenther@suse.de>
4335
4336         PR lto/56147
4337         * lto-symtab.c (lto_symtab_merge_decls_1): Guard DECL_BUILT_IN check.
4338
4339 2013-01-30  Georg-Johann Lay  <avr@gjlay.de>
4340
4341         PR tree-optimization/56064
4342         * fixed-value.c (fixed_from_double_int): New function.
4343         * fixed-value.h (fixed_from_double_int): New prototype.
4344         (const_fixed_from_double_int): New static inline function.
4345         * fold-const.c (native_interpret_fixed): New static function.
4346         (native_interpret_expr) <FIXED_POINT_TYPE>: Use it.
4347         (can_native_interpret_type_p) <FIXED_POINT_TYPE>: Return true.
4348         (native_encode_fixed): New static function.
4349         (native_encode_expr) <FIXED_CST>: Use it.
4350         (native_interpret_int): Move double_int worker code to...
4351         * double-int.c (double_int::from_buffer): ...this new static method.
4352         * double-int.h (double_int::from_buffer): Prototype it.
4353
4354 2013-01-30  Richard Biener  <rguenther@suse.de>
4355
4356         * tree-ssa-structalias.c (final_solutions, final_solutions_obstack):
4357         New pointer-map and obstack.
4358         (init_alias_vars): Allocate pointer-map and obstack.
4359         (delete_points_to_sets): Free them.
4360         (find_what_var_points_to): Cache result.
4361         (find_what_p_points_to): Adjust for changed interface of
4362         find_what_var_points_to.
4363         (compute_points_to_sets): Likewise.
4364         (ipa_pta_execute): Likewise.
4365
4366 2013-01-30  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4367
4368         * configure.ac (HAVE_AS_SPARC_NOBITS): New test.
4369         * configure: Regenerate.
4370         * config.in: Regenerate.
4371         * config/sparc/sparc.c (sparc_solaris_elf_asm_named_section): Emit
4372         #nobits/#progbits if supported.
4373
4374 2013-01-29  Oleg Endo  <olegendo@gcc.gnu.org>
4375
4376         PR target/56121
4377         * config/sh/sh.md (bclr_m2a, bset_m2a, bst_m2a, bld_m2a, bldsign_m2a,
4378         bld_reg, *bld_regqi, band_m2a, bandreg_m2a, bor_m2a, borreg_m2a,
4379         bxor_m2a, bxorreg_m2a): Add satisfies_constraint_K03 condition.
4380
4381 2013-01-29  Greta Yorsh  <Greta.Yorsh@arm.com>
4382
4383         * config/arm/cortex-a7.md (cortex_a7_neon, cortex_a7_all): Remove.
4384         (cortex_a7_idiv): Use cortex_a7_both instead of cortex_a7_all.
4385
4386 2013-01-29  Greta Yorsh  <Greta.Yorsh@arm.com>
4387
4388         * config/arm/arm.c (cortexa7_younger): Return true for TYPE_CALL.
4389         * config/arm/cortex-a7.md (cortex_a7_call): Update required units.
4390
4391 2013-01-29  Greta Yorsh  <Greta.Yorsh@arm.com>
4392
4393         * config/arm/arm-protos.h (arm_mac_accumulator_is_result): New
4394         declaration.
4395         * config/arm/arm.c (arm_mac_accumulator_is_result): New function.
4396         * config/arm/cortex-a7.md: New bypasses using
4397         arm_mac_accumulator_is_result.
4398
4399 2013-01-29  Greta Yorsh  <Greta.Yorsh@arm.com>
4400
4401         * config/arm/cortex-a7.md (cortex_a7_neon_mul):  New reservation.
4402         (cortex_a7_neon_mla): Likewise.
4403         (cortex_a7_fpfmad): New reservation.
4404         (cortex_a7_fpmacs): Use ffmas and update required units.
4405         (cortex_a7_fpmuld): Update required units and latency.
4406         (cortex_a7_fpmacd): Likewise.
4407         (cortex_a7_fdivs, cortex_a7_fdivd): Likewise.
4408         (cortex_a7_neon). Likewise.
4409         (bypass) Update participating units.
4410
4411 2013-01-29  Greta Yorsh  <Greta.Yorsh@arm.com>
4412
4413         * config/arm/arm.md (type): Add ffmas and ffmad to "type" attribute.
4414         * config/arm/vfp.md (fma,fmsub,fnmsub,fnmadd): Change type
4415         from fmac to ffma.
4416         * config/arm/vfp11.md (vfp_farith): Use ffmas.
4417         (vfp_fmul): Use ffmad.
4418         * config/arm/cortex-r4f.md (cortex_r4_fmacs): Use ffmas.
4419         (cortex_r4_fmacd): Use ffmad.
4420         * config/arm/cortex-m4-fpu.md (cortex_m4_fmacs): Use ffmas.
4421         * config/arm/cortex-a9.md (cortex_a9_fmacs):  Use ffmas.
4422         (cortex_a9_fmacd): Use ffmad.
4423         * config/arm/cortex-a8-neon.md (cortex_a8_vfp_macs): Use ffmas.
4424         (cortex_a8_vfp_macd): Use ffmad.
4425         * config/arm/cortex-a5.md (cortex_a5_fpmacs): Use ffmas.
4426         (cortex_a5_fpmacd): Use ffmad.
4427         * config/arm/cortex-a15-neon.md (cortex_a15_vfp_macs) Use ffmas.
4428         (cortex_a15_vfp_macd): Use ffmad.
4429         * config/arm/arm1020e.md (v10_fmul): Use ffmas and ffmad.
4430
4431 2013-01-29  Jason Merrill  <jason@redhat.com>
4432
4433         PR libstdc++/54314
4434         * varasm.c (default_assemble_visibility): Don't warn about
4435         visibility on artificial decls.
4436
4437 2013-01-29  Richard Biener  <rguenther@suse.de>
4438
4439         PR tree-optimization/56113
4440         * tree-ssa-structalias.c (equiv_class_lookup): Also return
4441         the bitmap leader.
4442         (label_visit): Free duplicate bitmaps and record the leader instead.
4443         (perform_var_substitution): Adjust.
4444
4445 2013-01-29  Richard Biener  <rguenther@suse.de>
4446
4447         PR tree-optimization/55270
4448         * tree-ssa-dom.c (eliminate_degenerate_phis): If we changed
4449         the CFG, schedule loops for fixup.
4450
4451 2013-01-29  Nick Clifton  <nickc@redhat.com>
4452
4453         * config/rl78/rl78.c (rl78_regno_mode_code_ok_for_base_p): Allow
4454         SP_REG.
4455
4456 2013-01-28  Leif Ekblad  <leif@rdos.net>
4457
4458         * config.gcc (i[34567]86-*-rdos*, x86_64-*-rdos*): New targets.
4459         * config/i386/i386.h (TARGET_RDOS): New macro.
4460         (DEFAULT_LARGE_SECTION_THRESHOLD): New macro.
4461         * config/i386/i386.c (ix86_option_override_internal): For 64bit
4462         TARGET_RDOS, set ix86_cmodel to CM_MEDIUM_PIC and flag_pic to 1.
4463         * config/i386/i386.opt (mlarge-data-threshold): Initialize to
4464         DEFAULT_LARGE_SECTION_THRESHOLD.
4465         * config/i386/i386.md (R14_REG, R15_REG): New constants.
4466         * config/i386/rdos.h: New file.
4467         * config/i386/rdos64.h: New file.
4468
4469 2013-01-28  Bernd Schmidt  <bernds@codesourcery.com>
4470
4471         PR other/54814
4472         * reload.c (find_valid_class_1): Use in_hard_reg_set_p instead of
4473         TEST_HARD_REG_BIT.
4474
4475 2013-01-28  Jakub Jelinek  <jakub@redhat.com>
4476
4477         PR rtl-optimization/56117
4478         * sched-deps.c (sched_analyze_2) <case PREFETCH>: For use_cselib
4479         call cselib_lookup_from_insn on the MEM before calling
4480         add_insn_mem_dependence.
4481
4482 2013-01-28  Richard Biener  <rguenther@suse.de>
4483
4484         * tree-inline.c (remap_gimple_stmt): Do not assing a BLOCK
4485         to a stmt that didn't have one.
4486         (copy_phis_for_bb): Likewise for PHI arguments.
4487         (copy_debug_stmt): Likewise for debug stmts.
4488
4489 2013-01-28  Richard Biener  <rguenther@suse.de>
4490
4491         PR tree-optimization/56034
4492         * tree-loop-distribution.c (enum partition_kind): Add PKIND_REDUCTION.
4493         (partition_builtin_p): Adjust.
4494         (generate_code_for_partition): Handle PKIND_REDUCTION.  Assert
4495         it is the last partition.
4496         (rdg_flag_uses): Check SSA_NAME_IS_DEFAULT_DEF before looking
4497         up the vertex for the definition.
4498         (classify_partition): Classify whether a partition is a
4499         PKIND_REDUCTION, thus has uses outside of the loop.
4500         (ldist_gen): Inherit PKIND_REDUCTION when merging partitions.
4501         Merge all PKIND_REDUCTION partitions into the last partition.
4502         (tree_loop_distribution): Seed partitions from reductions as well.
4503
4504 2013-01-28  Jakub Jelinek  <jakub@redhat.com>
4505
4506         PR tree-optimization/56125
4507         * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Don't optimize
4508         pow(x,c) into sqrt(x) * powi(x, n/2) or
4509         1.0 / (sqrt(x) * powi(x, abs(n/2))) if c is an integer or when
4510         optimizing for size.
4511         Don't optimize pow(x,c) into powi(x, n/3) * powi(cbrt(x), n%3) or
4512         1.0 / (powi(x, abs(n)/3) * powi(cbrt(x), abs(n)%3)) if 2c is an
4513         integer.
4514
4515         PR tree-optimization/56094
4516         * gimplify.c (force_gimple_operand_1): Temporarily set input_location
4517         to UNKNOWN_LOCATION while gimplifying expr.
4518
4519 2013-01-27  Uros Bizjak  <ubizjak@gmail.com>
4520
4521         PR target/56114
4522         * config/i386/i386.md (*movabs<mode>_1): Add square brackets around
4523         operand 0 in movabs insn template for -masm=intel asm alternative.
4524         (*movabs<mode>_2): Ditto for operand 1.
4525
4526 2013-01-26  David Holsgrove  <david.holsgrove@xilinx.com>
4527
4528         PR target/54663
4529         * config.gcc (microblaze*-linux*): Add tmake_file to allow building
4530         of microblaze-c.o
4531
4532 2013-01-26  Edgar E. Iglesias  <edgar.iglesias@gmail.com>
4533
4534         * config.gcc (microblaze*-*-*): Rename microblaze*-*-elf, update
4535         tm_file.
4536
4537 2013-01-25  Naveen H.S  <Naveen.Hurugalawadi@caviumnetworks.com>
4538
4539         * config/aarch64/aarch64.c (TARGET_FIXED_CONDITION_CODE_REGS):
4540         Undef to avoid warning.
4541
4542 2013-01-25  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
4543
4544         * configure.ac (gcc_cv_ld_static_dynamic): Define for AIX native ld.
4545         * configure: Regenerate.
4546
4547 2013-01-25  Jakub Jelinek  <jakub@redhat.com>
4548
4549         PR tree-optimization/56098
4550         * tree-ssa-phiopt.c (nt_init_block): Don't call add_or_mark_expr
4551         for stmts with volatile ops.
4552         (cond_store_replacement): Don't optimize if assign has volatile ops.
4553         (cond_if_else_store_replacement_1): Don't optimize if either
4554         then_assign or else_assign have volatile ops.
4555         (hoist_adjacent_loads): Don't optimize if either def1 or def2 have
4556         volatile ops.
4557
4558 2013-01-25  Georg-Johann Lay  <avr@gjlay.de>
4559
4560         * doc/invoke.texi (AVR Built-in Macros): Document __XMEGA__.
4561
4562 2013-01-25  Georg-Johann Lay  <avr@gjlay.de>
4563
4564         * doc/extend.texi (Example of asm with clobbered asm reg): Fix
4565         missing ':' in asm example.
4566
4567 2013-01-25  Tejas Belagod  <tejas.belagod@arm.com>
4568
4569         * config/aarch64/aarch64-simd-builtins.def: Separate sq<r>dmulh_lane
4570         entries into lane and laneq entries.
4571         * config/aarch64/aarch64-simd.md (aarch64_sq<r>dmulh_lane<mode>):
4572         Remove AdvSIMD scalar modes.
4573         (aarch64_sq<r>dmulh_laneq<mode>): New.
4574         (aarch64_sq<r>dmulh_lane<mode>): New RTL pattern for Scalar AdvSIMD
4575         modes.
4576         * config/aarch64/arm_neon.h: Fix all the vq<r>dmulh_lane* intrinsics'
4577         builtin implementations to relfect changes in RTL in aarch64-simd.md.
4578         * config/aarch64/iterators.md (VCOND): New.
4579         (VCONQ): New.
4580
4581 2013-01-25  Georg-Johann Lay  <avr@gjlay.de>
4582
4583         PR target/54222
4584         * config/avr/builtins.def (DEF_BUILTIN): Add LIBNAME argument.
4585         Add NULL LIBNAME argument to existing definitions.
4586         (ABSHR, ABSR, ABSLR, ABSLLR, ABSHK, ABSK, ABSLK, ABSLLK): New.
4587         * config/avr/avr-c.c (DEF_BUILTIN): Add LIBNAME argument.
4588         * config/avr/avr.c (DEF_BUILTIN): Same.
4589         (avr_init_builtins): Pass down LIBNAME to add_builtin_function.
4590         (avr_expand_builtin): Expand to a vanilla call if a libgcc
4591         implementation is available (DECL_ASSEMBLER_NAME is set).
4592         (avr_fold_absfx): New static function.
4593         (avr_fold_builtin): Use it to handle: AVR_BUILTIN_ABSHR,
4594         AVR_BUILTIN_ABSR, AVR_BUILTIN_ABSLR, AVR_BUILTIN_ABSLLR,
4595         AVR_BUILTIN_ABSHK, AVR_BUILTIN_ABSK, AVR_BUILTIN_ABSLK,
4596         AVR_BUILTIN_ABSLLK.
4597         * config/avr/stdfix.h (abshr, absr, abslr, absllr)
4598         (abshk, absk, abslk, absllk): Provide as static inline functions.
4599
4600 2013-01-25  Marek Polacek  <polacek@redhat.com>
4601
4602         PR tree-optimization/56035
4603         * cfgloopmanip.c (fix_loop_structure): Remove redundant condition.
4604
4605 2012-01-24  Uros Bizjak  <ubizjak@gmail.com>
4606
4607         * config/i386/i386.md (*movti_internal_rex64): Add (o,e) alternative.
4608         (*movtf_internal_rex64): Add (!o,C) alternative
4609         (*movxf_internal_rex64): Ditto.
4610         (*movdf_internal_rex64): Add (?r,C) and (?m,C) alternatives.
4611
4612 2013-01-24  Shenghou Ma  <minux.ma@gmail.com>
4613
4614         * doc/invoke.texi: fix typo.
4615         * doc/objc.texi: fix typo.
4616
4617 2013-01-24  Richard Sandiford  <rdsandiford@googlemail.com>
4618
4619         * config/mips/mips.md (*and<mode>3_mips16): Use the "W" constraint
4620         for the first two alternatives.
4621
4622 2013-01-24  Diego Novillo  <dnovillo@google.com>
4623
4624         * Makefile.in (GGC): Remove.  Replace all instances with ggc-page.o.
4625         (ggc-zone.o): Remove.
4626         * configure.ac: Remove option --with-gc.
4627         * configure: Re-generate.
4628         * doc/install.texi: Remove documentation for --with-gc.
4629         * gengtype.c (write_enum_defn): Remove.  Update all users.
4630         (write_Types_process_field): Remove generation of gt_e_* argument.
4631         (output_type_enum): Remove.  Update all users.
4632         (write_enum_defn): Remove.  Update all users.
4633         (enum alloc_zone): Remove.  Update all users.
4634         (write_splay_tree_allocator_def): Remove generation of gt_e_* argument.
4635         * ggc-common.c (ggc_splay_alloc): Remove first argument.
4636         Update all callers.
4637         (struct ptr_data): Remove field TYPE.  Update all users.
4638         (gt_pch_note_object): Remove argument TYPE.  Update all users.
4639         * ggc-internal.h (ggc_pch_alloc_object): Remove last argument.
4640         Update all users.
4641         * ggc-none.c (ggc_alloc_typed_stat): Remove.
4642         (struct alloc_zone): Remove.
4643         (ggc_internal_alloc_zone_stat): Remove.
4644         (ggc_internal_cleared_alloc_zone_stat): Remove.
4645         * ggc-page.c (ggc_alloc_typed_stat): Remove.
4646         (ggc_pch_count_object): Remove last argument.  Update all users.
4647         (ggc_pch_alloc_object): Remove last argument.  Update all users.
4648         (struct alloc_zone): Remove.
4649         * ggc-zone.c: Remove.
4650         * ggc.h (gt_pch_note_object): Remove last argument.  Update all users.
4651         (struct alloc_zone): Remove.
4652         (ggc_alloc_typed_stat): Remove.
4653         (ggc_alloc_typed): Remove.
4654         (ggc_splay_alloc): Remove first argument.
4655         (rtl_zone): Remove.  Update all users.
4656         (tree_zone): Remove.  Update all users.
4657         (tree_id_zone): Remove.  Update all users.
4658         (ggc_internal_zone_alloc_stat): Remove.  Update all users.
4659         (ggc_internal_zone_cleared_alloc_stat): Remove.  Update all users.
4660         (ggc_internal_zone_vec_alloc_stat): Remove.  Update all users.
4661         * tree-ssanames.c: Remove references to zone allocator in comments.
4662
4663 2013-01-24  Georg-Johann Lay  <avr@gjlay.de>
4664
4665         * config/avr/avr.c (avr_out_fract): Make register numbers that
4666         might be outside of source operand signed.
4667
4668 2013-01-24  Uros Bizjak  <ubizjak@gmail.com>
4669
4670         * config/i386/constraints.md (Yf): New constraint.
4671         * config/i386/i386.md (*movdf_internal_rex64): Use Yf*f instead
4672         of f constraint to conditionaly disable x87 register preferences.
4673         (*movdf_internal): Ditto.
4674         (*movsf_internal): Ditto.
4675
4676 2013-01-24  Steven Bosscher  <steven@gcc.gnu.org>
4677
4678         PR inline-asm/55934
4679         * lra-assigns.c (assign_by_spills): Throw away the pattern of asms
4680         that have operands with impossible constraints.
4681         Add a FIXME for a speed-up opportunity.
4682         * lra-constraints.c (process_alt_operands): Verify that a class
4683         selected from constraints on asms is valid for the operand mode.
4684         (curr_insn_transform): Remove incorrect comment.
4685
4686 2013-01-23  David Edelsohn  <dje.gcc@gmail.com>
4687
4688         * config/rs6000/rs6000.c (rs6000_delegitimize_address): Check that
4689         TOC operand is a valid symbol ref in the constant pool.
4690
4691 2013-01-23  Edgar E. Iglesias  <edgar.iglesias@gmail.com>
4692
4693         * config/microblaze/linux.h: Add TARGET_OS_CPP_BUILTINS
4694
4695 2013-01-23  Georg-Johann Lay  <avr@gjlay.de>
4696
4697         PR target/54222
4698         * config/avr/stdfix.h: New file.
4699         * t-avr (stdfix-gcc.h): New rule to build it.
4700         (EXTRA_HEADERS): Set it to install stdfix.h, stdfix-gcc.h.
4701
4702 2013-01-23  Kostya Serebryany  <kcc@google.com>
4703
4704         * config/darwin.h: remove dependency on
4705         CoreFoundation (asan on Mac OS).
4706
4707 2013-01-23  Jakub Jelinek  <jakub@redhat.com>
4708
4709         PR target/49069
4710         * config/arm/arm.md (cbranchdi4, cstoredi4): Use s_register_operand
4711         instead of cmpdi_operand for first comparison operand.
4712         Don't assert that comparison operands aren't both constants.
4713
4714 2013-01-22  Jonathan Wakely  <jwakely.gcc@gmail.com>
4715
4716         * doc/install.texi (Downloading the Source): Update references to
4717         downloading separate components.
4718
4719 2013-01-22  Jonathan Wakely  <jwakely.gcc@gmail.com>
4720
4721         * doc/extend.texi (__int128): Improve grammar.
4722
4723 2013-01-22  Uros Bizjak  <ubizjak@gmail.com>
4724
4725         PR target/56028
4726         * config/i386/i386.md (*movti_internal_rex64): Change (o,riF)
4727         alternative to (o,r).
4728         (*movdi_internal_rex64): Remove (!o,n) alternative.
4729         (DImode immediate->memory splitter): Remove.
4730         (DImode immediate->memory peephole2): Remove.
4731         (movtf): Enable for TARGET_64BIT || TARGET_SSE.
4732         (*movtf_internal_rex64): Rename from *movtf_internal. Change (!o,F*r)
4733         alternative to (!o,*r).
4734         (*movtf_internal_sse): New pattern.
4735         (*movxf_internal_rex64): New pattern.
4736         (*movxf_internal): Disable for TARGET_64BIT.
4737         (*movdf_internal_rex64): Remove (!o,F) alternative.
4738
4739 2013-01-22  Jakub Jelinek  <jakub@redhat.com>
4740
4741         PR middle-end/56074
4742         * dumpfile.c (dump_loc): Only print loc if LOCATION_LOCUS (loc)
4743         isn't UNKNOWN_LOCATION nor BUILTINS_LOCATION.
4744         * tree-vect-loop-manip.c (find_loop_location): Also ignore
4745         stmt locations where LOCATION_LOCUS of the stmt location is
4746         UNKNOWN_LOCATION or BUILTINS_LOCATION.
4747
4748         PR target/55686
4749         * config/i386/i386.md (UNSPEC_STOS): New.
4750         (strset_singleop, *strsetdi_rex_1, *strsetsi_1, *strsethi_1,
4751         *strsetqi_1): Add UNSPEC_STOS.
4752
4753 2013-01-22  Paolo Carlini  <paolo.carlini@oracle.com>
4754
4755         PR c++/56067
4756         * doc/invoke.texi: Remove left over -Wsynth example.
4757
4758 2013-01-21  Jakub Jelinek  <jakub@redhat.com>
4759
4760         PR tree-optimization/56051
4761         * fold-const.c (fold_binary_loc): Don't fold
4762         X < (cast) (1 << Y) into (X >> Y) != 0 if cast is either
4763         a narrowing conversion, or widening conversion from signed
4764         to unsigned.
4765
4766 2013-01-21  Uros Bizjak  <ubizjak@gmail.com>
4767
4768         PR rtl-optimization/56023
4769         * haifa-sched.c (fix_inter_tick): Do not update ticks of instructions,
4770         dependent on debug instruction.
4771
4772 2013-01-21  Martin Jambor  <mjambor@suse.cz>
4773
4774         PR middle-end/56022
4775         * function.c (allocate_struct_function): Call
4776         invoke_set_current_function_hook earlier.
4777
4778 2013-01-21  Jakub Jelinek  <jakub@redhat.com>
4779
4780         * reload1.c (init_reload): Only initialize reload_obstack
4781         during the first call.
4782
4783 2013-01-21  Marek Polacek  <polacek@redhat.com>
4784
4785         * cfgloop.c (verify_loop_structure): Fix up grammar.
4786
4787 2013-01-21  Yi-Hsiu Hsu  <ahsu@marvell.com>
4788
4789         * config/arm/marvell-pj4.md (pj4_shift_conds, pj4_alu_shift,
4790         pj4_alu_shift_conds, pj4_shift): Handle simple_alu_shift.
4791
4792 2013-01-21  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
4793
4794         PR target/56058
4795         * config/arm/marvell-pj4.md: Update copyright year.
4796         Fix up use of alu to alu_reg and simple_alu_imm.
4797
4798 2013-01-21  Uros Bizjak  <ubizjak@gmail.com>
4799
4800         * config/i386/i386.md (enabled): Do not disable fma4 for TARGET_FMA.
4801
4802 2013-01-20  Vladimir Makarov  <vmakarov@redhat.com>
4803
4804         PR target/55433
4805         * lra-constraints.c (curr_insn_transform): Don't reuse original
4806         insn for secondary memory move when memory mode should be different.
4807
4808 2013-01-20  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4809
4810         * config/pa/pa.md (atomic_loaddi, atomic_loaddi_1, atomic_storedi,
4811         atomic_storedi_1): New patterns.
4812
4813 2013-01-20  Venkataramanan Kumar  <venkataramanan.kumar@amd.com>
4814
4815         btver2 pipeline descriptions.
4816         * config/i386/i386.c: Enable CPU_BTVER2 to use btver2 pipeline
4817         descriptions.
4818         * config/i386/i386.md (btver2_decode): New type attributes.
4819         * config/i386/sse.md (btver2_decode, btver2_sse_attr): New
4820         type attributes.
4821         * config/i386/btver2.md: New file describing btver2 pipelines.
4822
4823 2013-01-19  Andrew Pinski  <apinski@cavium.com>
4824
4825         PR tree-optimization/52631
4826         * tree-ssa-sccvn (visit_use): Before looking up the original
4827         statement, try looking up the simplified expression.
4828
4829 2013-01-19  Anthony Green  <green@moxielogic.com>
4830
4831         * config/moxie/moxie.c (moxie_expand_prologue): Set
4832         current_function_static_stack_size.
4833
4834 2013-01-18  Jakub Jelinek  <jakub@redhat.com>
4835
4836         PR tree-optimization/56029
4837         * tree-phinodes.c (reserve_phi_args_for_new_edge): Set
4838         gimple_phi_arg_location for the new arg to UNKNOWN_LOCATION.
4839
4840 2013-01-18  Sharad Singhai  <singhai@google.com>
4841
4842         PR tree-optimization/55995
4843         * dumpfile.c (dump_loc): Print location only if available.
4844         * tree-vectorizer.c (increase_alignment): Intialize vect_location.
4845
4846 2013-01-18  Vladimir Makarov  <vmakarov@redhat.com>
4847
4848         PR target/55433
4849         * lra-constraints.c (curr_insn_transform): Reuse original insn for
4850         secondary memory move.
4851         (inherit_reload_reg): Use rclass instead of cl for
4852         check_secondary_memory_needed_p.
4853
4854 2013-01-18  Jakub Jelinek  <jakub@redhat.com>
4855
4856         PR middle-end/56015
4857         * expr.c (expand_expr_real_2) <case COMPLEX_EXPR>: Handle
4858         the case where writing real complex part of target modifies op1.
4859
4860 2013-01-18  James Greenhalgh  <james.greenhalgh@arm.com>
4861
4862         * config/aarch64/aarch64-simd.md
4863         (aarch64_vcond_internal<mode>): Handle unordered cases.
4864         * config/aarch64/iterators.md (v_cmp_result): New.
4865
4866 2013-01-18  Yi-Hsiu Hsu  <ahsu@marvell.com>
4867             Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
4868
4869         * config/arm/marvell-pj4.md: New file.
4870         * config/arm/arm.c (arm_issue_rate): Add marvell_pj4.
4871         * config/arm/arm.md (generic_sched): Add marvell_pj4.
4872         (generic_vfp): Likewise.
4873         * config/arm/arm-cores.def: Add marvell-pj4.
4874         * config/arm/arm-tune.md: Regenerate.
4875         * config/arm/arm-tables.opt: Regenerate.
4876         * config/arm/bpabi.h (BE8_LINK_SPEC): Add marvell_pj4.
4877         * doc/invoke.texi: Document marvell-pj4.
4878
4879 2013-01-18  Tejas Belagod  <tejas.belagod@arm.com>
4880
4881         * config/aarch64/arm_neon.h: Map scalar types to standard types.
4882
4883 2013-01-18  Alexandre Oliva  <aoliva@redhat.com>
4884
4885         PR debug/54114
4886         PR debug/54402
4887         PR debug/49888
4888         * var-tracking.c (negative_power_of_two_p): New.
4889         (global_get_addr_cache, local_get_addr_cache): New.
4890         (get_addr_from_global_cache, get_addr_from_local_cache): New.
4891         (vt_canonicalize_addr): Rewrite using the above.  Adjust the
4892         heading comment.
4893         (vt_stack_offset_p): Remove.
4894         (vt_canon_true_dep): Always canonicalize loc's address.
4895         (clobber_overlapping_mems): Make sure we have a MEM.
4896         (local_get_addr_clear_given_value): New.
4897         (val_reset): Clear local cached entries.
4898         (compute_bb_dataflow): Create and release the local cache.
4899         Disable duplicate MEMs clobbering.
4900         (emit_notes_in_bb): Clobber MEMs likewise.
4901         (vt_emit_notes): Create and release the local cache.
4902         (vt_initialize, vt_finalize): Create and release the global
4903         cache, respectively.
4904         * alias.c (rtx_equal_for_memref_p): Compare operands of ENTRY_VALUEs.
4905
4906 2013-01-18  Alexandre Oliva  <aoliva@redhat.com>
4907
4908         PR libmudflap/53359
4909         * tree-mudflap.c (mudflap_finish_file): Skip deferred decls
4910         not found in the symtab.
4911
4912 2013-01-18  Alexandre Oliva  <aoliva@redhat.com>
4913
4914         PR debug/56006
4915         PR rtl-optimization/55547
4916         PR rtl-optimization/53827
4917         PR debug/53671
4918         PR debug/49888
4919         * alias.c (offset_overlap_p): New, factored out of...
4920         (memrefs_conflict_p): ... this.  Use absolute sizes.  Retain
4921         the conservative special case for symbolic constants.  Don't
4922         adjust zero sizes on alignment.
4923
4924 2013-01-18  Bernd Schmidt  <bernds@codesourcery.com>
4925
4926         PR rtl-optimization/52573
4927         * regrename.c (build_def_use): Ignore REG_DEAD notes if there is a
4928         REG_UNUSED for the same register.
4929
4930 2013-01-17  Richard Biener  <rguenther@suse.de>
4931             Marek Polacek  <polacek@redhat.com>
4932
4933         PR rtl-optimization/55833
4934         * loop-unswitch.c (unswitch_loops): Move loop verification...
4935         (unswitch_single_loop): ...here.  Call mark_irreducible_loops.
4936         * cfgloopmanip.c (fix_loop_placement): Add IRRED_INVALIDATED parameter.
4937         Set it to true when we're removing a loop from hierarchy tree in
4938         an irreducible region.
4939         (fix_bb_placements): Adjust caller.
4940         (fix_loop_placements): Likewise.
4941
4942 2013-01-17  Georg-Johann Lay  <avr@gjlay.de>
4943
4944         * config/avr/builtins.def (DEF_BUILTIN): Factor out
4945         "__builtin_avr_" from NAME, turn NAME to an uppercase identifier.
4946         Factor out 'CODE_FOR_' from ICODE, use 'nothing' instead of '-1'.
4947         Remove ID.  Adjust comments.
4948         * config/avr/avr-c.c (avr_builtin_name): Remove.
4949         (avr_cpu_cpp_builtins): Use DEF_BUILTIN instead of for-loop.
4950         * config/avr/avr.c (avr_tolower): New static function.
4951         (DEF_BUILTIN): Remove parameter ID.  Prefix ICODE by 'CODE_FOR_'.
4952         Stringify NAME, prefix it with "__builtin_avr_" and lowercase it.
4953         (avr_expand_builtin): Assert insn_code != CODE_FOR_nothing for
4954         default expansion.
4955
4956 2013-01-17  Jan Hubicka  <jh@suse.cz>
4957
4958         PR tree-optimization/55273
4959         * loop-iv.c (iv_number_of_iterations): Consider zero iteration case.
4960
4961 2013-01-17  Uros Bizjak  <ubizjak@gmail.com>
4962
4963         PR target/55981
4964         * config/i386/sync.md (atomic_store<mode>): Always generate SWImode
4965         store through atomic_store<mode>_1.
4966         (atomic_store<mode>_1): Macroize insn using SWI mode iterator.
4967
4968 2013-01-17  Martin Jambor  <mjambor@suse.cz>
4969
4970         PR tree-optimizations/55264
4971         * ipa-inline-transform.c (can_remove_node_now_p_1): Never return true
4972         for virtual methods.
4973         * ipa.c (symtab_remove_unreachable_nodes): Never return true for
4974         virtual methods before inlining is over.
4975         * cgraph.h (cgraph_only_called_directly_or_aliased_p): Return false for
4976         virtual functions.
4977         * cgraphclones.c (cgraph_create_virtual_clone): Mark clones as
4978         non-virtual.
4979
4980 2013-01-16  Vladimir Makarov  <vmakarov@redhat.com>
4981
4982         PR rtl-optimization/56005
4983         * sched-deps.c (sched_analyze_2): Check deps->readonly for adding
4984         pending reads for prefetch.
4985
4986 2013-01-16  Ian Bolton  <ian.bolton@arm.com>
4987
4988         * config/aarch64/aarch64.md
4989         (*cstoresi_neg_uxtw): New pattern.
4990         (*cmovsi_insn_uxtw): New pattern.
4991         (*<optab>si3_uxtw): New pattern.
4992         (*<LOGICAL:optab>_<SHIFT:optab>si3_uxtw): New pattern.
4993         (*<optab>si3_insn_uxtw): New pattern.
4994         (*bswapsi2_uxtw): New pattern.
4995
4996 2013-01-16  Richard Biener  <rguenther@suse.de>
4997
4998         * tree-inline.c (tree_function_versioning): Remove set but
4999         never used variable.
5000
5001 2013-01-16  Richard Biener  <rguenther@suse.de>
5002
5003         PR tree-optimization/55964
5004         * tree-flow.h (rename_variables_in_loop): Remove.
5005         (rename_variables_in_bb): Likewise.
5006         * tree-loop-distribution.c (update_phis_for_loop_copy): Remove.
5007         (copy_loop_before): Adjust and delete update-ssa status.
5008         * tree-vect-loop-manip.c (rename_variables_in_bb): Make static.
5009         (rename_variables_in_bb): Likewise.  Properly walk over predecessors.
5010         (rename_variables_in_loop): Remove.
5011         (slpeel_update_phis_for_duplicate_loop): Likewise.
5012         (slpeel_tree_duplicate_loop_to_edge_cfg): Handle nested loops,
5013         use available cfg machinery instead of duplicating it.
5014         Update PHI nodes and perform poor-mans SSA update here.
5015         (slpeel_tree_peel_loop_to_edge): Adjust.
5016
5017 2013-01-16  Richard Biener  <rguenther@suse.de>
5018
5019         PR tree-optimization/54767
5020         PR tree-optimization/53465
5021         * tree-vrp.c (vrp_meet_1): Revert original fix for PR53465.
5022         (vrp_visit_phi_node): For PHI arguments coming via backedges
5023         drop all symbolical range information.
5024         (execute_vrp): Compute backedges.
5025
5026 2013-01-16  Richard Biener  <rguenther@suse.de>
5027
5028         * doc/install.texi: Update CLooG and ISL requirements to
5029         0.18.0 and 0.11.1.
5030
5031 2013-01-16  Christian Bruel  <christian.bruel@st.com>
5032
5033         PR target/55301
5034         * config/sh/sh.c (sh_expand_prologue): Postpone new_stack mem symbol.
5035         (broken_move): Handle UNSPECV_SP_SWITCH_B.
5036         * config/sh/sh.md (sp_switch_1): Use set (reg:SI SP_REG).
5037
5038 2013-01-16  DJ Delorie  <dj@redhat.com>
5039
5040         * config/sh/sh.md (UNSPECV_SP_SWITCH_B): New.
5041         (UNSPECV_SP_SWITCH_E): New.
5042         (sp_switch_1): Change to an unspec.
5043         (sp_switch_2): Change to an unspec.  Don't use post-inc when we
5044         replace $r15.
5045
5046 2013-01-16  Uros Bizjak  <ubizjak@gmail.com>
5047
5048         * emit-rtl.c (need_atomic_barrier_p): Mask memory model argument
5049         with MEMMODEL_MASK before comparing with MEMMODEL_* memory types.
5050         * optabs.c (maybe_emit_sync_lock_test_and_set): Ditto.
5051         (expand_mem_thread_fence): Ditto.
5052         (expand_mem_signal_fence): Ditto.
5053         (expand_atomic_load): Ditto.
5054         (expand_atomic_store): Ditto.
5055
5056 2013-01-16  Alexandre Oliva  <aoliva@redhat.com>
5057
5058         PR rtl-optimization/55547
5059         PR rtl-optimization/53827
5060         PR debug/53671
5061         PR debug/49888
5062         * alias.c (memrefs_conflict_p): Set sizes to negative after
5063         AND adjustments.
5064
5065 2013-01-15  Jakub Jelinek  <jakub@redhat.com>
5066
5067         PR target/55940
5068         * function.c (thread_prologue_and_epilogue_insns): Always
5069         add crtl->drap_reg to set_up_by_prologue.set, even if
5070         stack_realign_drap is false.
5071
5072 2013-01-15  Jan-Benedict Glaw  <jbglaw@lug-owl.de>
5073
5074         * config/vax/vax.md (add<mode>3, sub<mode>3, mul<mode>3, div<mode>3,
5075         and<mode>3, *and<mode>_const_int, ior<mode>3, xor<mode>3, ashrsi3,
5076         *call): Fix indention.
5077
5078 2013-01-15  Tom de Vries  <tom@codesourcery.com>
5079
5080         PR target/55876
5081         * optabs.c (widen_operand): Use gen_lowpart instead of gen_rtx_SUBREG.
5082         Update comment.
5083
5084 2013-01-15  Vladimir Makarov  <vmakarov@redhat.com>
5085
5086         PR rtl-optimization/55153
5087         * sched-deps.c (sched_analyze_2): Add pending reads for prefetch.
5088
5089 2013-01-15  Martin Jambor  <mjambor@suse.cz>
5090
5091         PR tree-optimization/55920
5092         * tree-sra.c (analyze_access_subtree): Do not mark non-removable
5093         accesses as grp_to_be_debug_replaced.
5094
5095 2013-01-15  Jakub Jelinek  <jakub@redhat.com>
5096
5097         PR tree-optimization/55920
5098         * tree-sra.c (sra_modify_assign): If for lacc->grp_to_be_debug_replaced
5099         there is non-useless type conversion needed from debug rhs to lhs,
5100         use build_debug_ref_for_model and/or VIEW_CONVERT_EXPR.
5101
5102 2013-01-15  Joseph Myers  <joseph@codesourcery.com>
5103             Mikael Pettersson  <mikpe@it.uu.se>
5104
5105         PR target/43961
5106         * config/arm/arm.h (ADDR_VEC_ALIGN): Align SImode jump tables for
5107         Thumb.
5108         (ASM_OUTPUT_CASE_LABEL): Remove.
5109         (ASM_OUTPUT_BEFORE_CASE_LABEL): Define to empty.
5110         * final.c (shorten_branches): Update alignment of labels before
5111         jump tables if CASE_VECTOR_SHORTEN_MODE.
5112
5113 2013-01-15  Richard Biener  <rguenther@suse.de>
5114
5115         PR bootstrap/55961
5116         * system.h: Do not include gmp.h for building host tools.
5117
5118 2013-01-15  Richard Biener  <rguenther@suse.de>
5119
5120         PR middle-end/55882
5121         * emit-rtl.c (set_mem_attributes_minus_bitpos): Correctly
5122         account for bitpos when computing alignment.
5123
5124 2013-01-15  Vladimir Yakovlev  <vladimir.b.yakovlev@intel.com>
5125
5126         * config/i386/i386-c.c (ix86_target_macros_internal): New case.
5127         (ix86_target_macros_internal): Likewise.
5128
5129         * config/i386/i386.c (m_CORE2I7): Removed.
5130         (m_CORE_HASWELL): New macro.
5131         (m_CORE_ALL): Likewise.
5132         (initial_ix86_tune_features): m_CORE2I7 is replaced by m_CORE_ALL.
5133         (initial_ix86_arch_features): Likewise.
5134         (processor_target_table): Initializations for Core avx2.
5135         (cpu_names): New names "core-avx2".
5136         (ix86_option_override_internal): Changed PROCESSOR_COREI7 by
5137         PROCESSOR_CORE_HASWELL.
5138         (ix86_issue_rate): New case.
5139         (ia32_multipass_dfa_lookahead): Likewise.
5140         (ix86_sched_init_global): Likewise.
5141
5142         * config/i386/i386.h (TARGET_HASWELL): New macro.
5143         (target_cpu_default): New TARGET_CPU_DEFAULT_haswell.
5144         (processor_type): New PROCESSOR_HASWELL.
5145
5146 2013-01-15  Jakub Jelinek  <jakub@redhat.com>
5147
5148         PR tree-optimization/55955
5149         * tree-vect-loop.c (vectorizable_reduction): Give up early on
5150         *SHIFT_EXPR and *ROTATE_EXPR codes.
5151
5152         PR tree-optimization/48766
5153         * opts.c (common_handle_option): For -fwrapv disable -ftrapv, for
5154         -ftrapv disable -fwrapv.
5155
5156 2013-01-14  Georg-Johann Lay  <avr@gjlay.de>
5157
5158         PR target/55974
5159         * config/avr/avr-c.c (avr_cpu_cpp_builtins): Define __FLASH
5160         etc. to 1 and not to __flash.
5161         Use LL suffix for __INT24_MAX__ with -mint8.
5162         Use ULL suffix for __UINT24_MAX__ with -mint8.
5163
5164 2013-01-14  Georg-Johann Lay  <avr@gjlay.de>
5165
5166         * config/avr/avr-arch.h
5167         (struct base_arch_s): Use typedef avr_arch_t instead.
5168         (struct arch_info_s): Use typedef avr_arch_info_t instead.
5169         (struct mcu_type_s): Use typedef avr_mcu_t instead.
5170         * config/avr/avr.c: Same.
5171         * config/avr/avr-devices.c: Same.
5172         * config/avr/driver-avr.c: Same.
5173         * config/avr/gen-avr-mmcu-texi.c: Same.
5174         * config/avr/avr-mcus.def: Adjust comment.
5175
5176 2013-01-14  Tejas Belagod  <tejas.belagod@arm.com>
5177
5178         * config/aarch64/aarch64-simd.md (*aarch64_simd_ld1r<mode>): New.
5179         * config/aarch64/iterators.md (VALLDI): New.
5180
5181 2013-01-14  Uros Bizjak  <ubizjak@gmail.com>
5182             Andi Kleen  <ak@linux.intel.com>
5183
5184         PR target/55948
5185         * config/i386/sync.md (atomic_store<mode>_1): New pattern.
5186         (atomic_store<mode>): Call atomic_store<mode>_1 for IX86_HLE_RELEASE
5187         memmodel flag.
5188
5189 2013-01-14  Georg-Johann Lay  <avr@gjlay.de>
5190
5191         * config/avr/avr-stdint.h: Remove trailing blanks.
5192         * config/avr/avr-log.h: Same.
5193         * config/avr/avr-arch.h: Same.
5194         * config/avr/avr-devices.c: Same.
5195         * config/avr/avr-dimode.md: Same.
5196         * config/avr/predicates.md: Same.
5197         * config/avr/avr-c.c: Same.  And fix typo.
5198
5199         * config/avr/avr-protos.h: Same.  And:
5200         (function_arg_regno_p): Rename to avr_function_arg_regno_p.
5201         (init_cumulative_args): Rename to avr_init_cumulative_args.
5202         (expand_prologue): Rename to avr_expand_prologue.
5203         (expand_epilogue): Rename to avr_expand_epilogue.
5204         (adjust_insn_length): Rename to avr_adjust_insn_length.
5205         (notice_update_cc): Rename to avr_notice_update_cc.
5206         (final_prescan_insn): Rename to avr_final_prescan_insn.
5207         * config/avr/avr.c: Same.
5208         * config/avr/avr.h: Same.
5209         * config/avr/avr.md: Remove trailing blanks.
5210         (prologue): Use avr_expand_prologue.
5211         (epilogue, sibcall_epilogue): Use avr_expand_epilogue.
5212
5213 2013-01-14  Richard Biener  <rguenther@suse.de>
5214
5215         * tree-cfg.c (verify_expr_location, verify_expr_location_1,
5216         verify_location, collect_subblocks): New functions.
5217         (verify_gimple_in_cfg): Verify that locations only reference
5218         BLOCKs in the functions BLOCK tree.
5219
5220 2013-01-14  Richard Biener  <rguenther@suse.de>
5221
5222         * tree-cfgcleanup.c (remove_forwarder_block): Unshare propagated
5223         PHI argument.
5224         * graphite-sese-to-poly.c (insert_out_of_ssa_copy): Properly
5225         unshare reference.
5226         (insert_out_of_ssa_copy_on_edge): Likewise.
5227         (rewrite_close_phi_out_of_ssa): Likewise.
5228         * tree-ssa.c (insert_debug_temp_for_var_def): Properly unshare
5229         debug expressions.
5230         * tree-ssa-pre.c (insert_into_preds_of_block): Properly unshare
5231         propagated constants.
5232         * tree-cfg.c (tree_node_can_be_shared): Handled component-refs
5233         can not be shared.
5234
5235 2013-01-14  Georg-Johann Lay  <avr@gjlay.de>
5236
5237         * config/avr/avr-modes.def: Add GPL copyright notice.
5238
5239 2013-01-13  Uros Bizjak  <ubizjak@gmail.com>
5240
5241         * config/i386/sync.md (mem_thread_fence): Mask operands[0] with
5242         MEMMODEL_MASK to determine memory model.
5243         (atomic_store<mode>): Ditto from operands[2].
5244         * config/i386/i386.c (ix86_memmodel_check): Declare "strong" as bool.
5245
5246 2013-01-13  Jakub Jelinek  <jakub@redhat.com>
5247
5248         PR fortran/55935
5249         * gimple-fold.c (get_symbol_constant_value): Call unshare_expr.
5250         (fold_gimple_assign): Don't call unshare_expr here.
5251         (fold_ctor_reference): Call unshare_expr.
5252
5253 2013-01-13  Terry Guo  <terry.guo@arm.com>
5254
5255         * Makefile.in (s-mlib): New argument MULTILIB_REUSE.
5256         * doc/fragments.texi: Document MULTILIB_REUSE.
5257         * gcc.c (multilib_reuse): New internal spec.
5258         (set_multilib_dir): Also search multilib from multilib_reuse.
5259         * genmultilib (tmpmultilib3): Refactor code.
5260         (tmpmultilib4): Ditto.
5261         (multilib_reuse): New multilib argument.
5262
5263 2013-01-13  Richard Sandiford  <rdsandiford@googlemail.com>
5264
5265         * Makefile.in: Update copyright.
5266
5267 2013-01-12  Tom de Vries  <tom@codesourcery.com>
5268
5269         PR middle-end/55890
5270         * calls.c (expand_call): Check if arg_nr is valid.
5271
5272 2013-01-11  Michael Meissner  <meissner@linux.vnet.ibm.com>
5273
5274         * doc/extend.texi (X86 Built-in Functions): Add whitespace in
5275         __builtin_ia32_paddb256 and __builtin_ia32_pavgb256
5276         documentation.  Add missing '__' in front of
5277         __builtin_ia32_packssdw256.
5278
5279 2013-01-11  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
5280
5281         PR target/55719
5282         * config/s390/s390.c (s390_preferred_reload_class): Do not return
5283         NO_REGS for larl operands.
5284         (s390_reload_larl_operand): Use s390_load_address instead of
5285         emit_move_insn.
5286
5287 2013-01-11  Richard Biener  <rguenther@suse.de>
5288
5289         * tree-cfg.c (verify_node_sharing_1): Split out from ...
5290         (verify_node_sharing): ... here.
5291         (verify_gimple_in_cfg): Use verify_node_sharing_1 for walk_tree.
5292
5293 2013-01-11  Eric Botcazou  <ebotcazou@adacore.com>
5294
5295         * configure.ac (Tree checking): Set TREECHECKING to yes if enabled.
5296         Substitute TREECHECKING.
5297         * configure: Regenerate.
5298         * Makefile.in (TREECHECKING): New.
5299
5300 2013-01-11  Richard Guenther  <rguenther@suse.de>
5301
5302         PR tree-optimization/44061
5303         * tree-vrp.c (extract_range_basic): Compute zero as
5304         value-range for __builtin_constant_p of function parameters.
5305
5306 2013-01-10  Richard Sandiford  <rdsandiford@googlemail.com>
5307
5308         Update copyright years.
5309
5310 2013-01-10  Vladimir Makarov  <vmakarov@redhat.com>
5311
5312         PR rtl-optimization/55672
5313         * lra-eliminations.c (mark_not_eliminable): Permit addition with
5314         const to be eliminable.
5315
5316 2013-01-10  David Edelsohn  <dje.gcc@gmail.com>
5317
5318         * configure.ac (HAVE_AS_TLS): Add check for powerpc-ibm-aix.
5319         * configure: Regenerate.
5320
5321 2013-01-10  Richard Biener  <rguenther@suse.de>
5322
5323         * builtins.c (expand_builtin_init_trampoline): Use set_mem_attributes.
5324
5325 2013-01-10  Richard Biener  <rguenther@suse.de>
5326
5327         PR bootstrap/55792
5328         * tree-into-ssa.c (rewrite_add_phi_arguments): Do not set
5329         locations for virtual PHI arguments.
5330         (rewrite_update_phi_arguments): Likewise.
5331
5332 2013-01-10  Joel Sherrill  <joel.sherrill@OARcorp.com>
5333
5334         * config/v850/rtems.h (ASM_SPEC): Pass -m8byte-align and -mgcc-abi
5335         on to assembler.
5336
5337 2013-01-10  Jakub Jelinek  <jakub@redhat.com>
5338
5339         PR tree-optimization/55921
5340         * tree-complex.c (expand_complex_asm): New function.
5341         (expand_complex_operations_1): Call it for GIMPLE_ASM.
5342
5343 2013-01-10  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
5344
5345         PR target/55718
5346         * config/s390/s390.c (s390_symref_operand_p)
5347         (s390_loadrelative_operand_p): Merge the two functions.
5348         (s390_check_qrst_address, print_operand_address): Add parameters
5349         to s390_loadrelative_operand_p invokation.
5350         (s390_check_symref_alignment): Use s390_loadrelative_operand_p.
5351         (s390_reload_larl_operand, s390_secondary_reload): Use
5352         s390_loadrelative_operand_p instead of s390_symref_operand_p.
5353         (legitimize_pic_address): Handle @GOTENT and @PLT + addend.
5354
5355 2013-01-09  Mike Stump  <mikestump@comcast.net>
5356
5357         * dse.c (record_store): Remove unnecessary assert.
5358
5359 2013-01-09  Jan Hubicka  <jh@suse.cz>
5360
5361         PR tree-optimization/55569
5362         * cfgloopmanip.c (scale_loop_profile): Make ITERATION_BOUND gcov_type.
5363         * cfgloop.h (scale_loop_profile): Likewise.
5364
5365 2013-01-09  Jan Hubicka  <jh@suse.cz>
5366
5367         PR lto/45375
5368         * ipa-inline.c (ipa_inline): Remove extern inlines and virtual
5369         functions.
5370         * cgraphclones.c (cgraph_clone_node): Cpoy also LTO file data.
5371
5372 2013-01-09  Richard Sandiford  <rdsandiford@googlemail.com>
5373
5374         PR middle-end/55114
5375         * expr.h (maybe_emit_group_store): Declare.
5376         * expr.c (maybe_emit_group_store): New function.
5377         * builtins.c (expand_builtin_int_roundingfn): Call it.
5378         (expand_builtin_int_roundingfn_2): Likewise.
5379
5380 2013-01-09  Vladimir Makarov  <vmakarov@redhat.com>
5381
5382         PR rtl-optimization/55829
5383         * lra-constraints.c (match_reload): Add code for absent output.
5384         (curr_insn_transform): Add code for reloads of matched inputs
5385         without output.
5386
5387 2013-01-09  Uros Bizjak  <ubizjak@gmail.com>
5388
5389         * config/i386/sse.md (*vec_interleave_highv2df): Change mode
5390         attribute of movddup insn to DF.
5391         (*vec_interleave_lowv2df): Ditto.
5392         (vec_dupv2df): Ditto.
5393
5394 2013-01-09  Jan Hubicka  <jh@suse.cz>
5395
5396         PR tree-optimiation/55875
5397         * tree-ssa-loop-niter.c (number_of_iterations_cond): Add
5398         EVERY_ITERATION parameter.
5399         (number_of_iterations_exit): Check if exit is executed every iteration.
5400         (idx_infer_loop_bounds): Similarly here.
5401         (n_of_executions_at_most): Simplify
5402         to only test for cases where statement is dominated by the
5403         particular bound; handle correctly the "postdominance" test.
5404         (scev_probably_wraps_p): Use max loop iterations info
5405         as a global bound first.
5406
5407 2013-01-09  Nguyen Duy Dat  <dat.nguyen.yn@rvc.renesas.com>
5408             Nick Clifton  <nickc@redhat.com>
5409
5410         * config/v850/v850.md (cbranchsf4): New pattern.
5411         (cstoresf4): New pattern.
5412         (cbranchdf4): New pattern.
5413         (cstoredf4): New pattern.
5414         (movsicc): Disallow floating point comparisons.
5415         (cmpsf_le_insn): Fix order of operators.
5416         (cmpsf_lt_insn): Likewise.
5417         (cmpsf_eq_insn): Likewise.
5418         (cmpdf_le_insn): Likewise.
5419         (cmpdf_lt_insn): Likewise.
5420         (cmpdf_eq_insn): Likewise.
5421         (cmpsf_ge_insn): Use LE comparison.
5422         (cmpdf_ge_insn): Likewise.
5423         (cmpsf_gt_insn): Use LT comparison.
5424         (cmpdf_gt_insn): Likewise.
5425         (cmpsf_ne_insn): Delete pattern.
5426         (cmpdf_ne_insn): Delete pattern.
5427         * config/v850/v850.c (v850_gen_float_compare): Use
5428         gen_cmpdf_eq_insn for NE comparison.
5429         (v850_float_z_comparison_operator)
5430         (v850_float_nz_comparison_operator): Move from here ...
5431         * config/v850/predicates.md: ... to here.  Move GT and GE
5432         comparisons into v850_float_z_comparison_operator.
5433         * config/v850/v850-protos.h (v850_float_z_comparison_operator):
5434         Delete prototype.
5435         (v850_float_nz_comparison_operator): Likewise.
5436
5437 2013-01-09  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
5438
5439         * config/pa/pa.c (pa_emit_move_sequence): Replace calls to gen_insv
5440         with calls to gen_insvsi/gen_insvdi.
5441
5442 2013-01-09  Venkataramanan Kumar  <venkataramanan.kumar@amd.com>
5443
5444         * config/i386/i386.c (initial_ix86_tune_features): Set up
5445         X86_TUNE_AVX128_OPTIMAL for m_BTVER2.
5446
5447 2013-01-09  Steven Bosscher  <steven@gcc.gnu.org>
5448             Jakub Jelinek  <jakub@redhat.com>
5449
5450         PR tree-optimization/48189
5451         * predict.c (predict_loops): If max is 0, don't call compare_tree_int.
5452         If nitercst is 0, don't predict the exit edge.
5453
5454 2013-01-08  Naveen H.S  <Naveen.Hurugalawadi@caviumnetworks.com>
5455
5456         * config/aarch64/aarch64.c (aarch64_print_operand): Replace %r
5457         in asm_fprintf with reg_names.
5458         (aarch64_print_operand_address): Likewise.
5459         (aarch64_return_addr): Likewise.
5460         * config/aarch64/aarch64.h (ASM_FPRINTF_EXTENSIONS): Remove.
5461
5462 2013-01-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
5463
5464         * config/pa/pa.h (VAL_U6_BITS_P): Define.
5465         (INT_U6_BITS): Likewise.
5466         * config/pa/predicates.md (uint6_operand): New predicate.
5467         (shift5_operand, shift6_operand): Likewise.
5468         * config/pa/pa.md (lshrsi3, rotrsi3): Use shift5_operand instead of
5469         arith32_operand.
5470         (lshrdi3): Use shift6_operand.
5471         (shrpsi4, shrpdi4): New insn patterns.
5472         (extzv): Delete expander.
5473         (extzvsi, extzvdi): New expanders.  Use uint5_operand and uint6_operand
5474         predicates in unamed zero extract patterns.  Tighten common constraint.
5475         (extv): Delete expander.
5476         (extvsi, extvdi): New expanders.  Use uint5_operand and uint6_operand
5477         predicates in unamed sign extract patterns.  Tighten common constraint.
5478         (insv): Delete expander.
5479         (insvsi, insvdi): New expanders.  Use uint5_operand and uint6_operand
5480         predicates in unamed insert patterns.  Tighten common constraint.
5481         Change uint32_operand predicate to uint6_operand predicate in unamed
5482         DImode pattern to insert constant values of type 1...1xxxx.
5483
5484 2013-01-04  Jan Hubicka  <jh@suse.cz>
5485
5486         PR tree-optimization/55823
5487         * ipa-prop.c (update_indirect_edges_after_inlining): Fix ordering
5488         issue.
5489
5490 2013-01-08  Jakub Jelinek  <jakub@redhat.com>
5491             Uros Bizjak  <ubizjak@gmail.com>
5492
5493         PR rtl-optimization/55845
5494         * df-problems.c (can_move_insns_across): Stop scanning at
5495         volatile_insn_p source instruction or give up if
5496         across_from .. across_to range contains any volatile_insn_p
5497         instructions.
5498
5499 2013-01-08  Tejas Belagod  <tejas.belagod@arm.com>
5500
5501         * config/aarch64/aarch64-simd.md (vec_init<mode>): New.
5502         * config/aarch64/aarch64-protos.h (aarch64_expand_vector_init):
5503         Declare.
5504         * config/aarch64/aarch64.c (aarch64_simd_dup_constant,
5505         aarch64_simd_make_constant, aarch64_expand_vector_init): New.
5506
5507 2013-01-08  Jakub Jelinek  <jakub@redhat.com>
5508
5509         PR fortran/55341
5510         * asan.c (asan_clear_shadow): New function.
5511         (asan_emit_stack_protection): Use it.
5512
5513 2013-01-08  Tejas Belagod  <tejas.belagod@arm.com>
5514
5515         * config/aarch64/aarch64-simd.md (aarch64_simd_vec_<su>mult_lo_<mode>,
5516         aarch64_simd_vec_<su>mult_hi_<mode>): Separate instruction and operand
5517         with tab instead of space.
5518
5519 2013-01-08  Nick Clifton  <nickc@redhat.com>
5520
5521         * config/rl78/rl78.c (rl78_expand_prologue): Always select
5522         register bank 0 at the start of an interrupt handler.
5523         * config/rl78/rl78.md (mulsi3_g13): Correct values for MDBL and
5524         MDBH registers.
5525
5526 2013-01-08  James Greenhalgh  <james.greenhalgh@arm.com>
5527
5528         * config/aarch64/aarch64-simd.md
5529         (aarch64_simd_bsl<mode>_internal): Add floating-point modes.
5530         (aarch64_simd_bsl): Likewise.
5531         (aarch64_vcond_internal<mode>): Likewise.
5532         (vcond<mode><mode>): Likewise.
5533         (aarch64_cm<cmp><mode>): Fix constraints, add new modes.
5534         * config/aarch64/iterators.md (V_cmp_result): Add V2DF.
5535
5536 2013-01-08  James Greenhalgh  <james.greenhalgh@arm.com>
5537
5538         * config/aarch64/aarch64-builtins.c
5539         (aarch64_builtin_vectorized_function): Handle sqrt, sqrtf.
5540
5541 2013-01-08  Martin Jambor  <mjambor@suse.cz>
5542
5543         PR debug/55579
5544         * tree-sra.c (analyze_access_subtree): Return true also after
5545         potentially creating a debug-only replacement.
5546
5547 2013-01-08  Jakub Jelinek  <jakub@redhat.com>
5548
5549         PR middle-end/55890
5550         * tree-ssa-ccp.c (evaluate_stmt): Use gimple_call_builtin_p.
5551
5552         PR tree-optimization/54120
5553         * tree-vrp.c (range_fits_type_p): Don't allow
5554         src_precision < precision from signed vr to unsigned_p
5555         if vr->min or vr->max is negative.
5556         (simplify_float_conversion_using_ranges): Test can_float_p
5557         against CODE_FOR_nothing.
5558
5559 2013-01-08  Jakub Jelinek  <jakub@redhat.com>
5560             Richard Biener  <rguenther@suse.de>
5561
5562         PR middle-end/55851
5563         * fold-const.c (int_binop_types_match_p): Allow all INTEGRAL_TYPE_P
5564         types instead of just INTEGER_TYPE types.
5565
5566 2013-01-07  Mark Kettenis  <kettenis@openbsd.org>
5567
5568         * config/i386/openbsdelf.h (LIBGCC2_HAS_TF_MODE, LIBGCC2_TF_CEXT,
5569         TF_SIZE): Define.
5570
5571 2013-01-07  Steve Ellcey  <sellcey@mips.com>
5572
5573         PR target/42661
5574         * config/mips/mips.opt: Change mad to mmad to match documentation.
5575
5576 2013-01-07  Georg-Johann Lay  <avr@gjlay.de>
5577
5578         PR target/55897
5579         * doc/extend.texi (AVR Named Address Spaces): __memx goes into
5580         .progmemx.data now.
5581
5582 2013-01-07  Georg-Johann Lay  <avr@gjlay.de>
5583
5584         PR target/55897
5585         * config/avr/avr.h (ADDR_SPACE_COUNT): New enum.
5586         (avr_addrspace_t): Add .section_name field.
5587         * config/avr/avr.c (progmem_section): Use ADDR_SPACE_COUNT as
5588         array size.
5589         (avr_addrspace): Same.  Initialize .section_name.  Remove last
5590         NULL entry.  Put __memx into .progmemx.data.
5591         (progmem_section_prefix): Remove.
5592         (avr_asm_init_sections): No need to initialize progmem_section.
5593         (avr_asm_named_section): Use avr_addrspace[].section_name to get
5594         section name prefix.
5595         (avr_asm_select_section): Ditto.  And use get_unnamed_section to
5596         retrieve the progmem section.
5597         * avr-c.c (avr_cpu_cpp_builtins): Use ADDR_SPACE_COUNT as loop
5598         boundary to run over avr_addrspace[].
5599         (avr_register_target_pragmas): Ditto.
5600
5601 2013-01-06  Jakub Jelinek  <jakub@redhat.com>
5602
5603         * varasm.c (output_constant_def_contents): For asan_protect_global
5604         protected strings, adjust DECL_ALIGN if needed, before testing for
5605         anchored symbols.
5606         (place_block_symbol): Adjust size for asan protected STRING_CSTs if
5607         TREE_CONSTANT_POOL_ADDRESS_P.  Increase alignment for asan protected
5608         normal decls.
5609         (output_object_block): For asan protected decls, emit asan padding
5610         after their contents.
5611         * asan.c (asan_protect_global): Don't check TREE_ASM_WRITTEN here.
5612         (asan_finish_file): Test it here instead.
5613
5614 2013-01-07  Nick Clifton  <nickc@redhat.com>
5615             Matthias Klose  <doko@debian.org>
5616             Doug Kwan  <dougkwan@google.com>
5617             H.J. Lu  <hongjiu.lu@intel.com>
5618
5619         PR driver/55470
5620         * collect2.c (main): Support -fuse-ld=bfd and -fuse-ld=gold.
5621
5622         * common.opt: Add fuse-ld=bfd and fuse-ld=gold.
5623
5624         * gcc.c (LINK_COMMAND_SPEC): Pass -fuse-ld=* to collect2.
5625
5626         * opts.c (comman_handle_option): Ignore -fuse-ld=bfd and -fuse-ld=gold.
5627
5628         * doc/invoke.texi: Document -fuse-ld=bfd and -fuse-ld=gold.
5629
5630 2013-01-07  Georg-Johann Lay  <avr@gjlay.de>
5631
5632         PR target/54461
5633         * doc/install.texi (Cross-Compiler-Specific Options): Document
5634         --with-avrlibc.
5635
5636 2013-01-07  Tejas Belagod  <tejas.belagod@arm.com>
5637
5638         * config/aarch64/arm_neon.h (vmovn_high_is16, vmovn_high_s32,
5639         vmovn_high_s64, vmovn_high_u16, vmovn_high_u32, vmovn_high_u64,
5640         vqmovn_high_s16, vqmovn_high_s32, vqmovn_high_s64, vqmovn_high_u16,
5641         vqmovn_high_u32, vqmovn_high_u64, vqmovun_high_s16, vqmovun_high_s32,
5642         vqmovun_high_s64): Fix source operand number and update copyright.
5643
5644 2013-01-07  Richard Biener  <rguenther@suse.de>
5645
5646         PR middle-end/55890
5647         * gimple.h (gimple_call_builtin_p): New overload.
5648         * gimple.c (validate_call): New function.
5649         (gimple_call_builtin_p): Likewise.
5650         * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
5651         Use gimple_call_builtin_p.
5652         (find_func_clobbers): Likewise.
5653         * tree-ssa-strlen.c (adjust_last_stmt): Likewise.
5654         (strlen_optimize_stmt): Likewise.
5655
5656 2013-01-07  James Greenhalgh  <james.greenhalgh@arm.com>
5657
5658         * config/aarch64/arm_neon.h (vld1_dup_*): Make argument const.
5659         (vld1q_dup_*): Likewise.
5660         (vld1_*): Likewise.
5661         (vld1q_*): Likewise.
5662         (vld1_lane_*): Likewise.
5663         (vld1q_lane_*): Likewise.
5664
5665 2013-01-07  Richard Biener  <rguenther@suse.de>
5666
5667         * lto-streamer.h (LTO_minor_version): Bump to 2.
5668
5669 2013-01-07  James Greenhalgh  <james.greenhalgh@arm.com>
5670
5671         * config/aarch64/aarch64-protos.h
5672         (aarch64_const_double_zero_rtx_p): Rename to...
5673         (aarch64_float_const_zero_rtx_p): ...this.
5674         (aarch64_float_const_representable_p): New.
5675         (aarch64_output_simd_mov_immediate): Likewise.
5676         * config/aarch64/aarch64-simd.md (*aarch64_simd_mov<mode>): Refactor
5677         move immediate case.
5678         * config/aarch64/aarch64.c
5679         (aarch64_const_double_zero_rtx_p): Rename to...
5680         (aarch64_float_const_zero_rtx_p): ...this.
5681         (aarch64_print_operand): Allow printing of new constants.
5682         (aarch64_valid_floating_const): New.
5683         (aarch64_legitimate_constant_p): Check for valid floating-point
5684         constants.
5685         (aarch64_simd_valid_immediate): Likewise.
5686         (aarch64_vect_float_const_representable_p): New.
5687         (aarch64_float_const_representable_p): Likewise.
5688         (aarch64_simd_imm_zero_p): Also allow for floating-point 0.0.
5689         (aarch64_output_simd_mov_immediate): New.
5690         * config/aarch64/aarch64.md (*movsf_aarch64): Add new alternative.
5691         (*movdf_aarch64): Likewise.
5692         * config/aarch64/constraints.md (Ufc): New.
5693         (Y): call aarch64_float_const_zero_rtx.
5694         * config/aarch64/predicates.md (aarch64_fp_compare_operand): New.
5695
5696 2013-01-07  Richard Biener  <rguenther@suse.de>
5697
5698         PR tree-optimization/55888
5699         PR tree-optimization/55862
5700         * tree-ssa-pre.c (phi_translate_1): Revert previous change.
5701         (valid_in_sets): Check if a NAME has a leader in AVAIL_OUT,
5702         not if it is contained therein.
5703
5704 2013-01-07  Georg-Johann Lay  <avr@gjlay.de>
5705
5706         * config/avr/t-avr: Typo.
5707
5708 2013-01-07  Georg-Johann Lay  <avr@gjlay.de>
5709
5710         PR55243
5711         * config/avr/t-avr: Don't automatically rebuild
5712         $(srcdir)/config/avr/t-multilib
5713         $(srcdir)/config/avr/avr-tables.opt
5714         $(srcdir)/doc/avr-mmcu.texi
5715         (avr-mcus): New phony target to build them on request.
5716         (s-avr-mlib, s-avr-mmcu-texi): Remove.
5717         * avr/avr-mcus.def: Adjust comments.
5718
5719 2013-01-07  Uros Bizjak  <ubizjak@gmail.com>
5720
5721         * config/i386/i386.c (DEFAULT_PCC_STRUCT_RETURN): Remove.
5722
5723 2013-01-06  Richard Sandiford  <rdsandiford@googlemail.com>
5724
5725         * file-find.c, file-find.h, realmpfr.c: Add FSF as copyright holder.
5726
5727 2013-01-06  Richard Sandiford  <rdsandiford@googlemail.com>
5728
5729         * config/tilepro/gen-mul-tables.cc: Put copyright on one line.
5730
5731 2013-01-05  David Edelsohn  <dje.gcc@gmail.com>
5732
5733         * config/rs6000/aix53.h (LIB_SPEC): Add -lpthreads when compiling
5734         to generate profiling.
5735         * config/rs6000/aix64.h (LIB_SPEC): Same.
5736
5737 2013-01-04  Andrew Pinski  <apinski@cavium.com>
5738
5739         * config/aarch64/aarch64.c (aarch64_fixed_condition_code_regs):
5740         New function.
5741         (TARGET_FIXED_CONDITION_CODE_REGS): Define.
5742
5743 2013-01-04  Uros Bizjak  <ubizjak@gmail.com>
5744
5745         * config/i386/i386.c (ix86_legitimize_address): Call convert_to_mode
5746         unconditionally.
5747         (ix86_expand_move): Ditto.
5748         (ix86_zero_extend_to_Pmode): Ditto.
5749         (ix86_expand_call): Ditto.
5750         (ix86_expand_special_args_builtin): Ditto.
5751         (ix86_expand_builtin): Ditto.
5752
5753 2013-01-04  Richard Biener  <rguenther@suse.de>
5754
5755         PR tree-optimization/55862
5756         * tree-ssa-pre.c (phi_translate_1): Valueize SSA names after
5757         translating them through PHI nodes.
5758
5759 2013-01-04  Martin Jambor  <mjambor@suse.cz>
5760
5761         PR tree-optimization/55755
5762         * tree-sra.c (sra_modify_assign): Do not check that an access has no
5763         children when trying to avoid producing a VIEW_CONVERT_EXPR.
5764
5765 2013-01-04  Marek Polacek  <polacek@redhat.com>
5766
5767         PR middle-end/55859
5768         * opts.c (default_options_optimization): Clarify error message.
5769
5770 2013-01-04  Richard Biener  <rguenther@suse.de>
5771
5772         PR middle-end/55863
5773         * fold-const.c (split_tree): Undo -X - 1 to ~X folding for
5774         reassociation.
5775
5776 2013-01-03  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
5777
5778         PR target/53789
5779         * config/pa/pa.md (movsi): Revert previous change.
5780         * config/pa/pa.c (pa_legitimate_constant_p): Reject all TLS symbol
5781         references.
5782
5783 2013-01-03  Richard Henderson  <rth@redhat.com>
5784
5785         * config/i386/i386.c (ix86_expand_move): Always assign to op1
5786         after eliminating TLS symbols.
5787
5788 2013-01-03  Marc Glisse  <marc.glisse@inria.fr>
5789
5790         PR bootstrap/50167
5791         * graphite-interchange.c (pdr_stride_in_loop): Use gmp_fprintf.
5792         * graphite-poly.c (debug_gmp_value): Likewise.
5793
5794 2013-01-03  Uros Bizjak  <ubizjak@gmail.com>
5795
5796         PR target/55712
5797         * config/i386/i386-c.c (ix86_target_macros_internal): Depending on
5798         selected code model, define __code_mode_small__, __code_model_medium__,
5799         __code_model_large__, __code_model_32__ or __code_model_kernel__.
5800         * config/i386/cpuid.h (__cpuid, __cpuid_count) [__i386__]: Prefix
5801         xchg temporary register with %k.  Declare temporary register as
5802         early clobbered.
5803         [__x86_64__]: For medium and large code models, preserve %rbx register.
5804
5805 2013-01-03  Richard Biener  <rguenther@suse.de>
5806
5807         * tree-data-ref.c (dump_conflict_function): Use less vertical spacing.
5808         (dump_subscript): Adjust.
5809         (finalize_ddr_dependent): Do not dump redundant info.
5810         (analyze_siv_subscript): Adjust.
5811         (subscript_dependence_tester): Likewise.
5812         (compute_affine_dependence): Likewise.
5813
5814 2013-01-03  Richard Biener  <rguenther@suse.de>
5815
5816         Revert
5817         2013-01-03  Richard Biener  <rguenther@suse.de>
5818
5819         PR tree-optimization/55857
5820         * tree-vect-stmts.c (vectorizable_load): Do not setup
5821         re-alignment for invariant loads.
5822
5823         2013-01-02  Richard Biener  <rguenther@suse.de>
5824
5825         * tree-vect-stmts.c (vectorizable_load): When vectorizing an
5826         invariant load do not generate a vector load from the scalar location.
5827
5828 2013-01-03  Richard Biener  <rguenther@suse.de>
5829
5830         * tree-vect-loop.c (vect_analyze_loop_form): Clarify reason
5831         for not vectorizing.
5832         * tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref): Do
5833         not build INDIRECT_REFs, call get_name once only.
5834         (vect_create_data_ref_ptr): Likewise.  Dump base object kind
5835         based on DR_BASE_OBJECT, not DR_BASE_ADDRESS.
5836
5837 2013-01-03  Richard Biener  <rguenther@suse.de>
5838
5839         PR tree-optimization/55857
5840         * tree-vect-stmts.c (vectorizable_load): Do not setup
5841         re-alignment for invariant loads.
5842
5843 2013-01-03  Richard Biener  <rguenther@suse.de>
5844
5845         PR lto/55848
5846         * lto-symtab.c (lto_symtab_merge_decls_1): As last resort, always
5847         prefer a built-in decl.
5848
5849 2013-01-03  Jakub Jelinek  <jakub@redhat.com>
5850
5851         * gcc.c (process_command): Update copyright notice dates.
5852         * gcov.c (print_version): Likewise.
5853         * gcov-dump.c (print_version): Likewise.
5854
5855         PR rtl-optimization/55838
5856         * loop-iv.c (iv_number_of_iterations): Call lowpart_subreg on
5857         iv0.step, iv1.step and step.
5858
5859 2013-01-03  Jakub Jelinek  <jakub@redhat.com>
5860             Marc Glisse  <marc.glisse@inria.fr>
5861
5862         PR tree-optimization/55832
5863         * fold-const.c (fold_binary_loc): For ABS_EXPR<x> >= 0 and
5864         ABS_EXPR<x> < 0 folding use constant_boolean_node instead of
5865         integer_{one,zero}_node.
5866
5867 2013-01-03  Jakub Jelinek  <jakub@redhat.com>
5868
5869         PR debug/54402
5870         * params.def (PARAM_MAX_VARTRACK_REVERSE_OP_SIZE): New param.
5871         * var-tracking.c (reverse_op): Don't add reverse ops to
5872         VALUEs that have already
5873         PARAM_VALUE (PARAM_MAX_VARTRACK_REVERSE_OP_SIZE) or longer locs list.
5874
5875 2013-01-02  Gerald Pfeifer  <gerald@pfeifer.com>
5876
5877         * doc/contrib.texi: Note years as release manager for Mark Mitchell.
5878
5879 2013-01-02  Teresa Johnson  <tejohnson@google.com>
5880
5881         * dumpfile.c (dump_loc): Print filename with location.
5882         * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Use
5883         new location_t parameter to emit complete unroll message with
5884         new dump framework.
5885         (canonicalize_loop_induction_variables): Compute loops location
5886         and pass to try_unroll_loop_completely.
5887         * loop-unroll.c (report_unroll_peel): New function.
5888         (peel_loops_completely): Use new dump format with location
5889         for main dumpfile message, and invoke report_unroll_peel on success.
5890         (decide_unrolling_and_peeling): Ditto.
5891         (decide_peel_once_rolling): Remove old dumpfile message subsumed
5892         by report_unroll_peel.
5893         (decide_peel_completely): Ditto.
5894         (decide_unroll_constant_iterations): Ditto.
5895         (decide_unroll_runtime_iterations): Ditto.
5896         (decide_peel_simple): Ditto.
5897         (decide_unroll_stupid): Ditto.
5898         * cfgloop.c (get_loop_location): New function.
5899         * cfgloop.h (get_loop_location): Declare.
5900
5901 2013-01-02  Sriraman Tallam  <tmsriram@google.com>
5902
5903         * config/i386/i386.c (fold_builtin_cpu): Remove unnecessary checks for
5904         NULL.
5905
5906 2013-01-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
5907
5908         PR middle-end/55198
5909         * expr.c (expand_expr_real_1): Don't use bitfield extraction for non
5910         BLKmode objects when EXPAND_MEMORY is specified.
5911
5912 2013-01-02  Sriraman Tallam  <tmsriram@google.com>
5913
5914         * config/i386/i386.c (ix86_get_function_versions_dispatcher): Fix bug
5915         in loop predicate.
5916         (fold_builtin_cpu): Do not share cpu model decls across statements.
5917
5918 2013-01-02  Jason Merrill  <jason@redhat.com>
5919
5920         PR c++/55804
5921         * tree.c (build_array_type_1): Revert earlier change.
5922
5923 2013-01-02  Yufeng Zhang  <yufeng.zhang@arm.com>
5924
5925         * config/aarch64/aarch64-cores.def: Add entries for "cortex-a53" and
5926         "cortex-a57".
5927         * config/aarch64/aarch64-tune.md: Re-generate.
5928
5929 2013-01-02  Richard Biener  <rguenther@suse.de>
5930
5931         * tree-vect-stmts.c (vectorizable_load): When vectorizing an
5932         invariant load do not generate a vector load from the scalar location.
5933
5934 2013-01-02  Richard Biener  <rguenther@suse.de>
5935
5936         PR bootstrap/55784
5937         * configure.ac: Add $GMPINC to CFLAGS/CXXFLAGS.
5938         * configure: Regenerate.
5939
5940 2013-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
5941
5942         * builtins.c (expand_builtin_mathfn, expand_builtin_mathfn_2)
5943         (expand_builtin_mathfn_ternary, expand_builtin_mathfn_3)
5944         (expand_builtin_int_roundingfn_2): Keep the original target around
5945         for the fallback case.
5946
5947 2013-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
5948
5949         * tree-vrp.c (range_fits_type_p): Require the MSB of the double_int
5950         to be clear for sign changes.
5951
5952 2013-01-01  Jan Hubicka  <jh@suse.cz>
5953
5954         * ipa-inline-analysis.c: Fix formatting.
5955
5956 2013-01-01  Jakub Jelinek  <jakub@redhat.com>
5957
5958         PR tree-optimization/55831
5959         * tree-vect-loop.c (get_initial_def_for_induction): Use
5960         gsi_after_labels instead of gsi_start_bb.
5961 \f
5962 Copyright (C) 2013 Free Software Foundation, Inc.
5963
5964 Copying and distribution of this file, with or without modification,
5965 are permitted in any medium without royalty provided the copyright
5966 notice and this notice are preserved.