search for: initializescalaropts

Displaying 14 results from an estimated 14 matches for "initializescalaropts".

2016 Feb 19
3
target triple in 3.8
I added your suggestion and am using this now llvm::legacy::FunctionPassManager *functionPassManager = new llvm::legacy::FunctionPassManager(Mod); llvm::PassRegistry &registry = *llvm::PassRegistry::getPassRegistry(); initializeScalarOpts(registry); functionPassManager->add( new llvm::TargetLibraryInfoWrapperPass(llvm::TargetLibraryInfoImpl(targetMachine->getTargetTriple())) ); still, LV: The Widest register is: 32 bits. so, unfortunately no change. If I dump the Module, it starts with: ; ModuleID = 'module'...
2011 Dec 06
0
[LLVMdev] Assertion `PI && "Expected required passes to be initialized"' failed for AliasAnalysis.
...VMCore/PassManager.cpp:635: void llvm::PMTopLevelManager::schedulePass(llvm::Pass*): Assertion `PI && "Expected required passes to be initialized"' failed. The solution was to add: PassRegistry &Registry = *PassRegistry::getPassRegistry(); initializeCore(Registry); initializeScalarOpts(Registry); initializeIPO(Registry); initializeAnalysis(Registry); initializeIPA(Registry); initializeTransformUtils(Registry); initializeInstCombine(Registry); initializeInstrumentation(Registry); initializeTarget(Registry); before creating passes. Maybe it could help you to track do...
2010 Oct 08
2
[LLVMdev] MAJOR API CHANGE: Pass initialization without static constructors
...Passes.h, and add a call of it to the library's batch initialization method. >> These initialization routines must be invoked before the PassManager will be able to resolve pipelines involving your pass. For convenience, LLVM now exposes per-library batch initialization routines, i.e. initializeScalarOpts(), which initialize all the passes within a given library in a single go. > > From an ease of programming perspective, this solution is not ideal as what we had before. Each time I link in a new library into my program, I have to go find the method that initializes all of the passes and rem...
2010 Oct 11
0
[LLVMdev] MAJOR API CHANGE: Pass initialization without static constructors
John, On Oct 8, 2010, at 1:05 PM, John Criswell wrote: >> These initialization routines must be invoked before the PassManager will be able to resolve pipelines involving your pass. For convenience, LLVM now exposes per-library batch initialization routines, i.e. initializeScalarOpts(), which initialize all the passes within a given library in a single go. > > From an ease of programming perspective, this solution is not ideal as what we had before. Each time I link in a new library into my program, I have to go find the method that initializes all of the passes and rem...
2010 Oct 08
1
[LLVMdev] MAJOR API CHANGE: Pass initialization without static constructors
...times. The new-style solution consists of an llvm::initializeMyPass method for every pass. These initialization routines must be invoked before the PassManager will be able to resolve pipelines involving your pass. For convenience, LLVM now exposes per-library batch initialization routines, i.e. initializeScalarOpts(), which initialize all the passes within a given library in a single go. * WHAT THIS MEANS FOR LLVM USERS Users of LLVM will need to add explicit calls to the initialization routines to their programs. The trivial solution is to perform initialization at the beginning of main(), and to call t...
2011 Dec 06
2
[LLVMdev] Assertion `PI && "Expected required passes to be initialized"' failed for AliasAnalysis.
Dear lazydev, I'm writing an instrumentation pass that depends on AliasAnalysis. My getAnalysisUsage() looks as follows: 2453 void ThreadSanitizer::getAnalysisUsage(AnalysisUsage &AU) const { 2454 AU.addRequired<TargetData>(); 2455 AU.addRequired<AliasAnalysis>(); 2456 } and the pass initialization: 2668 char ThreadSanitizer::ID = 0; 2669
2010 Oct 08
0
[LLVMdev] Fwd: Re: MAJOR API CHANGE: Pass initialization without static constructors
...f our passes supposed to do? Is there a default implementation in the Pass class? > These initialization routines must be invoked before the PassManager will be able to resolve pipelines involving your pass. For convenience, LLVM now exposes per-library batch initialization routines, i.e. initializeScalarOpts(), which initialize all the passes within a given library in a single go. From an ease of programming perspective, this solution is not ideal as what we had before. Each time I link in a new library into my program, I have to go find the method that initializes all of the passes and remember to...
2010 Oct 08
0
[LLVMdev] MAJOR API CHANGE: Pass initialization without static constructors
...thout modifying the LLVM source. >>> These initialization routines must be invoked before the >>> PassManager will be able to resolve pipelines involving your pass. >>> For convenience, LLVM now exposes per-library batch initialization >>> routines, i.e. initializeScalarOpts(), which initialize all the >>> passes within a given library in a single go. >> >> From an ease of programming perspective, this solution is not ideal >> as what we had before. Each time I link in a new library into my >> program, I have to go find the method t...
2013 May 10
0
[LLVMdev] Simple Loop Vectorize Question
Hi Josh, This line works for me: opt file.ll -loop-vectorize -S -o - -mtriple=x86_64 -mcpu=corei7-avx -debug You need to specify the triple on the command line if it is not inside the module. Thanks, Nadav On May 9, 2013, at 5:53 PM, Joshua Klontz <josh.klontz at gmail.com> wrote: > Nadav, > > Please forgive my ignorance, but 'opt -mcpu=corei7 -loop-vectorize -S
2016 Feb 19
2
target triple in 3.8
I have some trouble making the SIMD vector length visible to the passes. My application is basically on the level of 'opt'. What I did in version 3.6 was functionPassManager->add(new llvm::TargetLibraryInfo(llvm::Triple(Mod->getTargetTriple()))); functionPassManager->add(new llvm::DataLayoutPass()); and then the -basicaa and -loop-vectorizer were able to vectorize the input
2013 May 10
2
[LLVMdev] Simple Loop Vectorize Question
Nadav, Please forgive my ignorance, but 'opt -mcpu=corei7 -loop-vectorize -S -debug double.ll' doesn't appear to make a difference. In fact it seems to be ignored as garbage values for -mcpu don't raise an error. Am I overlooking something else also? Many Thanks, Josh On Thu, May 9, 2013 at 6:06 PM, Nadav Rotem <nrotem at apple.com> wrote: > Hi Josh, > > Your
2012 Nov 19
0
[LLVMdev] Making VMKit2
...55 5  vmjc            0x000000000059d038 6  vmjc            0x0000000000e600ec llvm::PassRegistry::registerPass(llvm::PassInfo const&, bool) + 572 7  vmjc            0x0000000000aa1140 llvm::initializeBlockPlacementPass(llvm::PassRegistry&) + 144 8  vmjc            0x0000000000b35164 llvm::initializeScalarOpts(llvm::PassRegistry&) + 20 9  vmjc            0x000000000059b419 vmkit::VmkitModule::initialise(int, char**) + 57 10 vmjc            0x0000000000511160 main + 96 11 libc.so.6       0x00002b9a7436b30d __libc_start_main + 237 12 vmjc            0x000000000051103d Segmentation fault make[2]: *** [a...
2012 Nov 16
3
[LLVMdev] Making VMKit2
Hi, I’m trying to make VMKit & J3 on Ubuntu. I have followed the instructions at http://vmkit2.gforge.inria.fr/start.php. But after configuring vmkit2, when I’m making it using make ENABLE_OPTIMIZED=1, I receive the following: 1)      With this configuration: ela at ela-VirtualBox:~/Desktop/vmkit2$ ./configure --with-llvmsrc=/home/ela/Desktop/llvm/ --with-llvmobj=/home/ela/Desktop/llvm/
2011 Apr 05
3
[LLVMdev] Building LLVM on Solaris/Sparc
...tpondich/ParallelAssert/llvm-objects/tools/opt/Debug+Asserts/opt.o llvm::createDomViewerPass() /n/fs/scratch/tpondich/ParallelAssert/llvm-objects/tools/opt/Debug+Asserts/opt.o llvm::createStructRetPromotionPass() /n/fs/scratch/tpondich/ParallelAssert/llvm-objects/tools/opt/Debug+Asserts/opt.o llvm::initializeScalarOpts(llvm::PassRegistry&) /n/fs/scratch/tpondich/ParallelAssert/llvm-objects/tools/opt/Debug+Asserts/opt.o llvm::SmallVectorBase::grow_pod(unsigned int, unsigned int)/n/fs/scratch/tpondich/ParallelAssert/llvm-objects/tools/opt/Debug+Asserts/opt.o llvm::createLoopRotatePass() /n/fs/scratch/tpondich...