I have written a pass to compute the reaching definitions for variables using loads and stores. The class for this pass is named ReachingDef and the pass itself is registered as reaching-def. The compiled reaching-def.so file goes to llvm-home/Release/lib/. This pass is used by another function pass that is registered as iel and the class is named SIL. I have setup AnalysisUsage object of SIL by doing the below:
AU.addRequired<some other pass>();
When I load the pass iel, I get the following error:
opt -load …/…/…/Release/lib/iel.so
: CommandLine Error: Argument ‘inline-threshold’ defined more than once!
opt: CommandLine Error: Argument ‘inline-threshold’ defined more than once!
Error opening ‘…/…/…/Release/lib/iel.so’: …/…/…/Release/lib/iel.so: undefined symbol: _ZTI11ReachingDef
-load request ignored.
It looks like the ReachingDef pass is not being recognized. Please tell me how to fix this.