Displaying 8 results from an estimated 8 matches for "passregister".
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 initializePollyP...
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 "initial...
2011 Nov 08
0
[LLVMdev] loadable passes with dependencies?
On 11/08/2011 03:20 AM, ret val wrote:
> I'm writing 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
2011 Nov 08
2
[LLVMdev] loadable passes with dependencies?
... 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:
&...
2011 Nov 08
2
[LLVMdev] loadable passes with dependencies?
I'm writing 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
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
...ke_pair(PI.getTypeInfo(),&PI)).second;
@@ -115,24 +116,22 @@ void PassRegistry::registerPass(const PassInfo &PI, bool ShouldFree) {
for (std::vector<PassRegistrationListener*>::iterator
I = Impl->Listeners.begin(), E = Impl->Listeners.end(); I != E; ++I)
(*I)->passRegistered(&PI);
-
+
if (ShouldFree) Impl->ToFree.push_back(&PI);
}
void PassRegistry::unregisterPass(const PassInfo &PI) {
- sys::SmartScopedLock<true> Guard(*Lock);
PassRegistryImpl *Impl = static_cast<PassRegistryImpl*>(getImpl());
- PassRegistryImpl::MapType::ite...