LLVM Critical Edge Pass

LLVM pass to gather all inter-procedural "critical edge", which defined
in (Execution Synthesis: A Technique for Automated Software Debugging)