[klee-dev] Question about adding an llvm pass to KLEE

Schemmel, Daniel d.schemmel at imperial.ac.uk
Fri Jul 22 22:42:48 BST 2022


Hi Biqian,

KLEE's passes are defined in `/lib/module/Passes.h`, with implementations in individual files in `/lib/module`, e.g., `/lib/module/IntrinsicCleaner.cpp` for `klee::IntrinsicCleanerPass`.

`llvm::createInstructionCombiningPass()` is part of LLVM, not KLEE, you can find it here: https://github.com/llvm/llvm-project/blob/75e33f71c2dae584b13a7d1186ae0a038ba98838/llvm/lib/Transforms/InstCombine/InstructionCombining.cpp#L4311-L4313

Best,
Daniel
________________________________
From: klee-dev-bounces at imperial.ac.uk <klee-dev-bounces at imperial.ac.uk> on behalf of Biqian Cheng <bchen158 at ucr.edu>
Sent: 15 July 2022 20:48
To: klee-dev <klee-dev at imperial.ac.uk>
Subject: [klee-dev] Question about adding an llvm pass to KLEE

Hi,

I'm working on adding an llvm pass to the KLEE source code on Optimize.cpp. Should I include my llvm pass in some directory in order to pass it into addPass()?

For example, addPass(Passes, createInstructionCombiningPass());

Before the createInstructionCombiningPass() is added, there should be some implementations of createInstructionCombiningPass somewhere in KLEE source code. In fact, there is no implementation for createInstructionCombiningPass(). What would be the reasons for this?

Thank you!
-------------- next part --------------
HTML attachment scrubbed and removed


More information about the klee-dev mailing list