steakhal wrote: I think `annotate` is the right way. That's right. I was looking at the implementation and this looks really expensive. Probing the array each byte, creating a new State just to then throw it away. It also scales with the size of the array we are probing (albeit capped). I think what we should do instead is use the `iterBindings` and enumerate the probably much fewer bindings we have to that array. Then check if any of those direct bindings is zero.
It's an open question how to handle default bindings though. (for instance, when the array was zeroed using `memset`) Because that would be represented by binding a default zero to the whole array - but I'll let you explore this direction. This way no more work is done than necessary. PS: Sorry for my late (very late) reply. I only got to this now. https://github.com/llvm/llvm-project/pull/188128 _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
