fix fix noreturn fncall memory refinement
MODIFY
ir/state.cpp
ir/state.cpp
@@ -211,6 +211,7 @@ void State::addUB(AndExpr &&ubs) {
}
void State::addNoReturn() {
+ return_memory.add(memory, domain.path);
function_domain.add(domain());
return_undef_vars.insert(undef_vars.begin(), undef_vars.end());
return_undef_vars.insert(domain.undef_vars.begin(), domain.undef_vars.end());

ADD
tests/alive-tv/fncall-noreturn.srctgt.ll
+@stderr = global i8* null, align 8
+declare void @never_return()
+
+define void @src() {
+ %i = load i8*, i8** @stderr, align 8
+ call void @never_return() noreturn
+ unreachable
+}
+
+define void @tgt() {
+ call void @never_return() noreturn
+ unreachable
+}

fix #452: fix noreturn fncall memory refinement