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 ®istry = *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...