Re: [poweprc] RFA: patch changing expected code generation for test vsx-simode2.c

2019-02-09 Thread Vladimir Makarov
On 2019-02-09 8:28 a.m., Segher Boessenkool wrote: Hi Vlad, On Fri, Feb 08, 2019 at 02:18:40PM -0500, Vladimir Makarov wrote: Recently I committed a patch solving https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88560 The patch resulted in test vsx-simode2.c failure.  Here is the difference in

Re: [PATCH, GCC] PR target/86487: fix the way 'uses_hard_regs_p' handles paradoxical subregs

2019-02-13 Thread Vladimir Makarov
On 2019-02-13 5:54 a.m., Andre Vieira (lists) wrote: PING. Since Jeff is away can another maintainer have a look at this please? I see the following patch diff --git a/gcc/lra-constraints.c b/gcc/lra-constraints.c index c061093ed699620afe2dfda60d58066d6967523a..736b084acc552b75ff4d369b658

patch to fix PR69847

2016-08-02 Thread Vladimir Makarov
. 238991. 2016-08-02 Vladimir Makarov PR rtl-optimization/69847 * lra-int.h (struct lra-reg): Use restore_rtx instead of restore_regno. (lra_rtx_hash): New. * lra.c (initialize_lra_reg_info_element): Use restore_rtx instead of restore_regno. (lra_rtx_hash): Rename and move lra-remat.c

patch to fix PR72778

2016-08-02 Thread Vladimir Makarov
) @@ -1,5 +1,11 @@ 2016-08-02 Vladimir Makarov + PR middle-end/72778 + * lra-spills.c (regno_in_use_p): New. + (lra_final_code_change): Use it. + +2016-08-02 Vladimir Makarov + PR rtl-optimization/69847 * lra-int.h (struct lra-reg): Use restore_rtx instead of restore_regno. Index: lra

Re: [PATCH] PR71275 ira.c bb_loop_depth

2016-05-26 Thread Vladimir Makarov
On 05/26/2016 07:02 AM, Alan Modra wrote: This fixes lack of bb_loop_depth info in some of the early parts of ira, which has been the case for quite some time. All active branches return 0 from bb_loop_depth() in update_equiv_regs, but whether that actually causes mis-optimization anywhere but t

Re: Dominance related breakage, was Re: [PATCH] PR71275 ira.c bb_loop_depth

2016-05-26 Thread Vladimir Makarov
On 05/26/2016 10:14 PM, Alan Modra wrote: On Thu, May 26, 2016 at 10:12:14AM -0400, Vladimir Makarov wrote: On 05/26/2016 07:02 AM, Alan Modra wrote: This fixes lack of bb_loop_depth info in some of the early parts of ira, which has been the case for quite some time. All active branches

Re: [PING] [PATCH] Fix asm X constraint (PR inline-asm/59155)

2016-06-06 Thread Vladimir Makarov
On 06/06/2016 09:32 AM, Bernd Edlinger wrote: Ping... see https://gcc.gnu.org/ml/gcc-patches/2016-05/msg02010.html Thank you for working on the PR and sorry for the delay with LRA part of review. Change in lra-constraints.c is ok for me with the following change. Instead of just -

patch to fix PR82353

2017-10-16 Thread Vladimir Makarov
(revision 253795) +++ ChangeLog (working copy) @@ -1,3 +1,12 @@ +2017-10-16 Vladimir Makarov + + PR sanitizer/82353 + * lra.c (collect_non_operand_hard_regs): Don't ignore operator + locations. + * lra-lives.c (bb_killed_pseudos, bb_gen_pseudos): Move up. + (make_hard_regno

patch to fix PR82556

2017-10-18 Thread Vladimir Makarov
=== --- ChangeLog (revision 253862) +++ ChangeLog (working copy) @@ -1,3 +1,9 @@ +2017-10-18 Vladimir Makarov + + PR middle-end/82556 + * lra-constraints.c (curr_insn_transform): Use non-input operand + instead of output one for matched reload. + 2017-10-17 Jakub Jelinek PR tree-optimization

Re: [PATCH] ira: volatile asm's are not moveable (PR82602)

2017-10-18 Thread Vladimir Makarov
On 10/18/2017 06:48 AM, Segher Boessenkool wrote: A volatile asm statement can not be moved (relative to other volatile asm, etc.), but IRA could do it nevertheless. This patch fixes it. Testing on powerpc64-linux {-m32,-m64}; okay if it succeeds? Also for backports? Although I am not an au

Re: [PATCH] ira-color: fix allocno_priority_compare_func for qsort (PR 82395)

2017-10-19 Thread Vladimir Makarov
On 10/19/2017 06:37 AM, Alexander Monakov wrote: Ping. On Thu, 5 Oct 2017, Alexander Monakov wrote: Bootstrapped and regtested on x86-64, OK for trunk? OK. Alexander, sorry for the delay with the answer and thank you for finding and fixing the problem. PR rtl-optimization/82395

Re: RFC: Explicit move preference hints

2017-08-23 Thread Vladimir Makarov
On 08/22/2017 06:48 AM, Wilco Dijkstra wrote: Hi, The register allocator inserts move preferences when an instruction has one or more dead sources in add_insn_allocno_copies. If an instruction doesn't have a matching constraint (eg. "0"), then any dead source is treated as a copy with all dest

Re: [PATCH] ira-costs: avoid missing base registers in record_address_regs

2017-08-29 Thread Vladimir Makarov
On 08/28/2017 09:06 AM, Alexander Monakov wrote: Hello, The code in record_address_regs shown in the following patch assumes that if a given target cannot have two registers in a memory address, then the sole register, if present, must be the leftmost operand in the PLUS chain. I think this i

Re: [PATCH] Fix PR80754

2017-05-24 Thread Vladimir Makarov
On 05/17/2017 07:32 AM, Wilco Dijkstra wrote: When lra-remat rematerializes an instruction with a clobber, it checks that the clobber does not kill live registers. However it fails to check that the clobber also doesn't overlap with the destination register of the final rematerialized instruct

Re: [PATCH, GCC/LRA, gcc-5/6-branch] Fix PR78617: Fix conflict detection in rematerialization

2017-01-16 Thread Vladimir Makarov
On 01/16/2017 02:26 PM, Jeff Law wrote: On 01/13/2017 11:19 AM, Thomas Preudhomme wrote: Ping? I'm not sure if an ok from Valdimir is enough or if I also need RM approval. Vlad's approval is all you need. Thomas, the patch is ok for backporting. It is pretty safe.

patch to fix PR79058

2017-01-17 Thread Vladimir Makarov
) +++ ChangeLog (working copy) @@ -1,3 +1,9 @@ +2017-01-17 Vladimir Makarov + + PR target/79058 + * ira-conflicts.c (ira_build_conflicts): Update total conflict + hard regs for inner regno. + 2017-01-17 Martin Liska PR ipa/71207 Index: ira-conflicts.c

Re: patch to fix PR79058

2017-01-18 Thread Vladimir Makarov
On 01/17/2017 04:57 PM, Christophe Lyon wrote: Hi Vladimir, On 17 January 2017 at 17:14, Vladimir Makarov wrote: The following patch fixes https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79058 The patch was successfully bootstrapped and tested on x86-64. Committed as rev. 244535. The new

Patch to fix PR79131

2017-01-26 Thread Vladimir Makarov
. Committed as rev. 244942. Index: ChangeLog === --- ChangeLog (revision 244937) +++ ChangeLog (working copy) @@ -1,3 +1,16 @@ +2017-01-26 Vladimir Makarov + + PR target/79131 + * lra-assigns.c (setup_live_pseudos_and_spill_after_risky

patch to fix PR80148

2017-03-24 Thread Vladimir Makarov
=== --- ChangeLog (revision 246466) +++ ChangeLog (working copy) @@ -1,3 +1,9 @@ +2017-03-24 Vladimir Makarov + + PR target/80148 + * lra-assigns.c (assign_by_spills): Add spilled non-reload pseudos + to consider in curr_insn_transform. + 2017-03-24 Jakub Jelinek

patch to fix PR80193

2017-03-28 Thread Vladimir Makarov
(working copy) @@ -1,3 +1,8 @@ +2017-03-28 Vladimir Makarov + + PR rtl-optimization/80193 + * ira.c (ira): Do not check allocation for LRA. + 2017-03-28 Alexander Monakov * config/nvptx/nvptx-protos.h (nvptx_output_simt_enter): Declare. Index: ira.c

patch to fix PR70703

2017-04-05 Thread Vladimir Makarov
) +++ ChangeLog (working copy) @@ -1,3 +1,10 @@ +2017-04-05 Vladimir Makarov + + PR rtl-optimization/70703 + * ira-color.c (update_costs_from_allocno): Use the smallest mode. + (update_conflict_hard_regno_costs): Use long instead of unsigned + arithmetic for cost calculation. + 2017-04-05 Jakub Jelinek

Re: patch to fix PR70703

2017-04-05 Thread Vladimir Makarov
On 04/05/2017 11:25 AM, Jakub Jelinek wrote: On Wed, Apr 05, 2017 at 11:11:54AM -0400, Vladimir Makarov wrote: --- ira-color.c (revision 246536) +++ ira-color.c (working copy) @@ -1367,6 +1367,16 @@ update_costs_from_allocno (ira_allocno_t || ALLOCNO_ASSIGNED_P (another_allocno

Re: patch to fix PR70703

2017-04-05 Thread Vladimir Makarov
On 04/05/2017 12:07 PM, Vladimir Makarov wrote: I'll correct the patch. Here is the patch I've committed. 2017-04-05 Vladimir Makarov PR rtl-optimization/70703 * ira-color.c (update_conflict_hard_regno_costs): Use HOST_WIDE_INT instead of long.

patch to fix PR70478

2017-04-07 Thread Vladimir Makarov
246763) +++ ChangeLog (working copy) @@ -1,3 +1,9 @@ +2017-04-07 Vladimir Makarov + + PR rtl-optimization/70478 + * lra-constraints.c (process_alt_operands): Disfavor alternative + insn memory operands. + 2017-04-07 Jeff Law * config/iq2000/iq2000.c (final_prescan_insn): Do not separate a

Re: patch to fix PR70703

2017-04-07 Thread Vladimir Makarov
On 04/06/2017 06:24 AM, Richard Biener wrote: On Wed, Apr 5, 2017 at 6:18 PM, Vladimir Makarov wrote: On 04/05/2017 12:07 PM, Vladimir Makarov wrote: I'll correct the patch. Here is the patch I've committed. Note that in such contexts it's better to just use [u]int6

Re: patch to fix PR70478

2017-04-08 Thread Vladimir Makarov
On 04/07/2017 05:45 PM, Jakub Jelinek wrote: On Fri, Apr 07, 2017 at 12:04:16PM -0400, Vladimir Makarov wrote: Index: ChangeLog === --- ChangeLog (revision 246763) +++ ChangeLog (working copy) @@ -1,3 +1,9 @@ +2017-04-07

One more path to fix PR70478

2017-04-10 Thread Vladimir Makarov
. 246808. Index: ChangeLog === --- ChangeLog (revision 246807) +++ ChangeLog (working copy) @@ -1,3 +1,12 @@ +2017-04-10 Vladimir Makarov + + PR rtl-optimization/70478 + * lra-constraints.c (curr_small_class_check): New

Re: One more path to fix PR70478

2017-04-11 Thread Vladimir Makarov
On 04/11/2017 03:30 AM, Christophe Lyon wrote: Hi Vladimir, On 10 April 2017 at 17:05, Vladimir Makarov wrote: This is the second try to fix https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70478 The first try patch triggered a latent bug and broke one Fortran testcase on x86-64

Re: One more path to fix PR70478

2017-04-11 Thread Vladimir Makarov
On 04/11/2017 11:42 AM, Vladimir Makarov wrote: Yes, Christophe. It would be helpful. I've tried to reproduce it but I don't see the difference in the generated code. Never mind. I've reproduced it. Thanks.

One more patch for PR70478

2017-04-11 Thread Vladimir Makarov
(revision 246853) +++ ChangeLog (working copy) @@ -1,3 +1,9 @@ +2017-04-11 Vladimir Makarov + + PR rtl-optimization/70478 + * lra-constraints.c (process_alt_operands): Check memory for + disfavoring memory insn operand. + 2017-04-11 Jakub Jelinek PR middle-end/80100 Index: lra-constraints.c

Re: One more path to fix PR70478

2017-04-11 Thread Vladimir Makarov
On 04/11/2017 03:30 AM, Christophe Lyon wrote: Hi Vladimir, On 10 April 2017 at 17:05, Vladimir Makarov wrote: This is the second try to fix https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70478 The first try patch triggered a latent bug and broke one Fortran testcase on x86-64

patch to fix PR80343

2017-04-13 Thread Vladimir Makarov
) +++ ChangeLog (working copy) @@ -1,3 +1,9 @@ +2017-04-13 Vladimir Makarov + + PR rtl-optimization/80343 + * lra-remat.c (update_scratch_ops): Assign original hard reg to + new scratch pseudo. + 2017-04-13 Jeff Law * reload1.c (eliminate_regs_1): Call gen_rtx_raw_SUBREG for SUBREGs Index: lra

Re: [PATCH] lra: make reload_pseudo_compare_func a proper comparator

2017-09-18 Thread Vladimir Makarov
On 09/15/2017 01:38 PM, Alexander Monakov wrote: Hello, I'd like to apply the following LRA patch to make qsort comparator reload_pseudo_compare_func proper (right now it lacks transitivity due to incorrect use of non_reload_pseudos bitmap, PR 68988). This function was originally a proper compa

patch to fix PR82338

2017-09-29 Thread Vladimir Makarov
(working copy) @@ -1,3 +1,8 @@ +2017-09-29 Vladimir Makarov + + PR rtl-optimization/82338 + * lra-constraints.c (inherit_in_ebb): Check usage_insns check. + 2017-09-29 Alexander Monakov * genmodes.c (calc_wider_mode): Suppress qsort macro. Index: lra-constraints.c

patch to fix PR81481

2017-09-29 Thread Vladimir Makarov
=== --- ChangeLog (revision 253299) +++ ChangeLog (working copy) @@ -1,5 +1,11 @@ 2017-09-29 Vladimir Makarov + PR target/81481 + * ira-costs.c (scan_one_insn): Don't take into account PIC equiv + with a symbol for LRA. + +2017-09-29 Vladimir Makarov +

Re: patch to fix PR81481

2017-09-30 Thread Vladimir Makarov
On 09/30/2017 04:15 AM, Richard Sandiford wrote: Vladimir Makarov writes: The following patch fixes https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81481 The patch was bootstrapped and tested on x86-64. Committed as rev. 253300. Index: ira-costs.c

patch to fix PR82353

2017-10-11 Thread Vladimir Makarov
=== --- ChangeLog (revision 253655) +++ ChangeLog (working copy) @@ -1,3 +1,12 @@ +2017-10-11 Vladimir Makarov + + PR sanitizer/82353 + * lra.c (collect_non_operand_hard_regs): Don't ignore operator + locations. + * lra-lives.c (bb_killed_pseudos, bb_gen_pseudos): Move up. + (make_hard_regno

Re: patch to fix PR82353

2017-10-11 Thread Vladimir Makarov
On 10/11/2017 05:11 PM, Jakub Jelinek wrote: On Wed, Oct 11, 2017 at 03:39:21PM -0400, Vladimir Makarov wrote: The following patch fixes https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82353 LRA did not update hard reg liveness on bb borders for hard regs which are part of insn patterns like

Re: patch to fix PR82353

2017-10-12 Thread Vladimir Makarov
On 10/12/2017 12:49 PM, Jakub Jelinek wrote: Hi! On Wed, Oct 11, 2017 at 06:41:05PM -0400, Vladimir Makarov wrote: Tested on x86_64-linux -m32/-m64, and verified with cc1plus before your change, ok for trunk? BTW, I think it is quite fragile to scan for the reload messages, so I've c

One more patch for PR79131

2017-01-27 Thread Vladimir Makarov
=== --- ChangeLog (revision 244987) +++ ChangeLog (working copy) @@ -1,3 +1,9 @@ +2017-01-27 Vladimir Makarov + + PR target/79131 + * lra-assigns.c (find_hard_regno_for_1): Take endianess for into + account to calculate conflict_set. + 2017-01-27 Bin Cheng PR rtl-optimization/78559 Index: testsuite

patch for PR71374

2017-01-27 Thread Vladimir Makarov
) +++ ChangeLog (working copy) @@ -1,5 +1,11 @@ 2017-01-27 Vladimir Makarov + PR tree-optimization/71374 + * lra-constraints.c (check_conflict_input_operands): New. + (match_reload): Use it. + +2017-01-27 Vladimir Makarov + PR target/79131 * lra-assigns.c (find_hard_regno_for_1): Take endianess

Re: [PATCH] Fix ICE on very large functions in ira-costs.c (PR middle-end/79399)

2017-02-07 Thread Vladimir Makarov
On 02/07/2017 04:17 PM, Jakub Jelinek wrote: Hi! As mentioned in the PR, on a huge function init_costs attempts to allocate 124 * 17380077 bytes, 124 is max_struct_costs_size and 17380077 is cost_elements_num. The problem is that the multiplication is done in int type, so it overflows and we

Re: [PATCH 5/5] Ensure the mode used to create split registers is suppported

2017-02-07 Thread Vladimir Makarov
On 02/07/2017 09:08 AM, Matthew Fortune wrote: Hi, This patch addresses a problem with LRA splitting hard registers where the mode requires multiple registers. When splitting then each constituent register is split individually using the widest mode for each register but no check is made that

Re: [PATCH 4/5] Partial revert of r243782 to restore previous behavior

2017-02-07 Thread Vladimir Makarov
On 02/07/2017 09:08 AM, Matthew Fortune wrote: Hi, This patch partially reverts r243782 where a return false was added expecting it to be a no-op. Detailed inspection shows this was not true. Despite no bug being identified following the change, removing the early return is likely to be safe

Re: [PATCH 3/5] Support WORD_REGISTER_OPERATIONS requirements in simplify_operand_subreg

2017-02-07 Thread Vladimir Makarov
On 02/07/2017 09:08 AM, Matthew Fortune wrote: Hi, This patch is a minimal change to prevent (subreg(mem)) from being simplified to use the outer mode for WORD_REGISTER_OPERATIONS. There is high probability of refining and/or re-implementing this for GCC 8 but such a change would be too invas

Re: [PATCH 1/5] Handle WORD_REGISTER_OPERATIONS when reloading (subreg(reg))

2017-02-07 Thread Vladimir Makarov
On 02/07/2017 09:08 AM, Matthew Fortune wrote: Hi, This change deals with reloading a subreg(reg) using the inner mode to prevent partial spilling of data like in the case described here: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78660#c8 No test case for now but I am investigating a targe

Re: [PATCH 1/5] Handle WORD_REGISTER_OPERATIONS when reloading (subreg(reg))

2017-02-07 Thread Vladimir Makarov
On 02/07/2017 09:08 AM, Matthew Fortune wrote: Hi, This change deals with reloading a subreg(reg) using the inner mode to prevent partial spilling of data like in the case described here: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78660#c8 No test case for now but I am investigating a targe

Re: [PATCH][RFA][target/79404] Fix uninitialized reference to ira_register_move_cost[mode]

2017-02-14 Thread Vladimir Makarov
On 02/14/2017 01:30 AM, Jeff Law wrote: So imagine we have two allocnos related by a copy chain (two operand architecture). (gdb) p *cp->first $11 = {num = 9, regno = 33, mode = DImode, wmode = DImode, aclass = GENERAL_REGS, dont_reassign_p = 0, bad_spill_p = 0, assigned_p = 1, conflict_ve

patch to fix PR79282

2017-02-14 Thread Vladimir Makarov
) +++ ChangeLog (working copy) @@ -1,3 +1,19 @@ +2017-02-14 Vladimir Makarov + + PR target/79282 + * lra-int.h (struct lra_operand_data, struct lra_insn_reg): Add + member early_clobber_alts. + * lra-lives.c (reg_early_clobber_p): New. + (process_bb_lives): Use it. + * lra.c (new_insn_reg): New arg

patch to fix PR78287

2017-02-16 Thread Vladimir Makarov
) +++ ChangeLog (working copy) @@ -1,3 +1,9 @@ +2017-02-16 Vladimir Makarov + + PR rtl-optimization/78127 + * lra.c (lra): Call lra_eliminate before finish the loop after + lra_constraint. + 2017-02-16 Richard Biener * graphite.h: Do not include isl/isl_val_gmp.h, instead include Index: lra.c

patch to fix PR79541

2017-02-17 Thread Vladimir Makarov
) +++ ChangeLog (working copy) @@ -1,3 +1,9 @@ +2017-02-17 Vladimir Makarov + + PR rtl-optimization/79541 + * lra-constraints.c (curr_insn_transform): Remove wrong asm insn + instead of transforming it into USE. + 2017-02-17 Segher Boessenkool * config/rs6000/rs6000.md (extendsfdf2): Remove default

Re: [PATCH] PR79584, lra ICE in base_to_reg

2017-02-24 Thread Vladimir Makarov
On 02/24/2017 12:07 AM, Alan Modra wrote: I'm going to wait for Vlad's opinion. I've written a couple of replies and erased them, since I figure whatever I have to say doesn't carry much weight. I would prefer not to touch simplify_subreg_operand, especially a code related to subreg of mem

[wwwdocs] adding ira-select branch description

2017-02-27 Thread Vladimir Makarov
hm is based on choosing an + insn alternative first and then calculation of pseudo reg class + costs knowing the alternative. The branch is maintained by Vladimir + Makarov mailto:vmaka...@redhat.com";>vmaka...@redhat.com. + + libstdcxx_so_7-2-branch This branch carries all the C++ Ru

Re: Fix (work around) LRA infinite loop, PR78911

2017-03-03 Thread Vladimir Makarov
On 03/03/2017 08:36 AM, Bernd Schmidt wrote: Reload is designed in a way to avoid cycles and to process all reloads for an insn in order of ascending class so as to avoid this kind of issue. With LRA I'm really not sure how to fix this properly, but the following patch seems to cure the PR

patch to fix PR79571

2017-03-06 Thread Vladimir Makarov
) +++ ChangeLog (working copy) @@ -1,3 +1,10 @@ +2017-03-06 Vladimir Makarov + + PR rtl-optimization/79571 + * lra-constraints.c (process_alt_operands): Claculate static + reject and subtract it from overal when there will be only address + reloads. + 2017-03-06 Julia Koval PR target/79793 Index

Re: patch to fix PR79571

2017-03-06 Thread Vladimir Makarov
Sorry the ChangeLog entry had typos. Here is the final variant 2017-03-06 Vladimir Makarov PR rtl-optimization/79571 * lra-constraints.c (process_alt_operands): Calculate static reject and subtract it from overall when only addresses will be reloaded.

patch to fix PR79949

2017-03-09 Thread Vladimir Makarov
) +++ ChangeLog (working copy) @@ -1,3 +1,9 @@ +2017-03-09 Vladimir Makarov + + PR rtl-optimization/79949 + * lra-constraints.c (process_alt_operands): Check memory when + trying to predict a cycle. Print about the overall increase. + 2017-03-09 Richard Biener PR middle-end/79971 Index: lra

patch to fix PR80017

2017-03-15 Thread Vladimir Makarov
(revision 246180) +++ ChangeLog (working copy) @@ -1,3 +1,9 @@ +2017-03-15 Vladimir Makarov + + PR target/80017 + * lra-constraints.c (process_alt_operands): Increase reject for + reloading an input/output operand. + 2017-03-15 Michael Meissner PR target/79038 Index: lra-constraints.c

Re: Fix 70083, lra-induced crash

2016-03-10 Thread Vladimir Makarov
On 03/10/2016 03:26 AM, Bernd Schmidt wrote: This crash happens because LRA tries to save an AVX hard reg in a large mode, and it only appears in the function in smaller modes. Stack alignment isn't set up to support the larger mode. Currently, biggest_mode for hard registers is set up from r

patch for PR69614

2016-03-12 Thread Vladimir Makarov
=== --- ChangeLog (revision 234142) +++ ChangeLog (working copy) @@ -1,3 +1,9 @@ +2016-03-12 Vladimir Makarov + + PR target/69614 + * lra-constraints.c (delete_move_and_clobber): New. + (remove_inheritance_pseudos): Use it. + 2016-03-11 Kyrylo Tkachov PR target/70002 Index: testsuite/ChangeLog

a patch for PR68695

2016-03-29 Thread Vladimir Makarov
=== --- ChangeLog (revision 234526) +++ ChangeLog (working copy) @@ -1,3 +1,9 @@ +2016-03-29 Vladimir Makarov + + PR rtl-optimization/68695 + * ira-color.c (allocno_copy_cost_saving): New. + (improve_allocation): Use it. + 2016-03-29 Richard

backported patch for PR69614

2016-03-30 Thread Vladimir Makarov
The patch for PR69614 has been backported to gcc-5 branch: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69614 Committed as rev. 234577.

patch fixing PR70461

2016-03-31 Thread Vladimir Makarov
rev. 234649. Index: ChangeLog === --- ChangeLog (revision 234648) +++ ChangeLog (working copy) @@ -1,3 +1,9 @@ +2016-03-31 Vladimir Makarov + + PR rtl-optimization/70461 + * ira-color.c (allocno_copy_cost_saving): Use allocno

Re: backported patch for PR69614

2016-04-01 Thread Vladimir Makarov
On 03/31/2016 05:35 AM, Christophe Lyon wrote: On 30 March 2016 at 18:01, Vladimir Makarov wrote: The patch for PR69614 has been backported to gcc-5 branch: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69614 Committed as rev. 234577. Hi, As I've already reported: https://gcc.gn

Re: a patch for PR68695

2016-04-01 Thread Vladimir Makarov
On 03/30/2016 05:23 PM, Christophe Lyon wrote: On 29 March 2016 at 18:28, Vladimir Makarov wrote: The following patch improves the code in 2 out of 3 cases in https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68695 The patch uses more accurate costs for the RA cost improvement optimization

Re: a patch for PR68695

2016-04-01 Thread Vladimir Makarov
On 03/30/2016 05:23 PM, Christophe Lyon wrote: On 29 March 2016 at 18:28, Vladimir Makarov wrote: The following patch improves the code in 2 out of 3 cases in https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68695 The patch uses more accurate costs for the RA cost improvement optimization

Re: backported patch for PR69614

2016-04-01 Thread Vladimir Makarov
On 04/01/2016 01:39 PM, Christophe Lyon wrote: On 1 April 2016 at 19:34, Vladimir Makarov wrote: O Sorry, I tried to reproduce it on today trunk on a real hardware but I've failed. You have hardware running big-endian natively? Oops, I missed that it is a big endian machine. Thanks.

patch for PR70398

2016-04-06 Thread Vladimir Makarov
234791) +++ ChangeLog (working copy) @@ -1,3 +1,9 @@ +2016-04-06 Vladimir Makarov + + PR rtl-optimization/70398 + * lra-constraints.c (process_address_1): Check zero scale and code + for reloading with zero scale. + 2016-04-06 Uros Bizjak * config/i386/sse.md (shuffletype): Add V32HI and

Re: [PATCH IRA] save a call to init_reload

2016-04-11 Thread Vladimir Makarov
On 04/10/2016 11:24 PM, Zhouyi Zhou wrote: save a function call to init_reload when using lra, also remove the a type error in reload1.c because init_reload is called only once when compile process, the performance reduction may not be significant when compiling multi function source files. Th

Re: [PATCH] Don't remove, but just reset DEBUG_INSNS during lra-spill.c (PR rtl-optimization/70596)

2016-04-12 Thread Vladimir Makarov
On 04/12/2016 11:14 AM, Jakub Jelinek wrote: Hi! Removing DEBUG_INSNs (unless it is removed e.g. together with whole bb as unreachable code) is always wrong, instead it should be reset, which indicates we don't know where the var lives (removing it instead means that the previous DEBUG_INSN for

Fwd: Re: [lra] Cleanup the use of offmemok and don't count spilling cost for it

2016-07-04 Thread Vladimir Makarov
gcc-patches has rejected the original message as it contained invalid MIME type. Therefore I am re-sending it. Forwarded Message Subject: Re: [lra] Cleanup the use of offmemok and don't count spilling cost for it Date: Mon, 4 Jul 2016 15:44:25 -0400 From: Vla

patch for PR71621

2016-07-08 Thread Vladimir Makarov
) +++ ChangeLog (working copy) @@ -1,3 +1,9 @@ +2016-07-08 Vladimir Makarov + + PR rtl-optimization/71621 + * lra-constraints.c (process_alt_operands): Check combination of + reg class and mode. + 2016-06-25 Jason Merrill Richard Biener Index: testsuite/ChangeLog

Re: [PATCH, GCC/LRA] Teach LRA to not use same register value for multiple output operands of an insn

2016-07-14 Thread Vladimir Makarov
On 07/08/2016 11:07 AM, Thomas Preudhomme wrote: Hi, While investigating the root cause a testsuite regression for the ARM/embedded-5-branch GCC in gcc.dg/vect/slp-perm-5.c, we found that the bug seems to also affect trunk. The bug manifests itself as an ICE in cselib due to a parallel insn with

patch to fix PR77761

2016-12-06 Thread Vladimir Makarov
) +++ ChangeLog (working copy) @@ -1,3 +1,9 @@ +2016-12-06 Vladimir Makarov + + target/77761 + * lra-lives.c (process_bb_lives): Update biggest mode for + implicitly used hard reg. + 2016-12-06 Uros Bizjak * config/i386/predicates.md (general_gr_operand): New predicate. Index: testsuite/ChangeLog

Re: [PATCH] clean up insn-automata.c

2016-05-11 Thread Vladimir Makarov
On 05/11/2016 01:39 AM, Alexander Monakov wrote: On Wed, 30 Mar 2016, Bernd Schmidt wrote: On 03/25/2016 04:43 AM, Aldy Hernandez wrote: If Bernd is fine with this, I'm happy to retract my patch and any possible followups. I'm just interested in having no path causing a possible out of bounds

Re: [Patch] PR rtl-optimization/71150, guard in_class_p check with REG_P

2016-05-18 Thread Vladimir Makarov
On 05/17/2016 06:02 AM, Jiong Wang wrote: This bug is introduced by my commit r236181 where the inner rtx of SUBREG haven't been checked while it should as "in_class_p" only works with REG, and SUBREG_REG is actually not always REG. If REG_P check failed, then we should fall back to normal code

Re: Remove redundant use of REG_CLASS_NAMES maros

2015-08-28 Thread Vladimir Makarov
On 08/28/2015 06:07 AM, Anatoliy Sokolov wrote: Hi. This patch remove static reg_class_names array from print_translated_classes and print_unform_and_important_classes functions. Global reg_class_names array is used instead. Bootstrapped and reg-tested on x86_64-unknown-linux-gnu and powerpc

patch for PR61578

2015-09-01 Thread Vladimir Makarov
The following patch is for https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61578 The patch was bootstrapped and tested on x86 and x86-64. Committed as rev. 227382. 2015-09-01 Vladimir Makarov PR target/61578 * lra-lives.c (process_bb_lives): Process move pseudos with

Re: patch for PR61578

2015-09-03 Thread Vladimir Makarov
On 09/02/2015 11:32 AM, Christophe Lyon wrote: Hi Vladimir, On 1 September 2015 at 21:39, Vladimir Makarov wrote: The following patch is for https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61578 The patch was bootstrapped and tested on x86 and x86-64. Committed as rev. 227382

Re: patch for PR61578

2015-09-03 Thread Vladimir Makarov
On 09/03/2015 11:00 AM, Vladimir Makarov wrote: On 09/02/2015 11:32 AM, Christophe Lyon wrote: Hi Vladimir, On 1 September 2015 at 21:39, Vladimir Makarov wrote: The following patch is for https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61578 The patch was bootstrapped and tested on

Re: [PATCH 3/5] "Fix" intransitive comparison in reload_pseudo_compare_func

2015-12-17 Thread Vladimir Makarov
On 12/17/2015 04:00 AM, Yury Gribov wrote: This patch fixes intransitive comparison in reload_pseudo_compare_func. Imagine the following situation: 1) bitmap_bit_p is unset for A and B but set for C 2) A < B (due to early ira_reg_class_max_nregs comparison) 3) B < C (due to following regno_assig

Re: [PATCH] IRA: Fix % constraint modifier handling on disabled alternatives.

2015-12-17 Thread Vladimir Makarov
On 12/14/2015 08:05 AM, Andreas Krebbel wrote: Hi, the constraint modifier % applies to all the alternatives of a pattern and hence is mostly added to the first constraint of an operand. IRA currently ignores it if the alternative with the % gets disabled by using the `enabled' attribute or if

Re: [PATCH] Fix ICE due to invalid CONST_INT in DEBUG_INSN (PR target/69071)

2016-01-11 Thread Vladimir Makarov
On 01/08/2016 03:13 PM, Jakub Jelinek wrote: Hi! The following testcase ICEs, because move_plus_up attempts to optimize (subreg:HI (plus:SI (...) (const_int 0xff78)) 0) into (plus:HI (subreg:HI (...) 0) (const_int 0xff78)) which is incorrect, HImode CONST_INT with MSB set should be (const_int -1

Patch to fix PR69030

2016-01-15 Thread Vladimir Makarov
The following patch fixes https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69030 The patch was bootstrapped and tested on x86 and x86-64. Committed as rev. 232445. 2016-01-15 Vladimir Makarov PR rtl-optimization/69030 * lra-spills.c (remove_pseudos): Check nrefs and make

RFA: patch to fix PR64157

2014-12-05 Thread Vladimir Makarov
used. The patch was successfully bootstrapped and tested on x86-64. Ok to commit to the trunk? 2014-12-05 Vladimir Makarov PR rtl-optimization/64157 * toplev.c (target_reinit): Call ira_init. Index: toplev.c

Re: RFA: patch to fix PR64157

2014-12-08 Thread Vladimir Makarov
On 2014-12-08 10:41 AM, Richard Sandiford wrote: Vladimir Makarov writes: The following patch fixes https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64157 After calling target_reinit from save_target_globals for switchable targets (as ppc), a lot of ira data (register sets, classes etc

patch to fix PR64110

2014-12-12 Thread Vladimir Makarov
The following patch fixes https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64110 The patch was successfully tested and bootstrapped on x86/x86-64. Committed as rev. 218688. 2014-12-12 Vladimir Makarov PR target/64110 * lra-constraints.c (process_alt_operands): Refuse

Re: patch to fix PR64110

2014-12-15 Thread Vladimir Makarov
On 2014-12-15 9:14 AM, Christophe Lyon wrote: Hi, After this commit, GCC build fails for ARM targets: --target=arm-none-eabi --with-mode=arm --with-cpu=cortex-a9 --with-fpu=neon full bug report, Can you have a look? Sure. Sorry for inconvenience. LRA/reload bug fixing is a complicated

addition to the patch for PR64110

2014-12-15 Thread Vladimir Makarov
My last patch for PR64110 results in LRA crash on ARM on compilation of some programs. There is no PR for it. Here is the patch fixing the occurred problem. The patch was tested and bootstrapped on x86/x86-64 and ARM. Committed as rev. 218760. 2014-12-15 Vladimir Makarov

patch to fix PR62642

2014-12-15 Thread Vladimir Makarov
The following patch fixes https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62642 The patch was successfully bootstrapped on x86-64. It is difficult for me to make a testcase to check the right code generation. So the patch has no test. Committed as rev. 218761. 2014-12-15 Vladimir

patch to fix PR63397

2014-12-15 Thread Vladimir Makarov
The following patch fixes https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63397 The patch was successfully bootstrapped on x86-64. Committed as rev. 218766. 2014-12-15 Vladimir Makarov PR rtl-optimization/63397 * ira-int.h (ira_overall_cost, ira_reg_cost, ira_mem_cost): Use

one more patch for PR64110

2014-12-17 Thread Vladimir Makarov
H.J. reported a failure for PR64110 test. Here is the patch solves it. The patch was bootstrapped on x86/x86-64/arm. Committed as rev. 218835. 2014-12-17 Vladimir Makarov * lra-constraints.c (process_alt_operands): Remove non allocatable hard regs when considering

Re: [PATCH 0/9] Enable LRA on SH

2014-12-18 Thread Vladimir Makarov
On 2014-12-17 7:56 PM, Kaz Kojima wrote: This patch series is to make SH target use LRA and is discussed in the PR target/55212: [SH] Switch to LRA https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55212 I think there are issues which should be solved before defaulting LRA on SH and the helps from t

patch to solve PR64291

2014-12-18 Thread Vladimir Makarov
The following patch solves https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64291 It is a bug in a new rematerialization subpass of LRA. The patch was bootstrapped on x86/x86-64. Committed as rev. 218874. 2014-12-18 Vladimir Makarov PR rtl-optimization/64291 * lra-remat.c

Re: [RFC PATCH 3/9] Add TARGET_CANNOT_SUBSTITUTE_MEM_EQUIV target macro

2014-12-18 Thread Vladimir Makarov
On 2014-12-17 8:00 PM, Kaz Kojima wrote: This was discussed in PR55212 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55212#c25 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55212#c58 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55212#c69 and is to fix another ICEs in assign_by_spills. This patch

Re: [RFC PATCH 2/9] LRA: Swap base_term and index_term for some case

2014-12-18 Thread Vladimir Makarov
On 2014-12-17 7:59 PM, Kaz Kojima wrote: This was discussed in PR55212 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55212#c52 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55212#c53 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55212#c55 and is to fix ICE in assign_by_spills. In that case, rtlana

Re: [PATCH 0/9] Enable LRA on SH

2014-12-18 Thread Vladimir Makarov
On 2014-12-18 2:26 PM, Mike Stump wrote: On Dec 18, 2014, at 10:42 AM, Vladimir Makarov wrote: Thank you very much for your work on porting LRA to SH! I’ve ported my target to LRA, and I have not found any LRA bits I needed to change. Thanks, Mike. When I did a few first ports, it never

Re: [RFC PATCH 4/9] Add TARGET_LEGITIMIZE_ADDRESS_DISPLACEMENT target macro

2014-12-18 Thread Vladimir Makarov
On 2014-12-17 8:00 PM, Kaz Kojima wrote: This patch adds a target macro discussed in PR55212 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55212#c76 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55212#c78 is to avoid bad codes on SH. SH has very limited base+displacement addressing and it looks t

Re: [RFC PATCH 1/9] LRA: Take account implicit usage of pseudo reg in mem arg

2014-12-18 Thread Vladimir Makarov
On 2014-12-17 7:57 PM, Kaz Kojima wrote: This patch is discussed in PR55212 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55212#c47 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55212#c48 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55212#c49 and is to avoid segfault in remove_pseudos. In the pro

patch fixing a typo in LRA

2014-12-18 Thread Vladimir Makarov
The following patch fixes a typo in usage of register_move_cost. For most targets, the change does not matter as the cost function is symmetric relative to args. The patch was bootstrapped on x86-64. Committed as rev. 218875. 2014-12-18 Vladimir Makarov * lra-constraints.c

<    2   3   4   5   6   7   8   9   10   11   >