Displaying 8 results from an estimated 8 matches for "passregist".
Did you mean:
passregistry
2011 Nov 08
2
[LLVMdev] loadable passes with dependencies?
...Passes(const llvm::PassManagerBuilder &Builder,
llvm::PassManagerBase &PM) {
PM.add(llvm::createPromoteMemoryToRegisterPass());
// create my own createHelloPass() method?
}
static llvm::RegisterStandardPasses
PassRegister(llvm::PassManagerBuilder::EP_EarlyAsPossible,
registerPollyPasses);
I'm not sure how to code a possible createHelloPass, as the
constructor for my class takes a argument(ID for ModulePass).
Thanks
On Tue, Nov 8, 2011 at 4:10 AM, Tobias Grosser <tobias at grosser.es&...
2011 Nov 08
0
[LLVMdev] loadable passes with dependencies?
...amp;Builder,
> llvm::PassManagerBase&PM) {
> PM.add(llvm::createPromoteMemoryToRegisterPass());
> // create my own createHelloPass() method?
> }
>
> static llvm::RegisterStandardPasses
> PassRegister(llvm::PassManagerBuilder::EP_EarlyAsPossible,
> registerPollyPasses);
>
> I'm not sure how to code a possible createHelloPass, as the
> constructor for my class takes a argument(ID for ModulePass).
This is the code interesting to you:
66 void initializePoll...
2011 Nov 07
0
[LLVMdev] r139934 requires (correct?) code organization changes
...egistered!
UNREACHABLE executed at <root dir>/llvm/include/llvm/Support/PassNameParser.h:73!
Prior to patch r139934 (prior to the default platform's installed clang building clang
and llvm), this example works fine. From a llvm pass internals perspective this is
because PassNameParser::passRegistered(...) tries to add a new option containing
info for a pass; in this case the DominatorTree pass. The state of the system asserts
because a DominatorTree pass option has already been created. This is perplexing since
this means that the atomic compare and swap operation on static var "initi...
2011 Nov 08
0
[LLVMdev] loadable passes with dependencies?
...o remain loadable by opt. The
> pass also requires DominatorTree(for PromoteMemToReg).
>
> Looking for examples the only way I found to require a dependecny is
> by doing something like this:
> char Hello::ID = 0;
> namespace llvm { void initializeHelloPass(llvm::PassRegistry&); }
> INITIALIZE_PASS_BEGIN(Hello, "hello", "Hello World Pass", false, true)
> INITIALIZE_PASS_DEPENDENCY(DominatorTree)
> INITIALIZE_PASS_END(Hello, "hello", "Hello World Pass", false, true)
>
> Unfortunately...
2011 Nov 08
2
[LLVMdev] loadable passes with dependencies?
...t " "'required' by pass!"), function getAnalysisID
But I already have:
void getAnalysisUsage(AnalysisUsage &AU) const {
AU.addRequired<DominatorTree>();
}
And changed the bottom of my pass too:
char Hello::ID = 0;
namespace llvm { void initializeHelloPass(llvm::PassRegistry&); }
INITIALIZE_PASS_BEGIN(Hello, "hello", "Hello World Pass", false, true)
INITIALIZE_PASS_DEPENDENCY(DominatorTree)
INITIALIZE_PASS_END(Hello, "hello", "Hello World Pass", false, true)
class StaticInitializer {
public:
StaticInitializer() {
PassRe...
2011 Nov 08
2
[LLVMdev] loadable passes with dependencies?
...ting a Pass that I would like to remain loadable by opt. The
pass also requires DominatorTree(for PromoteMemToReg).
Looking for examples the only way I found to require a dependecny is
by doing something like this:
char Hello::ID = 0;
namespace llvm { void initializeHelloPass(llvm::PassRegistry&); }
INITIALIZE_PASS_BEGIN(Hello, "hello", "Hello World Pass", false, true)
INITIALIZE_PASS_DEPENDENCY(DominatorTree)
INITIALIZE_PASS_END(Hello, "hello", "Hello World Pass", false, true)
Unfortunately this gives me(when I try to...
2020 Jul 22
6
New pass manager for optimization pipeline status and questions
Hi all,
I wanted to give a quick update on the status of NPM for the IR
optimization pipeline and ask some questions.
In the past I believe there were thoughts that NPM was basically ready
because all of check-llvm and check-clang passed when
-DENABLE_EXPERIMENTAL_NEW_PASS_MANAGER=ON was specified. But that CMake
flag did not apply to opt and any tests running something like `opt
-foo-pass
2015 Feb 24
2
[LLVMdev] Removing contention in PassRegistry accesses to speed up compiles
Hi,
We use LLVM libraries to compile C++ code and noticed slow downs when
multiple threads of a process were compiling at once. *perf *indicated that
most of the CPU time was spent in a spin lock, which was being
locked/unlocked from llvm::PassRegistry::getPassInfo().
We read the relevant LLVM code and found out that PassRegistry is a
ManagedStatic and is shared among all threads in case of a multi-threaded
setup. This sharing requires locking in PassRegistry's method, which
becomes source of the contention. To get rid of the contention, w...