Displaying 20 results from an estimated 1000 matches similar to: "[LLVMdev] Custom AA implementation is not used"
2013 May 03
0
[LLVMdev] Custom AA implementation is not used
Julian Oppermann wrote:
> Hello LLVM devs,
>
> I'm trying to write my own alias analysis that only contributes
> information to the getModRefBehavior query, and should be in its own
> library loadable by opt.
>
> However, even though my pass is run (and executed immediately before the
> client pass that is calling AA.doesNotAccessMemory(F)), the queries
> never reach
2012 Sep 10
0
[LLVMdev] About writing an alias analysis pass for LLVM 3.1
Hi,
Does your pass use multiple inheritance? Sounds like your problem is
that you need to define getAdjustedAnalysisPointer, see:
http://llvm.org/docs/doxygen/html/classllvm_1_1Pass.html#a03d3a81b1c46aff7c38ef3a6750ba225
An example implementation (very likely exactly what you want) is in
LibCallAliasAnalysis:
http://llvm.org/docs/doxygen/html/LibCallAliasAnalysis_8h_source.html#l00060
Hope
2012 Sep 10
2
[LLVMdev] About writing an alias analysis pass for LLVM 3.1
Hi,
I am now trying to write an alias analysis pass for LLVM 3.1. The pass
is compiled into a .so library. When I loaded it into opt to perform
evaluation with command:
opt -load my-so-lib -aa-eval foo.bc
the following errors occurred:
opt: raw_ostream.cpp:261: void llvm::raw_ostream::flush_nonempty():
Assertion `OutBufCur > OutBufStart && "Invalid call to
2015 Dec 03
3
Function attributes for LibFunc and its impact on GlobalsAA
----- Original Message -----
> From: "James Molloy via llvm-dev" <llvm-dev at lists.llvm.org>
> To: "Vaivaswatha Nagaraj" <vn at compilertree.com>
> Cc: "LLVM Dev" <llvm-dev at lists.llvm.org>
> Sent: Thursday, December 3, 2015 4:41:46 AM
> Subject: Re: [llvm-dev] Function attributes for LibFunc and its impact on GlobalsAA
>
>
2009 Nov 06
1
[LLVMdev] Functions: sret and readnone
Hi Stephan,
>> In order to perform this transform the optimizers would have to work out
>> that sample does not modify any global state. This cannot be done without
>> knowing the definition of sample, but you only provide a declaration.
>
> Which is why I am trying to supply this additional information in a
> custom alias analysis pass, but it doesn't seem to
2015 Dec 11
2
RFC: New function attribute HasInaccessibleState
<<<
I may misunderstand, but it seems to me that this solves only query for aliasing with a pointer known to be pointing only to globals defined in the current compilation unit.
For any pointer which "may point somewhere else”, you won’t be able to resolve the non-aliasing with the “internal state” for malloc/free, right?
To take the original example in this thread:
int *x =
2015 Dec 04
2
RFC: New function attribute HasInaccessibleState
Hi,
This email is in continuation to the mail thread
http://lists.llvm.org/pipermail/llvm-dev/2015-December/092996.html, to
propose a new function attribute that can convey that a function maintains
state, but this state is inaccessible to the rest of the program under
compilation.
Such a flag could be added to most libc/system calls such as
printf/malloc/free. (libc and system calls do
2017 Oct 09
3
Expose aliasing information in getModRefInfo (or viceversa?)
Hi,
This came up in https://reviews.llvm.org/D38569, and I'd like some input on
what's the best way to get alias and mod-ref info without having two alias
calls.
A couple of ideas:
(a) Extend the getModRefInfo interface (+getModRefBehavior,
+gerArgModRefInfo) to return a pair {ModRefInfo, AliasResult}.
The AliasResult can be optional based on an argument
e.g.:
struct MRI_AR {
2014 Sep 08
2
[LLVMdev] Alias Analysis - ModRefBehaviour
Hello,
Is there a analysis pass which calculates the ModRefBehaviours
OnlyReadsPointerArguments and OnlyAccessesPointerArguments?
I tried to find one but so far I only saw that different AA's return
OnlyReadsMemory and DoesNotAccessMemory if the readonly and readnone
attributes are set.
Best regards and thanks in advance,
Johannes
--
Johannes Doerfert
Researcher / PhD Student
2015 Dec 11
2
RFC: New function attribute HasInaccessibleState
----- Original Message -----
> From: "Mehdi Amini" <mehdi.amini at apple.com>
> To: "Joseph Tremoulet" <jotrem at microsoft.com>
> Cc: "Hal Finkel" <hfinkel at anl.gov>, "llvm-dev" <llvm-dev at lists.llvm.org>
> Sent: Friday, December 11, 2015 1:28:05 PM
> Subject: Re: [llvm-dev] RFC: New function attribute
2015 Dec 02
2
Function attributes for LibFunc and its impact on GlobalsAA
Hi,
GlobalsAA, during propagation of mod-ref behavior in the call graph, looks
at library functions (in GlobalsAAResult::AnalyzeCallGraph:
F->isDeclaration() check), for attributes, and if the function does not
have the onlyReadsMemory attribute set, forgets it.
I noticed that library functions such as malloc/realloc do not have the
attributes doesNotAccessMemory or onlyReadsMemory
2015 Dec 04
4
RFC: New function attribute HasInaccessibleState
>is this "internal state” supposed to be private to the function?
It could be private or not. Hence the name "inaccessible", to mean that the
program under compilation has no access to the state. So while printf and
malloc (for example) could share state in libc, the program under
compilation cannot access this state.
>how this flag would prevent the last “optimization”
2017 Oct 09
2
Expose aliasing information in getModRefInfo (or viceversa?)
On Mon, Oct 9, 2017 at 1:57 PM, Daniel Berlin <dberlin at dberlin.org> wrote:
> FWIW: Bootstrap is probably not a good test of this, there are bugs filed
> where we end up with tons of loads and stores to test against each other.
> That's actually fairly rare in bootstrap, as you can see.
> Let me get you some test cases.
>
SG, thanks!
>
> My guess is that we
2015 Dec 04
2
RFC: New function attribute HasInaccessibleState
>but is there or is there not accessible, visible state,
Wouldn't ReadNone and/or ReadOnly cover that? If ReadNone is set, it means
it doesn't access any of the visible (accessible) states.
- Vaivaswatha
On Fri, Dec 4, 2015 at 3:17 PM, James Molloy <james at jamesmolloy.co.uk>
wrote:
> Hi,
>
> I don't think the attribute as is is strong enough to do what you
2017 Oct 10
2
Expose aliasing information in getModRefInfo (or viceversa?)
Yes, this is odd.
On my clang.bc
Without:
2.2967 ( 53.8%) 0.0242 ( 26.4%) 2.3210 ( 53.2%) 2.3227 ( 53.2%)
Memory SSA
2.3364 ( 53.7%) 0.0246 ( 25.7%) 2.3610 ( 53.1%) 2.3636 ( 53.1%)
Memory SSA
2.3353 ( 54.0%) 0.0258 ( 27.0%) 2.3611 ( 53.4%) 2.3632 ( 53.3%)
Memory SSA
With two getModRefInfo calls:
3.0302 ( 58.8%) 0.0328 ( 29.9%) 3.0630 ( 58.2%) 3.0858 ( 58.2%)
2017 Oct 09
1
Expose aliasing information in getModRefInfo (or viceversa?)
On 10/09/2017 03:57 PM, Daniel Berlin wrote:
> FWIW: Bootstrap is probably not a good test of this, there are bugs
> filed where we end up with tons of loads and stores to test against
> each other. That's actually fairly rare in bootstrap, as you can see.
> Let me get you some test cases.
>
> My guess is that we should go with mustmod.
I agree.
-Hal
>
>
>
2017 Oct 10
2
Expose aliasing information in getModRefInfo (or viceversa?)
I'm trying to understand what is the result we'd seek in the example
in D38569 (pasting here for quick access)
double f(double a)
{
double b;
double c,d;
double (*fp) (double) __attribute__ ((const));
/* Partially redundant call */
if (a < 2.0)
{
fp = sin;
c = fp (a);
}
else
{
c = 1.0;
fp = cos;
}
d = fp (a);
2015 Dec 04
2
RFC: New function attribute HasInaccessibleState
>what is a non-public state that no-one but you can access? (I’d call that
private).
malloc and free could both use global variables that are defined in libc,
but are inaccessible to the program under compilation.
>if you’re attribute is saying they have some internal state, then malloc()
cannot access the state of free() and vice versa.
Which is why it would be preferable to call it
2009 Nov 06
0
[LLVMdev] Functions: sret and readnone
Duncan, thanks for your answer!
> In order to perform this transform the optimizers would have to work out
> that sample does not modify any global state. This cannot be done without
> knowing the definition of sample, but you only provide a declaration.
Which is why I am trying to supply this additional information in a
custom alias analysis pass, but it doesn't seem to work. (The
2013 Jul 07
1
status of autotuning freebsd for 9.2
Andre,
Are you going to have time to MFC things from -current for auto-tuning
-stable before 9.2?
I fear (maybe unnecessarily?) that we are about to ship yet another
release that can't do basic 10gigE when sufficient memory exists.
If you don't have time, then let me know and I'll see what I can do.
--
Alfred Perlstein
VP Software Engineering, iXsystems