3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2026-02-18 06:34:22 +00:00

Replace user-defined swap with C++11 move semantics for covert move patterns (#8543)

This commit is contained in:
Copilot 2026-02-09 17:52:30 +00:00 committed by GitHub
parent feabb3ae2e
commit 921006f628
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 28 additions and 10 deletions

View file

@ -2134,7 +2134,7 @@ namespace polynomial {
m_m2pos.reset(m);
m_m2pos.set(m, i);
}
m_tmp_as.swap(new_as);
m_tmp_as = std::move(new_as);
}
// For each monomial m

View file

@ -249,7 +249,7 @@ namespace upolynomial {
void core_manager::neg(unsigned sz, numeral const * p, numeral_vector & buffer) {
neg_core(sz, p, m_basic_tmp);
buffer.swap(m_basic_tmp);
buffer = std::move(m_basic_tmp);
}
// buffer := p1 + p2
@ -274,7 +274,7 @@ namespace upolynomial {
void core_manager::add(unsigned sz1, numeral const * p1, unsigned sz2, numeral const * p2, numeral_vector & buffer) {
add_core(sz1, p1, sz2, p2, m_basic_tmp);
buffer.swap(m_basic_tmp);
buffer = std::move(m_basic_tmp);
}
// buffer := p1 - p2
@ -301,7 +301,7 @@ namespace upolynomial {
void core_manager::sub(unsigned sz1, numeral const * p1, unsigned sz2, numeral const * p2, numeral_vector & buffer) {
sub_core(sz1, p1, sz2, p2, m_basic_tmp);
buffer.swap(m_basic_tmp);
buffer = std::move(m_basic_tmp);
}
// buffer := p1 * p2
@ -342,7 +342,7 @@ namespace upolynomial {
void core_manager::mul(unsigned sz1, numeral const * p1, unsigned sz2, numeral const * p2, numeral_vector & buffer) {
mul_core(sz1, p1, sz2, p2, m_basic_tmp);
buffer.swap(m_basic_tmp);
buffer = std::move(m_basic_tmp);
}
// buffer := dp/dx
@ -800,7 +800,7 @@ namespace upolynomial {
TRACE(mgcd, tout << "found GCD\n";);
mul(candidate, c_g);
flip_sign_if_lm_neg(candidate);
candidate.swap(result);
result = std::move(candidate);
TRACE(mgcd, tout << "r: "; display_star(tout, result); tout << "\n";);
return;
}
@ -1007,7 +1007,7 @@ namespace upolynomial {
set(sz, p, result);
for (unsigned i = 1; i < k; ++i)
mul(m_pw_tmp.size(), m_pw_tmp.data(), sz, p, m_pw_tmp);
r.swap(result);
r = std::move(result);
#if 0
unsigned mask = 1;
numeral_vector & p2 = m_pw_tmp;