diff options
| author | David Faust <david.faust@oracle.com> | 2025-11-06 14:24:14 -0800 |
|---|---|---|
| committer | David Faust <david.faust@oracle.com> | 2025-11-07 10:34:39 -0800 |
| commit | d14d24b26126ec9c6c8ba5b2e573ed8e26347e6b (patch) | |
| tree | aa2f335356cd790d0dacafe4ce7f4e358c7c9eed /libjava/java/security/Engine.java | |
| parent | bc10ba9c33bb0cef335e8e0072e638fd4d404337 (diff) | |
| download | gcc-d14d24b26126ec9c6c8ba5b2e573ed8e26347e6b.zip gcc-d14d24b26126ec9c6c8ba5b2e573ed8e26347e6b.tar.gz gcc-d14d24b26126ec9c6c8ba5b2e573ed8e26347e6b.tar.bz2 | |
bpf: improve memmove inlining [PR122140]
The BPF backend inline memmove expansion was broken for certain
constructs. This patch addresses the two underlying issues:
1. Off-by-one in the "backwards" unrolled move loop offset.
2. Poor use of temporary register for the generated move loop, which
could result in some of the loads performing the move to be optimized
away when the source and destination of the memmove are based off of
the same pointer.
gcc/
PR target/122140
* config/bpf/bpf.cc (bpf_expand_cpymem): Fix off-by-one offset
in backwards loop. Improve src and dest addrs used for the
branch condition.
(emit_move_loop): Improve emitted set insns and remove the
explict temporary register.
Diffstat (limited to 'libjava/java/security/Engine.java')
0 files changed, 0 insertions, 0 deletions
