[COMMITTED] pru: Implement TARGET_CLASS_LIKELY_SPILLED_P to fix PR115013

2024-05-14 Thread Dimitar Dimitrov
(pru_class_likely_spilled_p): Implement to mark classes containing one SImode register as likely spilled. (TARGET_CLASS_LIKELY_SPILLED_P): Define. Signed-off-by: Dimitar Dimitrov --- gcc/config/pru/pru.cc | 14 ++ 1 file changed, 14 insertions(+) diff --git a/gcc

[gcc r15-493] pru: Implement TARGET_CLASS_LIKELY_SPILLED_P to fix PR115013

2024-05-14 Thread Dimitar Dimitrov via Gcc-cvs
https://gcc.gnu.org/g:fc559584fa5b1e101a4520e88a936246458d5a5d commit r15-493-gfc559584fa5b1e101a4520e88a936246458d5a5d Author: Dimitar Dimitrov Date: Mon May 13 19:24:14 2024 +0300 pru: Implement TARGET_CLASS_LIKELY_SPILLED_P to fix PR115013 Commit r15-436-g44e7855e did not fix

[COMMITTED] pru: Fix register class checks in predicates

2024-05-10 Thread Dimitar Dimitrov
. Signed-off-by: Dimitar Dimitrov --- gcc/config/pru/predicates.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gcc/config/pru/predicates.md b/gcc/config/pru/predicates.md index 77b3316b98e..55635599609 100644 --- a/gcc/config/pru/predicates.md +++ b/gcc/config/pru

[gcc r15-365] pru: Fix register class checks in predicates

2024-05-10 Thread Dimitar Dimitrov via Gcc-cvs
https://gcc.gnu.org/g:d4d30461c02b50c07f92c8cccb87da528a806d3e commit r15-365-gd4d30461c02b50c07f92c8cccb87da528a806d3e Author: Dimitar Dimitrov Date: Thu May 9 22:19:24 2024 +0300 pru: Fix register class checks in predicates The register class checks in the multiply-source

Re: [PATCH 2/4] df: Add DF_LIVE_SUBREG problem

2024-05-08 Thread Dimitar Dimitrov
On Wed, May 08, 2024 at 11:34:48AM +0800, 陈硕 wrote: > Hi Dimitar > > > I send a patch just now, modifies accordingly > > > some comments: > > > Nit: Should have two spaces after the dot, per GNU coding style. > I'd suggest > to run the contrib/check_GNU_style.py script on your patches. > Do

[COMMITTED 7/9] pru: Use HOST_WIDE_INT_1U macro

2024-05-07 Thread Dimitar Dimitrov
Use the HOST_WIDE_INT_1U macro instead of literal 1 when constructing constants for RTL. gcc/ChangeLog: * config/pru/pru.md (lshrdi3): Use HOST_WIDE_INT_1U macro. (ashldi3): Ditto. Signed-off-by: Dimitar Dimitrov --- gcc/config/pru/pru.md | 6 -- 1 file changed, 4

[COMMITTED 9/9] pru: New validation pass for minrt

2024-05-07 Thread Dimitar Dimitrov
/pru/minrt-2.cc: New test. * g++.target/pru/minrt-3.cc: New test. * g++.target/pru/pru.exp: New test. * gcc.target/pru/minrt-1.c: New test. * gcc.target/pru/minrt-2.c: New test. * gcc.target/pru/minrt-3.c: New test. Signed-off-by: Dimitar Dimitrov --- gcc

[COMMITTED 6/9] pru: Drop usage of ATTRIBUTE_UNUSED

2024-05-07 Thread Dimitar Dimitrov
. (pru_builtin_decl): Ditto. (pru_expand_builtin): Ditto. Signed-off-by: Dimitar Dimitrov --- gcc/config/pru/pru-passes.cc | 2 +- gcc/config/pru/pru-pragma.cc | 2 +- gcc/config/pru/pru.cc| 24 +--- 3 files changed, 11 insertions(+), 17 deletions(-) diff --git

[COMMITTED 4/9] pru: Add pattern variants for zero extending destination

2024-05-07 Thread Dimitar Dimitrov
. * gcc.target/pru/extzv-3.c: Ditto. * gcc.target/pru/zero_extend-op0.c: New test. Signed-off-by: Dimitar Dimitrov --- gcc/config/pru/alu-zext.md| 38 --- gcc/testsuite/gcc.target/pru/extzv-1.c| 2 +- gcc/testsuite/gcc.target/pru/extzv-2

[COMMITTED 5/9] pru: Skip register save if function will not return

2024-05-07 Thread Dimitar Dimitrov
ported yet for PRU. gcc/ChangeLog: * config/pru/pru.cc (prologue_saved_reg_p): Skip saving if function will not return. gcc/testsuite/ChangeLog: * gcc.target/pru/noreturn-prologue-1.c: New test. * gcc.target/pru/noreturn-prologue-2.c: New test. Signed-off-by: Dimitar

[COMMITTED 8/9] pru: Refactor to use passes definition file

2024-05-07 Thread Dimitar Dimitrov
u-protos.h (pru_register_abicheck_pass): Remove. (make_pru_tiabi_check): Add declaration. * config/pru/pru.cc (pru_option_override): Remove explicit pass registration. * config/pru/t-pru: Register PRU passes definition file. * config/pru/pru-passes.def: New file. Signed-off-b

[COMMITTED 3/9] pru: Optimize the extzv and insv patterns

2024-05-07 Thread Dimitar Dimitrov
. * gcc.target/pru/extzv-2.c: New test. * gcc.target/pru/extzv-3.c: New test. * gcc.target/pru/insv-1.c: New test. * gcc.target/pru/insv-2.c: New test. * gcc.target/pru/insv-3.c: New test. * gcc.target/pru/insv-4.c: New test. Signed-off-by: Dimitar Dimitrov

[COMMITTED 2/9] pru: Implement zero fill for 64-bit registers

2024-05-07 Thread Dimitar Dimitrov
Loading a constant zero in a 64-bit register now takes one instead of two instructions. gcc/ChangeLog: * config/pru/pru.md: New pattern alternative for zero-filling 64-bit registers. gcc/testsuite/ChangeLog: * gcc.target/pru/mov-0.c: New test. Signed-off-by: Dimitar

[COMMITTED 0/9] Small cleanups and improvements for PRU backend

2024-05-07 Thread Dimitar Dimitrov
This patch set includes small cleanups and code generation improvements I implemented during stages 3 and 4. All patches have been regression-tested individually for pru-unknown-elf while being developed. And the entire set was tested again on GCC 15 mainline. Dimitar Dimitrov (9): pru

[COMMITTED 1/9] pru: Implement TARGET_ADDRESS_COST

2024-05-07 Thread Dimitar Dimitrov
running embench-iot and building a few real-world firmware examples. gcc/ChangeLog: * config/pru/pru.cc (pru_address_cost): Implement address cost calculation. (TARGET_ADDRESS_COST): Define for PRU. Signed-off-by: Dimitar Dimitrov --- gcc/config/pru/pru.cc | 25

[gcc r15-233] pru: New validation pass for minrt

2024-05-07 Thread Dimitar Dimitrov via Gcc-cvs
https://gcc.gnu.org/g:0822400aae8f79de8f10ddde268f592ba6c2d2fb commit r15-233-g0822400aae8f79de8f10ddde268f592ba6c2d2fb Author: Dimitar Dimitrov Date: Fri Feb 9 22:30:28 2024 +0200 pru: New validation pass for minrt Add a new pru-specific pass to validate that the assumptions

[gcc r15-232] pru: Refactor to use passes definition file

2024-05-07 Thread Dimitar Dimitrov via Gcc-cvs
https://gcc.gnu.org/g:4cf8daaf8a5db7ac1123fd2cbc3d9fc466bda69d commit r15-232-g4cf8daaf8a5db7ac1123fd2cbc3d9fc466bda69d Author: Dimitar Dimitrov Date: Sat Mar 9 22:16:09 2024 +0200 pru: Refactor to use passes definition file Switch to using a passes definition file instead

[gcc r15-231] pru: Use HOST_WIDE_INT_1U macro

2024-05-07 Thread Dimitar Dimitrov via Gcc-cvs
https://gcc.gnu.org/g:3d342993a4d5000bcd3fd407e42e348c6d4a80b3 commit r15-231-g3d342993a4d5000bcd3fd407e42e348c6d4a80b3 Author: Dimitar Dimitrov Date: Sat Mar 2 15:05:12 2024 +0200 pru: Use HOST_WIDE_INT_1U macro Use the HOST_WIDE_INT_1U macro instead of literal 1 when

[gcc r15-230] pru: Drop usage of ATTRIBUTE_UNUSED

2024-05-07 Thread Dimitar Dimitrov via Gcc-cvs
https://gcc.gnu.org/g:00090d5ea82f1acad8fd4feead4652a9fc5572f6 commit r15-230-g00090d5ea82f1acad8fd4feead4652a9fc5572f6 Author: Dimitar Dimitrov Date: Tue Jan 23 22:03:33 2024 +0200 pru: Drop usage of ATTRIBUTE_UNUSED Remove usage of ATTRIBUTE_UNUSED. Instead remove

[gcc r15-229] pru: Skip register save if function will not return

2024-05-07 Thread Dimitar Dimitrov via Gcc-cvs
https://gcc.gnu.org/g:b3bcc3f6a775ec1fee2ebc881e9c8706cf60351e commit r15-229-gb3bcc3f6a775ec1fee2ebc881e9c8706cf60351e Author: Dimitar Dimitrov Date: Sat Jan 13 22:29:57 2024 +0200 pru: Skip register save if function will not return There is no need to store callee-saved

[gcc r15-228] pru: Add pattern variants for zero extending destination

2024-05-07 Thread Dimitar Dimitrov via Gcc-cvs
https://gcc.gnu.org/g:b3ad0d413c009e839ff180f19f6b0a18822f521d commit r15-228-gb3ad0d413c009e839ff180f19f6b0a18822f521d Author: Dimitar Dimitrov Date: Fri Dec 29 21:22:58 2023 +0200 pru: Add pattern variants for zero extending destination The higher bits in the result of some ALU

[gcc r15-227] pru: Optimize the extzv and insv patterns

2024-05-07 Thread Dimitar Dimitrov via Gcc-cvs
https://gcc.gnu.org/g:47b757cf31fffb2ae5fdb93f9f031890080504a8 commit r15-227-g47b757cf31fffb2ae5fdb93f9f031890080504a8 Author: Dimitar Dimitrov Date: Sun Nov 19 12:20:08 2023 +0200 pru: Optimize the extzv and insv patterns Optimize the generated code for the bit-field extract

[gcc r15-226] pru: Implement zero fill for 64-bit registers

2024-05-07 Thread Dimitar Dimitrov via Gcc-cvs
https://gcc.gnu.org/g:ca7d6d729183685279a0d9dcd39aed11021f1dfa commit r15-226-gca7d6d729183685279a0d9dcd39aed11021f1dfa Author: Dimitar Dimitrov Date: Sat Nov 18 23:05:09 2023 +0200 pru: Implement zero fill for 64-bit registers Loading a constant zero in a 64-bit register now

[gcc r15-225] pru: Implement TARGET_ADDRESS_COST

2024-05-07 Thread Dimitar Dimitrov via Gcc-cvs
https://gcc.gnu.org/g:3888f62ffb7b919ada4959207448af15b2cfd5a5 commit r15-225-g3888f62ffb7b919ada4959207448af15b2cfd5a5 Author: Dimitar Dimitrov Date: Sun Oct 22 14:44:29 2023 +0300 pru: Implement TARGET_ADDRESS_COST Stop relying on the default fallback to TARGET_RTX_COST

Re: [PATCH 2/4] df: Add DF_LIVE_SUBREG problem

2024-04-25 Thread Dimitar Dimitrov
On Wed, Apr 24, 2024 at 06:05:03PM +0800, Lehua Ding wrote: > This patch add a new DF problem, named DF_LIVE_SUBREG. This problem > is extended from the DF_LR problem and support track the subreg liveness > of multireg pseudo if these pseudo satisfy the following conditions: > > 1. the mode

[committed] pru: Document how -mmcu option uses MCU specs

2024-02-21 Thread Dimitar Dimitrov
The plan to maintain PRU hardware-specific specs in newlib tree has been abandoned in favour of a new distinct GIT project. Update the documentation accordingly. gcc/ChangeLog: * doc/invoke.texi (-mmcu): Add information about MCU specs. Signed-off-by: Dimitar Dimitrov --- gcc/doc

[committed] pru: Document that arguments are not passed to main with -minrt

2024-02-21 Thread Dimitar Dimitrov
: * doc/invoke.texi (-minrt): Clarify that main must take no arguments. Signed-off-by: Dimitar Dimitrov --- gcc/doc/invoke.texi | 17 - 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index e18886e0ac7..69020245b25

[PATCH v2] testsuite: Mark non-optimized variants as expensive

2024-02-17 Thread Dimitar Dimitrov
for trunk? PR middle-end/112344 gcc/testsuite/ChangeLog: * gcc.dg/torture/pr112344.c: Run non-optimized variants only if expensive tests are allowed. Signed-off-by: Dimitar Dimitrov --- Changes since V1: - Mark as expensive instead of outright disabling variants which

Re: [PATCH] testsuite: Disable slow and unneeded test variants

2024-02-17 Thread Dimitar Dimitrov
On Fri, Feb 16, 2024 at 07:06:57PM +0100, Jakub Jelinek wrote: > On Fri, Feb 16, 2024 at 07:52:17PM +0200, Dimitar Dimitrov wrote: > > The issue in PR112344 is triggered only at -O2, so there is little value > > in running the test at lower optimization levels. A

[PATCH] testsuite: Disable slow and unneeded test variants

2024-02-16 Thread Dimitar Dimitrov
12s sys 0m2,178s 0m2,133s Ok for trunk? PR middle-end/112344 gcc/testsuite/ChangeLog: * gcc.dg/torture/pr112344.c: Run only for expensive speed optimizations. Signed-off-by: Dimitar Dimitrov --- gcc/testsuite/gcc.dg/torture/pr112344.c | 2 ++ 1 file changed, 2

Re: New feature: -fdump-gimple-nodes (once more, with feeling)

2024-02-14 Thread Dimitar Dimitrov
On Tue, Feb 13, 2024 at 01:46:11PM -0600, Robert Dubner wrote: ... > An example of a complete dump is available at > https://www.dubner.com/main.nodes.html. The C source code that generated > it is available at the end of > https://cobolworx.com/pages/dump-gimple-nodes.html > Hyperlinked text

Re: [RFA] New pass for sign/zero extension elimination

2023-11-20 Thread Dimitar Dimitrov
On Sun, Nov 19, 2023 at 05:47:56PM -0700, Jeff Law wrote: ... > +/* Process uses in INSN. Set appropriate bits in LIVENOW for any chunks of > + pseudos that become live, potentially filtering using bits from LIVE_TMP. > + > + If MODIFIED is true, then optimize sign/zero extensions to SUBREGs

Re: [PATCH 1/2] gcov: Use unshare_expr() in gen_counter_update()

2023-11-20 Thread Dimitar Dimitrov
On Mon, Nov 20, 2023 at 03:33:30PM +0100, Sebastian Huber wrote: > This fixes issues like this: > > gcc/testsuite/gcc.dg/no_profile_instrument_function-attr-1.c: In function > 'main': > gcc/testsuite/gcc.dg/no_profile_instrument_function-attr-1.c:19:1: error: > incorrect sharing of tree

Re: [PATCH 3/4] gcov: Add gen_counter_update()

2023-11-19 Thread Dimitar Dimitrov
On Tue, Nov 14, 2023 at 11:08:24PM +0100, Sebastian Huber wrote: > Move the counter update to the new gen_counter_update() helper function. Use > it in gimple_gen_edge_profiler() and gimple_gen_time_profiler(). The > resulting > gimple instructions should be identical with the exception of the

Re: [PATCH] tree-optimization/112282 - wrong-code with ifcvt hoisting

2023-11-15 Thread Dimitar Dimitrov
On Wed, Nov 15, 2023 at 12:11:50PM +, Richard Biener wrote: > The following avoids hoisting of invariants from conditionally > executed parts of an if-converted loop. That now makes a difference > since we perform bitfield lowering even when we do not actually > if-convert the loop.

[committed] testsuite: Ignore warning for unsupported option

2023-11-14 Thread Dimitar Dimitrov
that -fprefetch-loop-arrays is not supported. CC: Florian Weimer Signed-off-by: Dimitar Dimitrov --- gcc/testsuite/gcc.dg/20020206-1.c | 1 + 1 file changed, 1 insertion(+) diff --git a/gcc/testsuite/gcc.dg/20020206-1.c b/gcc/testsuite/gcc.dg/20020206-1.c index c8d8b61937a..a5a9cb038e7 100644 --- a/gcc

Re: [PATCH V3 0/7] ira/lra: Support subreg coalesce

2023-11-13 Thread Dimitar Dimitrov
On Sun, Nov 12, 2023 at 08:08:10PM +0800, Lehua Ding wrote: > V3 Changes: > 1. fix three ICE. > 2. rebase > > Hi, > > These patchs try to support subreg coalesce feature in > register allocation passes (ira and lra). > Hi Lehua, V3 indeed fixes the arm-none-eabi build. It's also confirmed

Re: [PATCH 0/7] ira/lra: Support subreg coalesce

2023-11-10 Thread Dimitar Dimitrov
On Fri, Nov 10, 2023 at 04:53:57PM +0800, Lehua Ding wrote: > > > The divide by zero error above is interesting. I'm not sure why > > > ira_reg_class_max_nregs[] yields 0 for the pseudo register 168 in > > > the following rtx: > > > (debug_insn 168 167 169 19 (var_location:SI encoding (reg/v:SI

Re: [PATCH 0/7] ira/lra: Support subreg coalesce

2023-11-08 Thread Dimitar Dimitrov
On Wed, Nov 08, 2023 at 11:47:33AM +0800, Lehua Ding wrote: > Hi, > > These patchs try to support subreg coalesce feature in > register allocation passes (ira and lra). Hi Lehua, This patch set breaks the build for at least three embedded targets. See below. For avr the GCC build fails with:

[committed] pru: Implement TARGET_INSN_COST

2023-10-18 Thread Dimitar Dimitrov
, and committed to trunk. gcc/ChangeLog: * config/pru/pru.cc (pru_insn_cost): New function. (TARGET_INSN_COST): Define for PRU. Signed-off-by: Dimitar Dimitrov --- gcc/config/pru/pru.cc | 36 1 file changed, 36 insertions(+) diff --git a/gcc

Re: [PATCH 3/3] [V2] [RISC-V] support cm.mva01s cm.mvsa01 in zcmp

2023-09-07 Thread Dimitar Dimitrov
Hi, This patch appears to have caused PR 111259. Regards, Dimitar On Tue, Aug 29, 2023 at 08:37:46AM +, Fei Gao wrote: > From: Die Li > > Signed-off-by: Die Li > Co-Authored-By: Fei Gao > > gcc/ChangeLog: > > * config/riscv/peephole.md: New pattern. > *

[committed] pru: Add cstore expansion patterns

2023-08-30 Thread Dimitar Dimitrov
-by: Dimitar Dimitrov --- gcc/config/pru/predicates.md | 8 +++ gcc/config/pru/pru.md | 62 ++ gcc/testsuite/gcc.target/pru/pr106562-10.c | 8 +++ gcc/testsuite/gcc.target/pru/pr106562-11.c | 8 +++ gcc/testsuite/gcc.target/pru/pr106562-5.c

Re: [PATCH] riscv: Fix scope for memory model calculation

2023-06-07 Thread Dimitar Dimitrov
On Tue, Jun 06, 2023 at 08:38:14PM -0600, Jeff Law wrote: > > > > Regression tested for riscv32-none-elf. No changes in gcc.sum and > > g++.sum. I don't have setup to test riscv64. > > > > gcc/ChangeLog: > > > > * config/riscv/riscv.cc (riscv_print_operand): Calculate > > memmodel

[PATCH] riscv: Fix scope for memory model calculation

2023-06-05 Thread Dimitar Dimitrov
g++.sum. I don't have setup to test riscv64. gcc/ChangeLog: * config/riscv/riscv.cc (riscv_print_operand): Calculate memmodel only when it is valid. Signed-off-by: Dimitar Dimitrov --- gcc/config/riscv/riscv.cc | 13 + 1 file changed, 9 insertions(+), 4 deletions(-)

[PATCH] riscv: Fix insn cost calculation

2023-06-05 Thread Dimitar Dimitrov
Signed-off-by: Dimitar Dimitrov --- gcc/config/riscv/riscv.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/config/riscv/riscv.cc b/gcc/config/riscv/riscv.cc index 3954c89a039..c15da1d0e30 100644 --- a/gcc/config/riscv/riscv.cc +++ b/gcc/config/riscv/riscv.cc @@ -1310

[committed] testsuite: Require trampolines for nestev-vla tests

2023-05-25 Thread Dimitar Dimitrov
: Ditto. * gcc.dg/nested-vla-3.c: Ditto. CC: Martin Uecker Signed-off-by: Dimitar Dimitrov --- gcc/testsuite/gcc.dg/nested-vla-1.c | 1 + gcc/testsuite/gcc.dg/nested-vla-2.c | 1 + gcc/testsuite/gcc.dg/nested-vla-3.c | 1 + 3 files changed, 3 insertions(+) diff --git a/gcc/testsuite

[committed] libgcc pru: Define TARGET_HAS_NO_HW_DIVIDE

2023-05-01 Thread Dimitar Dimitrov
cycles. Cherry-picked from the recent change for the CRIS port. Pushed to trunk. libgcc/ChangeLog: * config/pru/t-pru (HOST_LIBGCC2_CFLAGS): Add -DTARGET_HAS_NO_HW_DIVIDE. Signed-off-by: Dimitar Dimitrov --- libgcc/config/pru/t-pru | 3 +++ 1 file changed, 3 insertions(+) diff

[GCC-11][committed] pru: Fix CLZ expansion for QI and HI modes

2023-01-26 Thread Dimitar Dimitrov
enerated code for QI and HI input modes. Signed-off-by: Dimitar Dimitrov (cherry picked from commit c517295940a23db8ca165dfd5d0edea4457eda49) --- gcc/config/pru/pru.h | 5 +++-- gcc/config/pru/pru.md | 15 --- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/g

[GCC-12][committed] pru: Fix CLZ expansion for QI and HI modes

2023-01-26 Thread Dimitar Dimitrov
enerated code for QI and HI input modes. Signed-off-by: Dimitar Dimitrov (cherry picked from commit c517295940a23db8ca165dfd5d0edea4457eda49) --- gcc/config/pru/pru.h | 5 +++-- gcc/config/pru/pru.md | 15 --- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/g

[committed] pru: Fix CLZ expansion for QI and HI modes

2023-01-22 Thread Dimitar Dimitrov
* config/pru/pru.md (clz): Fix generated code for QI and HI input modes. gcc/testsuite/ChangeLog: * gcc.target/pru/clz-hi-2.c: New test. * gcc.target/pru/clz-hi.c: New test. Signed-off-by: Dimitar Dimitrov --- gcc/config/pru/pru.h| 5 ++-- gcc/config/

[PATCH] testsuite: Add filter for target socket support

2022-11-20 Thread Dimitar Dimitrov
* gcc.dg/analyzer/fd-symbolic-socket.c: Ditto. * lib/target-supports.exp (check_effective_target_sockets): New check. Signed-off-by: Dimitar Dimitrov --- gcc/doc/sourcebuild.texi | 3 +++ gcc/testsuite/gcc.dg/analyzer/fd-accept.c | 2 ++ gcc

[committed] pru: Add cbranchdi4 pattern

2022-10-09 Thread Dimitar Dimitrov
/pr106562-2.c: New test. * gcc.target/pru/pr106562-3.c: New test. * gcc.target/pru/pr106562-4.c: New test. Signed-off-by: Dimitar Dimitrov --- gcc/config/pru/pru-protos.h | 1 + gcc/config/pru/pru.cc | 21 +++ gcc/config/pru/pru.md

[committed] pru: Optimize DI shifts

2022-10-09 Thread Dimitar Dimitrov
: * config/pru/pru.md (lshrdi3): New expand pattern. (ashldi3): Ditto. gcc/testsuite/ChangeLog: * gcc.target/pru/ashiftdi-1.c: New test. * gcc.target/pru/lshiftrtdi-1.c: New test. Signed-off-by: Dimitar Dimitrov --- gcc/config/pru/pru.md | 196

Re: [PATCH v4] eliminate mutex in fast path of __register_frame

2022-09-18 Thread Dimitar Dimitrov
On Fri, Sep 16, 2022 at 12:19:36PM +0200, Thomas Neumann via Gcc-patches wrote: > The __register_frame/__deregister_frame functions are used to register > unwinding frames from JITed code in a sorted list. That list itself > is protected by object_mutex, which leads to terrible performance > in

[committed] pru: Add mov variants to load const -1

2022-08-22 Thread Dimitar Dimitrov
. Signed-off-by: Dimitar Dimitrov --- gcc/config/pru/pru.md | 25 ++--- gcc/testsuite/gcc.target/pru/mov-m1.c | 18 ++ 2 files changed, 32 insertions(+), 11 deletions(-) create mode 100644 gcc/testsuite/gcc.target/pru/mov-m1.c diff --git a/gcc

[committed] PR target/106564: pru: Optimize 64-bit sign- and zero-extend

2022-08-22 Thread Dimitar Dimitrov
.c: New test. * gcc.target/pru/pr106564-4.c: New test. Signed-off-by: Dimitar Dimitrov --- gcc/config/pru/constraints.md | 23 +++ gcc/config/pru/predicates.md | 22 +++ gcc/config/pru/pru-protos.h | 9 +- gcc/config/pru/pru.cc

[committed] pru: Optimize 64-bit logical operations

2022-08-22 Thread Dimitar Dimitrov
, committed to mainline. gcc/ChangeLog: * config/pru/pru.md (pru_di3): New alternative for two operands but without earlyclobber. gcc/testsuite/ChangeLog: * gcc.target/pru/bitop-di.c: New test. Signed-off-by: Dimitar Dimitrov --- gcc/config/pru/pru.md

[committed] testsuite: Require int128 for gcc.dg/pr106063.c

2022-07-10 Thread Dimitar Dimitrov
Require effective target int128 for gcc.dg/pr106063.c. Committed as obvious. PR tree-optimization/106063 gcc/testsuite/ChangeLog: * gcc.dg/pr106063.c: Require effective target int128. CC: Tamar Christina Signed-off-by: Dimitar Dimitrov --- gcc/testsuite/gcc.dg/pr106063.c

[PATCH v2] testsuite: Add new target check for no_alignment_constraints

2022-06-27 Thread Dimitar Dimitrov
with no_alignment_constraints. * gcc.dg/strlenopt-11.c: Ditto. * gcc.dg/strlenopt-13.c: Ditto. * lib/target-supports.exp (check_effective_target_no_alignment_constraints): New. Signed-off-by: Dimitar Dimitrov --- Changes since patch V1: - Documented the new check in gcc/doc

Re: [PATCH] testsuite: Add new target check for no_alignment_constraints

2022-06-26 Thread Dimitar Dimitrov
On Fri, Jun 24, 2022 at 08:58:49AM +0200, Richard Biener wrote: > On Fri, Jun 24, 2022 at 2:34 AM Andrew Pinski via Gcc-patches > wrote: > > > > On Thu, Jun 23, 2022 at 2:24 PM Dimitar Dimitrov wrote: > > > > > > A few testcases were marked fo

[PATCH] testsuite: Add new target check for no_alignment_constraints

2022-06-23 Thread Dimitar Dimitrov
. default_packed Whether structures are packed by default is not necessarily the same as lacking constraints for any variable alignment. For example, BIGGEST_FIELD_ALIGNMENT or ADJUST_FIELD_ALIGN could be defined for a target. Ok for trunk? Signed-off-by: Dimitar Dimitrov --- gcc

[PATCH] testsuite: Handle default_packed for gcc.dg/builtin-object-size-20.c

2022-06-23 Thread Dimitar Dimitrov
. Ok for trunk? gcc/testsuite/ChangeLog: * gcc.dg/builtin-object-size-20.c: Remove cases which work on default_packed targets. * gcc.dg/builtin-object-size-22.c: New test with the cases removed above. Signed-off-by: Dimitar Dimitrov --- gcc/testsuite/gcc.dg

[PATCH] testsuite: Rename test-defined macros

2022-06-23 Thread Dimitar Dimitrov
gcc.dg/sso/memcpy-1.c (__big_endian__, __little_endian__): Rename macros to avoid conflicts with predefined ones. Signed-off-by: Dimitar Dimitrov --- gcc/testsuite/gcc.dg/sso/memcpy-1.c | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gcc/testsuite/gcc.dg/sso/mem

[PATCH] testsuite: Remove reliance on argc in lto/pr101868_0.c

2022-06-23 Thread Dimitar Dimitrov
/ChangeLog: * gcc.dg/lto/pr101868_0.c (zero): New volatile variable. (main): Use it instead of argc. Signed-off-by: Dimitar Dimitrov --- gcc/testsuite/gcc.dg/lto/pr101868_0.c | 7 --- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gcc/testsuite/gcc.dg/lto/pr101868_0

[PATCH] testsuite: Skip btf-bitfields-1.c if int is less than 32-bits

2022-06-23 Thread Dimitar Dimitrov
: * gcc.dg/debug/btf/btf-bitfields-1.c: Skip if int is less than 32-bits. CC: Jose E. Marchesi Signed-off-by: Dimitar Dimitrov --- gcc/testsuite/gcc.dg/debug/btf/btf-bitfields-1.c | 1 + 1 file changed, 1 insertion(+) diff --git a/gcc/testsuite/gcc.dg/debug/btf/btf-bitfields-1.c b/gcc

[PATCH] testsuite: Adjust btf-bitfields-1.c for default_packed

2022-06-23 Thread Dimitar Dimitrov
: Jose E. Marchesi Signed-off-by: Dimitar Dimitrov --- gcc/testsuite/gcc.dg/debug/btf/btf-bitfields-1.c | 6 -- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gcc/testsuite/gcc.dg/debug/btf/btf-bitfields-1.c b/gcc/testsuite/gcc.dg/debug/btf/btf-bitfields-1.c index c6bf52130dc

[committed] testsuite: Skip vectorize tests for PRU

2022-05-21 Thread Dimitar Dimitrov
: Ditto. * gcc.dg/tree-ssa/gen-vect-25.c: Ditto. * gcc.dg/tree-ssa/gen-vect-26.c: Ditto. * gcc.dg/tree-ssa/gen-vect-28.c: Ditto. * gcc.dg/tree-ssa/gen-vect-32.c: Ditto. Signed-off-by: Dimitar Dimitrov --- gcc/testsuite/gcc.dg/tree-ssa/gen-vect-11.c | 2 +- gcc

[committed] testsuite: Adjust pr91088.c for default_packed targets

2022-05-21 Thread Dimitar Dimitrov
Committed as obvious. PR ipa/91088 gcc/testsuite/ChangeLog: * gcc.dg/ipa/pr91088.c: Adjust member offset checks to accommodate targets which pack structures by default. Signed-off-by: Dimitar Dimitrov --- gcc/testsuite/gcc.dg/ipa/pr91088.c | 3 ++- 1 file changed, 2

[committed] testsuite: Skip gcc.dg/pr46647.c for PRU

2022-05-21 Thread Dimitar Dimitrov
Like AVR and Cris, PRU has no alignment requirements. Thus it is also affected by PR53535. PR middle-end/53535 gcc/testsuite/ChangeLog: * gcc.dg/pr46647.c: Skip for pru target. Signed-off-by: Dimitar Dimitrov --- gcc/testsuite/gcc.dg/pr46647.c | 4 ++-- 1 file changed, 2

[committed] testsuite: Skip ifcvt-4.c for PRU

2022-05-21 Thread Dimitar Dimitrov
PRU has no condition code and conditional moves. gcc/testsuite/ChangeLog: * gcc.dg/ifcvt-4.c: Skip for PRU. Signed-off-by: Dimitar Dimitrov --- gcc/testsuite/gcc.dg/ifcvt-4.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/testsuite/gcc.dg/ifcvt-4.c b/gcc

[committed] testsuite: Mark extra warnings for default_packed

2022-05-21 Thread Dimitar Dimitrov
-off-by: Dimitar Dimitrov --- gcc/testsuite/gcc.dg/Warray-bounds-48-novec.c | 6 -- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gcc/testsuite/gcc.dg/Warray-bounds-48-novec.c b/gcc/testsuite/gcc.dg/Warray-bounds-48-novec.c index da179a2c0f5..5cae8566209 100644 --- a/gcc

Re: [PATCH] testsuite: mallign: Handle word size of 1 byte

2022-05-16 Thread Dimitar Dimitrov
On Sun, May 08, 2022 at 10:31:04AM +0300, Dimitar Dimitrov wrote: > This patch fixes a spurious warning for pru-unknown-elf target: > gcc/testsuite/gcc.dg/mallign.c:12:27: warning: ignoring return value of > 'malloc' declared with attribute 'warn_unused_result' [-Wunused-result] >

[PATCH] testsuite: mallign: Handle word size of 1 byte

2022-05-08 Thread Dimitar Dimitrov
. Fix by first checking the target word size. Sanity checked that there are no new failures on x86_64-pc-linux-gnu. Ok for trunk? gcc/testsuite/ChangeLog: * gcc.dg/mallign.c: Skip check if sizeof(word)==1. Signed-off-by: Dimitar Dimitrov --- gcc/testsuite/gcc.dg/mallign.c | 2 +- 1

[PATCH] testsuite: Silence analyzer/pr51628-30.c for default_packed

2022-05-08 Thread Dimitar Dimitrov
fe because the original test case covered an ICE, not a diagnostic error. Ok for trunk? gcc/testsuite/ChangeLog: * gcc.dg/analyzer/torture/pr51628-30.c: Test can spill excess errors for default_packed targets. CC: David Malcolm Signed-off-by: Dimitar Dimitrov --- gcc/testsuite/gcc.d

[PATCH][committed] testsuite: libgcc function name for PRU

2022-05-03 Thread Dimitar Dimitrov
/testsuite/ChangeLog: * gcc.c-torture/compile/attr-complex-method-2.c: Accept both __divdc3 and __gnu_divdc3 as valid libgcc function names. * gcc.dg/complex-6.c: Ditto for __mulsc3. * gcc.dg/complex-7.c: Ditto for __muldc3. Signed-off-by: Dimitar Dimitrov --- gcc

[PATCH][committed] testsuite: Skip cases for default_packed targets

2022-05-03 Thread Dimitar Dimitrov
-by: Dimitar Dimitrov --- gcc/testsuite/gcc.dg/memchr.c | 3 ++- gcc/testsuite/gcc.dg/memcmp-3.c | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/gcc/testsuite/gcc.dg/memchr.c b/gcc/testsuite/gcc.dg/memchr.c index fb21d58b476..27524b82520 100644 --- a/gcc/testsuite/gcc.dg/memchr.c

[PATCH][committed] testsuite: Annotate Wattributes-8.c for default_packed

2022-05-03 Thread Dimitar Dimitrov
Place markers in test case to handle targets which pack structures by default. Validated on pru-none-elf. Committed as obvious. gcc/testsuite/ChangeLog: * gcc.dg/Wattributes-8.c: Add annotations for default_packed targets. Signed-off-by: Dimitar Dimitrov --- gcc/testsuite

[PATCH][committed] testsuite: Mark that PRU lowers DI alu ops by itself

2022-05-03 Thread Dimitar Dimitrov
PRU target defines DI patterns for logical ALU operations. gcc/testsuite/ChangeLog: * gcc.dg/lower-subreg-1.c: Skip for PRU. Signed-off-by: Dimitar Dimitrov --- gcc/testsuite/gcc.dg/lower-subreg-1.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/testsuite

[PATCH][committed] testsuite: Skip gcc.dg/Wno-frame-address.c for PRU

2022-05-03 Thread Dimitar Dimitrov
Access to arbitrary stack frames is not supported on PRU. gcc/testsuite/ChangeLog: * gcc.dg/Wno-frame-address.c: Skip for PRU target. Signed-off-by: Dimitar Dimitrov --- gcc/testsuite/gcc.dg/Wno-frame-address.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc

Re: [PATCH] libstdc++: Decouple HAVE_FCNTL_H from HAVE_DIRENT_H check

2022-02-08 Thread Dimitar Dimitrov
On Mon, Feb 07, 2022 at 09:05:45PM +, Jonathan Wakely wrote: > On Mon, 7 Feb 2022 at 21:01, Jonathan Wakely wrote: > > > > > > > On Mon, 7 Feb 2022 at 20:12, Dimitar Dimitrov wrote: > > > >> On PRU target with newlib, we have the following co

[PATCH] libstdc++: Decouple HAVE_FCNTL_H from HAVE_DIRENT_H check

2022-02-07 Thread Dimitar Dimitrov
++-v3/ChangeLog: * src/filesystem/dir-common.h (_GLIBCXX_HAVE_FCNTL_H): Move the check outside the HAVE_DIRENT_H check. Signed-off-by: Dimitar Dimitrov --- libstdc++-v3/src/filesystem/dir-common.h | 9 + 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/libstdc

Re: [committed] libstdc++: Avoid symlink race in filesystem::remove_all [PR104161]

2022-01-26 Thread Dimitar Dimitrov
On Tue, Jan 25, 2022 at 09:09:51PM +, Jonathan Wakely via Gcc-patches wrote: > Tested x86_64-linux, pushed to trunk. Backports to follow. > > > This adds a new internal flag to the filesystem::directory_iterator > constructor that makes it fail if the path is a symlink that resolves to > a

Re: [PATCH] pru: Fixup flags for .pru_irq_map section

2021-12-08 Thread Dimitar Dimitrov
On Fri, Dec 03, 2021 at 11:33:48PM +0200, Dimitar Dimitrov wrote: > I intend to merge this patch next week, unless I hear objections. I > consider it a bug fix which fits the Stage 3 criteria. It fixes the > RPMSG firmware examples in the latest version 6.0 of TI's PRU Software

[PATCH] pru: Fixup flags for .pru_irq_map section

2021-12-03 Thread Dimitar Dimitrov
=44b357eb9aefc77a8385e631d8e3035a664f2333 gcc/ChangeLog: * config/pru/pru.c (pru_section_type_flags): New function. (TARGET_SECTION_TYPE_FLAGS): Wire it. gcc/testsuite/ChangeLog: * gcc.target/pru/pru_irq_map.c: New test. Signed-off-by: Dimitar Dimitrov --- gcc/config/pru

[committed] wwwdocs: gcc-12/changes.html (PRU): Document __regio_symbol

2021-10-07 Thread Dimitar Dimitrov
Document the new __regio_symbol variable qualifier for PRU target. Pushed. Signed-off-by: Dimitar Dimitrov --- htdocs/gcc-12/changes.html | 9 + 1 file changed, 9 insertions(+) diff --git a/htdocs/gcc-12/changes.html b/htdocs/gcc-12/changes.html index 4f7bbd33..22839f2d 100644

[COMMITTED][PATCH v2] pru: Named address space for R30/R31 I/O access

2021-09-25 Thread Dimitar Dimitrov
.c: New negative test. * gcc.target/pru/regio-di.c: New negative test. * gcc.target/pru/regio-hi.c: New negative test. * gcc.target/pru/regio-qi.c: New negative test. * gcc.target/pru/regio.c: New test. * gcc.target/pru/regio.h: New helper header. Signed

Re: [PATCH][RFC] pru: Named address space for R30/R31 I/O access

2021-09-15 Thread Dimitar Dimitrov
On Wed, Sep 15, 2021 at 11:12:18AM +0200, Richard Biener wrote: > On Tue, Sep 14, 2021 at 11:13 PM Dimitar Dimitrov wrote: > > > > Hi, > > > > I'm sending this patch to get feedback for a new PRU CPU port feature. > > My intention is to push it to master by

[PATCH][RFC] pru: Named address space for R30/R31 I/O access

2021-09-14 Thread Dimitar Dimitrov
der. Signed-off-by: Dimitar Dimitrov --- gcc/config/pru/constraints.md | 5 + gcc/config/pru/predicates.md | 19 +++ gcc/config/pru/pru-pragma.c | 2 + gcc/config/pru/pru-protos.h | 3 + gcc/config/pru/pru.c

Re: disable -Warray-bounds in libgo (PR 101374)

2021-07-13 Thread Dimitar Dimitrov
On Fri, Jul 09, 2021 at 08:16:24AM +0200, Richard Biener via Gcc-patches wrote: > On Thu, Jul 8, 2021 at 8:02 PM Martin Sebor via Gcc-patches > wrote: > > > > Hi Ian, > > > > Yesterday's enhancement to -Warray-bounds has exposed a couple of > > issues in libgo where the code writes into an

[committed] [PATCH v2] doc/lto.texi: List slim object format as the default

2021-06-23 Thread Dimitar Dimitrov
On Mon, Jun 21, 2021 at 08:09:20AM +0200, Richard Biener wrote: > On Sun, 20 Jun 2021, Dimitar Dimitrov wrote: > > > Slim LTO object files have been the default for quite a while, since: > > commit e9f67e625c2a4225a7169d7220dcb85b6fdd7ca9 > > Author: Jan Hubicka

[PATCH] doc/lto.texi: List slim object format as the default

2021-06-20 Thread Dimitar Dimitrov
(Design Overview): Update that slim objects are the default. Signed-off-by: Dimitar Dimitrov --- gcc/doc/lto.texi | 23 ++- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/gcc/doc/lto.texi b/gcc/doc/lto.texi index 1f55216328a..755258ccb2b 100644 --- a/gcc/doc

[committed] wwwdocs: readings: Add PRU documents reference

2021-06-14 Thread Dimitar Dimitrov
On Mon, Jun 14, 2021 at 09:56:12AM +0200, Gerald Pfeifer wrote: > On Sun, 13 Jun 2021, Dimitar Dimitrov wrote: > >> TI's server has been telling us that "The PRU-ICSS wiki is in the > >> process of being migrated to software-dl.ti.com" for five months. > >&

Re: [committed] wwwdocs: readings: Remove PRU-ICSS documentation reference

2021-06-13 Thread Dimitar Dimitrov
On Mon, May 31, 2021 at 12:20:21AM +0200, Gerald Pfeifer wrote: > TI's server has been telling us that "The PRU-ICSS wiki is in the > process of being migrated to software-dl.ti.com" for five months. > Time to pull the plug. > --- > htdocs/readings.html | 1 - > 1 file changed, 1 deletion(-) > >

[PATCH] wwwdocs: readings: Add PRU documents

2021-06-02 Thread Dimitar Dimitrov
With TI official wiki gone, let's put stable links to their proprietary toolchain documents, which happen to describe ABI and instruction set. Signed-off-by: Dimitar Dimitrov --- htdocs/readings.html | 2 ++ 1 file changed, 2 insertions(+) diff --git a/htdocs/readings.html b/htdocs

[committed] libgcc: pru: Place mpyll into its own section

2021-05-13 Thread Dimitar Dimitrov
Pushed as obvious. This should help LD's --gc-sections feature to reduce final ELF size. libgcc/ChangeLog: * config/pru/mpyll.S (__pruabi_mpyll): Place into own section. Signed-off-by: Dimitar Dimitrov --- libgcc/config/pru/mpyll.S | 2 ++ 1 file changed, 2 insertions(+) diff --git

[committed] MAINTAINERS: Add myself as pru port maintainer

2021-03-26 Thread Dimitar Dimitrov
de Vries or1k port Stafford Horne pdp11 port Paul Koning powerpcspe portAndrew Jenner +pru port Dimitar Dimitrov riscv port Kito Cheng riscv port

Re: Dimitar Dimitrov as TI PRU maintainer

2021-03-26 Thread Dimitar Dimitrov
On петък, 26 март 2021 г. 18:29:23 EET Jeff Law wrote: > I am pleased to announce that the GCC Steering Committee has appointed > Dimitar Dimitrov as maintainer of the TI PRU port in GCC. > > > Dimitar, please update your listing in the MAINTAINERS file. Sorry it's > tak

Re: Dimitar Dimitrov as TI PRU maintainer

2021-03-26 Thread Dimitar Dimitrov
On петък, 26 март 2021 г. 18:29:23 EET Jeff Law wrote: > I am pleased to announce that the GCC Steering Committee has appointed > Dimitar Dimitrov as maintainer of the TI PRU port in GCC. > > > Dimitar, please update your listing in the MAINTAINERS file. Sorry it's > tak

Re: [RFC] [avr] Toolchain Integration for Testsuite Execution (avr cc0 to mode_cc0 conversion)

2020-12-16 Thread Dimitar Dimitrov
On понеделник, 14 декември 2020 г. 20:53:36 EET Dimitar Dimitrov wrote: > On петък, 11 декември 2020 г. 19:00:35 EET abebeos wrote: > > After "digesting" a bit more your review, I need to thank you for opening > > my eyes re "cherrypick" suggestion and... th

Re: [RFC] [avr] Toolchain Integration for Testsuite Execution (avr cc0 to mode_cc0 conversion)

2020-12-14 Thread Dimitar Dimitrov
On четвъртък, 10 декември 2020 г. 10:24:50 EET Richard Biener wrote: > On Thu, Dec 10, 2020 at 6:42 AM Dimitar Dimitrov wrote: > > On сряда, 9 декември 2020 г. 15:12:49 EET abebeos via Gcc-patches wrote: > > > Essence: > > > > > > I need a confirmation t

  1   2   3   >