MCPcopy Create free account
hub / github.com/AliveToolkit/alive2 / syncSEdataWithSrc

Method syncSEdataWithSrc

ir/state.cpp:1490–1509  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1488}
1489
1490void State::syncSEdataWithSrc(State &src) {
1491 assert(glbvar_bids.empty());
1492 assert(src.isSource() && !isSource());
1493 glbvar_bids = src.glbvar_bids;
1494 for (auto &[gv_name, data] : glbvar_bids) {
1495 data.second = false;
1496 }
1497 fn_call_data = std::move(src.fn_call_data);
1498 inaccessiblemem_bids = std::move(src.inaccessiblemem_bids);
1499 memory.syncWithSrc(src.returnMemory());
1500
1501 src_state = &src;
1502 for (auto &[bb, srcs] : src.predecessor_data) {
1503 OrExpr path;
1504 for (auto &[src, data] : srcs) {
1505 path.add(data.path);
1506 }
1507 src_bb_paths[std::move(path)()].emplace_back(bb);
1508 }
1509}
1510
1511void State::mkAxioms(State &tgt) {
1512 assert(isSource() && !tgt.isSource());

Callers 1

execMethod · 0.80

Calls 4

isSourceMethod · 0.80
syncWithSrcMethod · 0.80
emptyMethod · 0.45
addMethod · 0.45

Tested by

no test coverage detected