Sometimes the return value of a comparison operator call is UnkownVal. Since no assumptions can be made on UnknownVal, this leeds to keeping impossible execution paths in the exploded graph resulting in poor performance and false positives. To overcome this we replace unknown results of iterator comparisons by conjured symbols.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Comment Actions
That's a fair point, these days we always have to account for unknown values.
I'm still curious (for science!) about how exactly it came to be in the tests.