Re: [PATCH] i386: Avoid mutual recursion between two peephole2s [PR99600]

2021-03-16 Thread Uros Bizjak via Gcc-patches
On Tue, Mar 16, 2021 at 12:52 PM Jakub Jelinek wrote: > > On Tue, Mar 16, 2021 at 11:55:01AM +0100, Uros Bizjak wrote: > > Maybe we could simply emit a special form of a ASHIFT pattern, tagged > > with some unspec (similar to e.g. divmod4_1), and teach > > ix86_split_lea_for_addr to emit it instea

Re: [PATCH] i386: Avoid mutual recursion between two peephole2s [PR99600]

2021-03-16 Thread Jakub Jelinek via Gcc-patches
On Tue, Mar 16, 2021 at 11:55:01AM +0100, Uros Bizjak wrote: > Maybe we could simply emit a special form of a ASHIFT pattern, tagged > with some unspec (similar to e.g. divmod4_1), and teach > ix86_split_lea_for_addr to emit it instead? Peephole pass is so late > in the pass sequence that we won't

Re: [PATCH] i386: Avoid mutual recursion between two peephole2s [PR99600]

2021-03-16 Thread Uros Bizjak via Gcc-patches
On Tue, Mar 16, 2021 at 11:10 AM Jakub Jelinek wrote: > > Hi! > > As the testcase shows, the compiler hangs and eats all memory when compiling > it. This is because in r11-7274-gdecd8fb0128870d0d768ba53dae626913d6d9c54 > I have changed the ix86_avoid_lea_for_addr splitting from a splitter > into

[PATCH] i386: Avoid mutual recursion between two peephole2s [PR99600]

2021-03-16 Thread Jakub Jelinek via Gcc-patches
Hi! As the testcase shows, the compiler hangs and eats all memory when compiling it. This is because in r11-7274-gdecd8fb0128870d0d768ba53dae626913d6d9c54 I have changed the ix86_avoid_lea_for_addr splitting from a splitter into a peephole2 (because during splitting passes we don't have guarantee