@mchalupa, hi!. I'm working on reducing two semantically equivalent IRs, which share similar syntatical structure. Now I want to slice based those different instructions, and cut off anything irrelevant to them. For example:
int foo(int a, int* b) {
int ret = other_func(a);
*b = 666;
ret += 1;
return ret;
}
I slice it based on other_func(ret1), and want store of b to be sliced:
int foo(int a, int* b) {
int ret = other_func(a);
ret += 1;
return ret;
}
But actually we only get a single other_func(a):
int foo(int a, int* b) {
other_func(a);
return undef;
}
So it's there any way to realize it ?
Apart from this, it's there any easy way to hack dg so that any type of instructions (not only call-sites/ret) can be the slicing criterions?