I am building a static analysis tool which gets LLVM IR as input. I want to know which Basic blocks in the IR map to an unsafe scope in the source program.
AFAICT this information is not present in LLVM IR and doesn't seem to be present in MIR also. I am looking for
- Is there a known method to retain this information in LLVM IR?
- If nothing exists, how might I might go about mapping an unsafe code block/function to it equivalent LLVM IR?