necto wrote:
> This sounds plausible and also very disappointing. We do all of that
> complicated work just to throw it away. So much waste. Is there a way to make
> it work? I recall, some of the simplify* fns should return SVal. That can
> represent concrete ints - the outcome of the perfect constrained symbols. --
> I just looked it up and `SimpleSValBuilder::simplifySVal` for example,
> returns SVals, just like `simplifyUntilFixpoint`. So what API do you refer to
> exactly? What is the flow for dropping this concrete value?
I refer to
```C++
SymbolRef simplify(ProgramStateRef State, SymbolRef Sym) {
SVal SimplifiedVal = simplifyToSVal(State, Sym);
if (SymbolRef SimplifiedSym = SimplifiedVal.getAsSymbol())
return SimplifiedSym;
return Sym;
}
```
in RangedConstraintManager.cpp
It wraps `simplifyToSVal` that does not discard concrete values. I'll try to
use `simplifyToSVal` in the 3 places `simplify` is used in and handle concrete
values there
https://github.com/llvm/llvm-project/pull/210912
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits