search for: targetlibraryinfowrapperpass

Displaying 20 results from an estimated 34 matches for "targetlibraryinfowrapperpass".

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' target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" Does this...
2018 Nov 27
2
ScalarEvolution class returns no valid loop exit count
...LIB.analyze(DT); for(auto&bb :*func){ Loop * L = LIB.getLoopFor(&bb); if(L != nullptr){ AssumptionCache AC = AssumptionCache(*bb.getParent()); Triple MT(llvm::sys::getDefaultTargetTriple()); TargetLibraryInfoImpl TLII(MT); TargetLibraryInfoWrapperPass TLI = TargetLibraryInfoWrapperPass(TLII); LoopInfo LI = LoopInfo(DT); LI.analyze(DT); *ScalarEvolution SE = ScalarEvolution(*func, TLI.getTLI(),AC, DT, LI);* BasicBlock * exitingblock = L->getUniqueExitBlock(); const SCEV * exitingcou...
2016 Mar 23
2
Help with pass manager
...ault) targetopts.FloatABIType = FloatABIForCalls; std::unique_ptr<tool_output_file> objoutstream = getOutputFileStream(module, srcname); if (!objoutstream) return 1; legacy::PassManager passmanager; TargetLibraryInfoImpl TLII(moduletriple); TargetLibraryInfoWrapperPass *tliwp = new TargetLibraryInfoWrapperPass(TLII); passmanager.add(tliwp); module->setDataLayout(tmachine->createDataLayout()); setFunctionAttributes(cpuname, ftrlist, *module); if (RelaxAll.getNumOccurrences() > 0 && FileType != TargetMach...
2016 Mar 24
2
Help with pass manager
...> std::unique_ptr<tool_output_file> objoutstream = getOutputFileStream(module, srcname); >> if (!objoutstream) return 1; >> >> legacy::PassManager passmanager; >> >> TargetLibraryInfoImpl TLII(moduletriple); >> >> TargetLibraryInfoWrapperPass *tliwp = new TargetLibraryInfoWrapperPass(TLII); >> >> passmanager.add(tliwp); >> >> module->setDataLayout(tmachine->createDataLayout()); >> >> setFunctionAttributes(cpuname, ftrlist, *module); >> >> if (Relax...
2016 Mar 24
0
Help with pass manager
...rCalls; > > > std::unique_ptr<tool_output_file> objoutstream = getOutputFileStream(module, srcname); > if (!objoutstream) return 1; > > legacy::PassManager passmanager; > > TargetLibraryInfoImpl TLII(moduletriple); > > TargetLibraryInfoWrapperPass *tliwp = new TargetLibraryInfoWrapperPass(TLII); > > passmanager.add(tliwp); > > module->setDataLayout(tmachine->createDataLayout()); > > setFunctionAttributes(cpuname, ftrlist, *module); > > if (RelaxAll.getNumOccurrences() > 0 &...
2016 Mar 24
2
Help with pass manager
...tream = getOutputFileStream(module, srcname); >>>> if (!objoutstream) return 1; >>>> >>>> legacy::PassManager passmanager; >>>> >>>> TargetLibraryInfoImpl TLII(moduletriple); >>>> >>>> TargetLibraryInfoWrapperPass *tliwp = new TargetLibraryInfoWrapperPass(TLII); >>>> >>>> passmanager.add(tliwp); >>>> >>>> module->setDataLayout(tmachine->createDataLayout()); >>>> >>>> setFunctionAttributes(cpuname, ftrlist...
2016 Mar 21
2
[Inliner] Loop info in the inliner
...quot; #include "llvm/ADT/Statistic.h" #include "llvm/Analysis/AliasAnalysis.h"@@ -58,6 +59,7 @@ Inliner::Inliner(char &ID, bool InsertLifetime) void Inliner::getAnalysisUsage(AnalysisUsage &AU) const { AU.addRequired<AssumptionCacheTracker>(); AU.addRequired<TargetLibraryInfoWrapperPass>();+ AU.addRequired<LoopInfoWrapperPass>(); getAAResultsAnalysisUsage(AU); CallGraphSCCPass::getAnalysisUsage(AU);} I get llvm_unreachable in `void PMDataManager::addLowerLevelRequiredPass(Pass *P, Pass *RequiredPass)' Thanks,-Aditya -------------- next part ----------...
2016 Mar 30
1
Help with pass manager
Passes all need to be initialized before they are added into a pass manager. Are you calling TargetLibraryInfoWrapperPass::initializePass anywhere? -Chris > On Mar 24, 2016, at 10:41 AM, Lorenzo Laneve via llvm-dev <llvm-dev at lists.llvm.org> wrote: > > The problems happens because PMTopLevelManager::findAnalysisPassInfo(AnalysisID AID) returns nullptr in PMTopLevelManager::addImmutablePass(Immutabl...
2016 Mar 24
0
Help with pass manager
...tool_output_file> objoutstream = getOutputFileStream(module, srcname); >>> if (!objoutstream) return 1; >>> >>> legacy::PassManager passmanager; >>> >>> TargetLibraryInfoImpl TLII(moduletriple); >>> >>> TargetLibraryInfoWrapperPass *tliwp = new TargetLibraryInfoWrapperPass(TLII); >>> >>> passmanager.add(tliwp); >>> >>> module->setDataLayout(tmachine->createDataLayout()); >>> >>> setFunctionAttributes(cpuname, ftrlist, *module); >>>...
2016 Mar 24
2
Help with pass manager
...t;>>> if (!objoutstream) return 1; >>>>>> >>>>>> legacy::PassManager passmanager; >>>>>> >>>>>> TargetLibraryInfoImpl TLII(moduletriple); >>>>>> >>>>>> TargetLibraryInfoWrapperPass *tliwp = new TargetLibraryInfoWrapperPass(TLII); >>>>>> >>>>>> passmanager.add(tliwp); >>>>>> >>>>>> module->setDataLayout(tmachine->createDataLayout()); >>>>>> >>>>&gt...
2016 Mar 24
2
Help with pass manager
...t;>>>>>>>>> legacy::PassManager passmanager; >>>>>>>>>> >>>>>>>>>> TargetLibraryInfoImpl TLII(moduletriple); >>>>>>>>>> >>>>>>>>>> TargetLibraryInfoWrapperPass *tliwp = new TargetLibraryInfoWrapperPass(TLII); >>>>>>>>>> >>>>>>>>>> passmanager.add(tliwp); >>>>>>>>>> >>>>>>>>>> module->setDataLayout(tmachine->create...
2016 Mar 24
0
Help with pass manager
...module, srcname); >>>>> if (!objoutstream) return 1; >>>>> >>>>> legacy::PassManager passmanager; >>>>> >>>>> TargetLibraryInfoImpl TLII(moduletriple); >>>>> >>>>> TargetLibraryInfoWrapperPass *tliwp = new TargetLibraryInfoWrapperPass(TLII); >>>>> >>>>> passmanager.add(tliwp); >>>>> >>>>> module->setDataLayout(tmachine->createDataLayout()); >>>>> >>>>> setFunctionAtt...
2016 Mar 24
2
Help with pass manager
...>>>>>>>> >>>>>>>> legacy::PassManager passmanager; >>>>>>>> >>>>>>>> TargetLibraryInfoImpl TLII(moduletriple); >>>>>>>> >>>>>>>> TargetLibraryInfoWrapperPass *tliwp = new TargetLibraryInfoWrapperPass(TLII); >>>>>>>> >>>>>>>> passmanager.add(tliwp); >>>>>>>> >>>>>>>> module->setDataLayout(tmachine->createDataLayout()); >>>>&...
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
2016 Mar 24
0
Help with pass manager
...objoutstream) return 1; >>>>>>> >>>>>>> legacy::PassManager passmanager; >>>>>>> >>>>>>> TargetLibraryInfoImpl TLII(moduletriple); >>>>>>> >>>>>>> TargetLibraryInfoWrapperPass *tliwp = new TargetLibraryInfoWrapperPass(TLII); >>>>>>> >>>>>>> passmanager.add(tliwp); >>>>>>> >>>>>>> module->setDataLayout(tmachine->createDataLayout()); >>>>>>>...
2016 Mar 24
0
Help with pass manager
...t;>>>>> legacy::PassManager passmanager; >>>>>>>>>>> >>>>>>>>>>> TargetLibraryInfoImpl TLII(moduletriple); >>>>>>>>>>> >>>>>>>>>>> TargetLibraryInfoWrapperPass *tliwp = new TargetLibraryInfoWrapperPass(TLII); >>>>>>>>>>> >>>>>>>>>>> passmanager.add(tliwp); >>>>>>>>>>> >>>>>>>>>>> module->setDataLayout(tma...
2016 Mar 24
0
Help with pass manager
...>>> >>>>>>>>> legacy::PassManager passmanager; >>>>>>>>> >>>>>>>>> TargetLibraryInfoImpl TLII(moduletriple); >>>>>>>>> >>>>>>>>> TargetLibraryInfoWrapperPass *tliwp = new TargetLibraryInfoWrapperPass(TLII); >>>>>>>>> >>>>>>>>> passmanager.add(tliwp); >>>>>>>>> >>>>>>>>> module->setDataLayout(tmachine->createDataLayout()); &...
2016 Mar 22
0
[Inliner] Loop info in the inliner
...Statistic.h" > #include "llvm/Analysis/AliasAnalysis.h" > @@ -58,6 +59,7 @@ Inliner::Inliner(char &ID, bool InsertLifetime) > void Inliner::getAnalysisUsage(AnalysisUsage &AU) const { > AU.addRequired<AssumptionCacheTracker>(); > AU.addRequired<TargetLibraryInfoWrapperPass>(); > + AU.addRequired<LoopInfoWrapperPass>(); > getAAResultsAnalysisUsage(AU); > CallGraphSCCPass::getAnalysisUsage(AU); > } > > I get llvm_unreachable in `void > PMDataManager::addLowerLevelRequiredPass(Pass *P, Pass *RequiredPass)' > > Thanks, >...
2020 Jun 03
2
Fwd: I cannot change value of global variable in LLVM IR using IRBuilder
...l("globalKey"); gVar->setLinkage(GlobalValue::InternalLinkage); gVar->setAlignment(Align(8)); gVar->setInitializer(Builder.getInt64(0)); gVar->setConstant(false); for (Function &F : M.functions()) { InstructionVisitor visitor(DL, getAnalysis<TargetLibraryInfoWrapperPass>().getTLI(F)); for (Instruction &I : instructions(F)) { visitor.visit(I); } } return true;} Later in InstructionVisitor I try to update it like that: IRBuilder<> Builder(I->getContext());Builder.SetInsertPoint(I->getNextNode()); GlobalVariabl...
2015 Jul 09
2
[LLVMdev] How to use get the memory location of a function argument correctly?
Hi all, i hope to get the MemoryLocation for argument %1 in a CallInst like "call void @function(i32* %1)", and i found an interface "getForArgument()" which seems available for this. However, i don't know how to correcly fill the 3rd argument TargetLibraryInfo in my own code and can't find an example in google. Does anybody know how to do it? Or some other advice for