The initialSeeds() for most IFDS/IDE problems were set on the first instruction of the EntryPoints functions. However, the LLVMBasedCFG (correctly) skips debug intrinsics by default which may prevent the IDESolver from computing edge values on entry-functions where the first instruction (that one where the seeds are set) is a debug instruction.
This PR fixes this issue and additionally provides some utilities that make it easier creating correct seeds.
The
initialSeeds()
for most IFDS/IDE problems were set on the first instruction of theEntryPoints
functions. However, theLLVMBasedCFG
(correctly) skips debug intrinsics by default which may prevent the IDESolver from computing edge values on entry-functions where the first instruction (that one where the seeds are set) is a debug instruction.This PR fixes this issue and additionally provides some utilities that make it easier creating correct seeds.