You're using a FunctionPassManager on the whole module? Don't think that's right.
-
-
Replying to @AndresFreundTec
agree it looks bad but: https://github.com/llvm/llvm-project/blob/release/10.x/llvm/tools/bugpoint/bugpoint.cpp#L122-L136 …
1 reply 0 retweets 1 like -
Replying to @johnregehr
Hm, odd. I recall having troubles when doing so. What happens if you just use a module pass manager?
2 replies 0 retweets 0 likes -
-
Replying to @johnregehr @AndresFreundTec
ah, now I remember, I had looked at this and got confused by the fact that this is the declaration: void populateModulePassManager(legacy::PassManagerBase &MPM); but an llvm::ModulePassManager doesn't derive from this. ugh.
1 reply 0 retweets 0 likes -
Replying to @johnregehr
I think that's just confused due to the legacy -> new pass manager move. PassManager in LegacyPassManager.h is the relevant class.
1 reply 0 retweets 0 likes -
Replying to @AndresFreundTec @johnregehr
This area of LLVM is so woefully underdocumented, despite being what lots of external projects are most going to be exposed to.
1 reply 0 retweets 0 likes -
Replying to @AndresFreundTec @johnregehr
Anyway, what works in my code is using an FPM filled with populateFunctionPassManager, and a PassManager (note no Module prefix) with populateModulePassManager.https://github.com/postgres/postgres/blob/master/src/backend/jit/llvm/llvmjit.c#L452 …
1 reply 0 retweets 0 likes -
Replying to @AndresFreundTec
aha, thanks a ton!! looks like this works, not sure why I got thrown onto a different track before trying this earlier
1 reply 0 retweets 1 like -
Replying to @johnregehr @AndresFreundTec
(looking more closely at your code. it's funny how often the C bindings are more clear than the C++.)
1 reply 0 retweets 0 likes
The emitted code is, sadly, not yet that good :(. Really gotta find time to finalize the patches that at least make it not utterly terrible. And yea, I usually first grep through the C bindings, and then jump to what they call when trying to figure out how something works...
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.