search for: libraryinfo

Displaying 10 results from an estimated 10 matches for "libraryinfo".

2016 Feb 19
3
target triple in 3.8
...ded 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"...
2020 Apr 04
2
Running opt O1 outside of llvm
Hi, I would like to run the -O1 pass sequence followed by -reg2mem from an out of tree project which uses llvm. I am using the following code snippet to do so but in some cases, my method is also vectorising the code, which doesn't happen when running the same sequence(-S -O1 -reg2mem) through opt. Can someone please help me find what I am missing? Thanks, Akash. *
2013 Jul 28
0
[LLVMdev] IR Passes and TargetTransformInfo: Straw Man
...pulatePreIPOPassMgr(PassManagerBase &MPM) { + // If all optimizations are disabled, just run the always-inline pass. + if (OptLevel == 0) { + if (Inliner) { + MPM.add(Inliner); + Inliner = 0; + } + return; + } + + bool EnableLightWeightIPO = (OptLevel > 1); + + // Add LibraryInfo if we have some. + if (LibraryInfo) MPM.add(new TargetLibraryInfo(*LibraryInfo)); + addInitialAliasAnalysisPasses(MPM); + + // Start of CallGraph SCC passes. + { + if (EnableLightWeightIPO) { + MPM.add(createPruneEHPass()); // Remove dead EH info + if (Inliner) { +...
2013 Jul 18
3
[LLVMdev] IR Passes and TargetTransformInfo: Straw Man
Andy and I briefly discussed this the other day, we have not yet got chance to list a detailed pass order for the pre- and post- IPO scalar optimizations. This is wish-list in our mind: pre-IPO: based on the ordering he propose, get rid of the inlining (or just inline tiny func), get rid of all loop xforms... post-IPO: get rid of inlining, or maybe we still need it, only
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 IR for AVX. Now, with 3.8 that didn't compile. What I do instead is just setting the datalayout to the Module (got...
2016 Jun 07
4
llvm intrinsics/libc/libm question
...nsic, ...) "__xx_acos()" when it sees it. It sounds like you also want to recognize and optimize these calls. That involves (pre-CodeGen) IR-level optimizations. No, I don't think that's supported today without changing LLVM (see the list in my first email). > 3) change TargetLibraryInfo for functions that aren't covered in solutions 1 > and 2 (so that they can also be optimized) > > I must be missing something, I'm just not sure what it is. > > Thanks, > > Ryan > > > On Tue, Jun 7, 2016 at 4:45 PM, Ryan Taylor <ryta1203 at gmail.com> wro...
2013 Mar 21
2
[LLVMdev] Changing the LLVM C API to remove a pass
Hi, I have finished migrating all of the simplify-libcalls pass functionality into instcombine and functionattrs. Now I am ready to completely to remove what is left of the pass from the source tree. However, there are a few C API functions for creating and managing the pass: /** See llvm::PassManagerBuilder::DisableSimplifyLibCalls */ void
2013 Mar 21
0
[LLVMdev] Changing the LLVM C API to remove a pass
Hi Meador, > I have finished migrating all of the simplify-libcalls pass > functionality into instcombine > and functionattrs. Now I am ready to completely to remove what is > left of the pass from > the source tree. However, there are a few C API functions for > creating and managing > the pass: > > /** See llvm::PassManagerBuilder::DisableSimplifyLibCalls */
2016 Jun 14
2
llvm intrinsics/libc/libm question
...ryta1203 at gmail.com> >> wrote: >> >> > Correct, it does check based on OS and triple, what I meant was that >> it >> >> > might be better to have this info in the target specific files and >> have >> >> > the >> >> > LibraryInfo do a look up of that (like most other sections of the >> core >> >> > code >> >> > do, ie have the tablegen or ISelLowering specify the libs etc..) >> >> >> >> I agree it's not the best place, but one difference is that >> >&g...
2018 Sep 12
2
How to make LLVM go faster?
...LoadPRE = is_debug; PMBuilder->VerifyInput = assertions_on; PMBuilder->VerifyOutput = assertions_on; PMBuilder->MergeFunctions = !is_debug; PMBuilder->PrepareForLTO = false; PMBuilder->PrepareForThinLTO = false; PMBuilder->PerformThinLTO = false; TargetLibraryInfoImpl tlii(Triple(module->getTargetTriple())); PMBuilder->LibraryInfo = &tlii; if (is_debug) { PMBuilder->Inliner = createAlwaysInlinerLegacyPass(false); } else { target_machine->adjustPassManager(*PMBuilder); PMBuilder->addExtension(PassManage...