GaloisInc / cclyzerpp

cclyzer++ is a precise and scalable pointer analysis for LLVM code.
https://galoisinc.github.io/cclyzerpp/
BSD 3-Clause "New" or "Revised" License
134 stars 15 forks source link

datalog: Don't instantiate C++ components #83

Closed langston-barrett closed 1 year ago

langston-barrett commented 1 year ago

There are some C++-related components/relations like ThrowInstruction that don't meaningfully contribute to the core pointer analysis relations. To speed up the analysis, we should not instantiate them in the analysis. However, we can instantiate them in debug builds to keep them from bitrotting.

https://github.com/GaloisInc/cclyzerpp/blob/14063ef3a9c8af8d8c9fb41b0c2c6b79d327d1e3/datalog/points-to/cplusplus-exceptions.dl#L160