Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:Ledest:erlang:24
erlang
5211-Don-t-break-bs_match-sequences-by-mixing-r...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 5211-Don-t-break-bs_match-sequences-by-mixing-registers-a.patch of Package erlang
From 7d01f8a48fb5fd404469197c1b99509d7fb934a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Gustavsson?= <bjorn@erlang.org> Date: Mon, 30 Jan 2023 13:37:57 +0100 Subject: [PATCH] Don't break bs_match sequences by mixing registers (again) See #6623 for a fix to a similar bug reported in #6613. Closes #6755 --- lib/compiler/src/beam_ssa_codegen.erl | 3 ++- lib/compiler/test/bs_match_SUITE.erl | 14 ++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/lib/compiler/src/beam_ssa_codegen.erl b/lib/compiler/src/beam_ssa_codegen.erl index 64f9363085..c5ae273711 100644 --- a/lib/compiler/src/beam_ssa_codegen.erl +++ b/lib/compiler/src/beam_ssa_codegen.erl @@ -489,7 +489,8 @@ prefer_xregs_is([#cg_set{op=Op}=I|Is], St, Copies0, Acc) when Op =:= bs_checked_get; Op =:= bs_checked_skip; Op =:= bs_checked_get_tail; - Op =:= bs_ensure -> + Op =:= bs_ensure; + Op =:= bs_match_string -> Copies = prefer_xregs_prune(I, Copies0, St), prefer_xregs_is(Is, St, Copies, [I|Acc]); prefer_xregs_is([#cg_set{args=Args0}=I0|Is], St, Copies0, Acc) -> -- 2.35.3
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor