[llvm-dev] how to add createLowerSwitchPass to PassManager object?
Zhang via llvm-dev
llvm-dev at lists.llvm.org
Fri Nov 12 17:09:51 PST 2021
Hi:
As the message suggests, you'll need a PM for it.
Something like the following would do:
```
legacy::FunctionPassManager FPM(&M);;
FPM.add(createLowerSwitchPass());
FPM.run(Func)
```
Zhang
------------------ Original ------------------
From: "llvm-dev"<llvm-dev at lists.llvm.org>;
Date: Sat, Nov 13, 2021 02:54 AM
To: "llvm-dev"<llvm-dev at lists.llvm.org>;
Subject: [llvm-dev] how to add createLowerSwitchPass to PassManager object?
My pass crashes on the callsite of runOnFunction() as it calls GetAnalysis to LazyValue internally.
FunctionPass* lower = createLowerSwitchPass();
lower->runOnFunction(F);
The crash log says: Assertion failed: (Resolver && "Pass has not been inserted into a PassManager object!")
How do I get the PassManager object to add LowerSwitchPass? I can't happen to find the object anywhere. Can the legacy pass manager run lower passes in llvm14? Alternatively, is there another method I can use to create LowerSwitchPass with the new PassManager?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20211113/5fe16863/attachment.html>
More information about the llvm-dev
mailing list