Displaying 20 results from an estimated 300 matches similar to: "Run llvm pass from standalone project"
2018 Aug 21
2
Function optimization pass
Hi Philip,
Thanks for the response. Under llvm-5.0.2 and llvm-6.0.1 in Debug mode, the
crash hit at the same assertion:
/usr/local/include/llvm/IR/PassManager.h:689: typename PassT::Result&
llvm::AnalysisManager<IRUnitT, ExtraArgTs>::getResult(IRUnitT&, ExtraArgTs
...) [with PassT =
llvm::InnerAnalysisManagerProxy<llvm::AnalysisManager<llvm::Loop,
2018 Aug 20
2
Function optimization pass
This question has been submitted to stackoverflow
(https://stackoverflow.com/questions/51934964/function-optimization-pass)
but someone suggested me that it should be submitted to llvm-dev mailing
list instead. I'm sorry for the duplication.
I am trying to use PassBulider and FunctionPassManager || to optimize a
function in a module, what I have done is:
mod = ...load module from LLVM
2011 Mar 30
2
[LLVMdev] Counting pointers to functions
Hi all,
I'm trying to write an LLVM pass which would determine whether there is any
pointer which ever points to a function. I couldn't figure out if there is
any existing pass which does something of the kind (maybe some analysis pass
which I'm not aware of?).
Of course, I could just iterate over all values, and check whether they
point to functions (as in a similar recent post).
2012 May 09
2
plot betadisper, change of pch
Hello!
After performing an analysis with betadisper, package vegan I would like
to plot the results - so far, so good. But I would also like to "tune" a
little bit the plotting characters, as '+' and 'x' are a little to
similar...
My (boiled down) code:
[See session info at the bottom of the mail, vegan is vegan_2.0-3]
mod <- betadisper(mydata, mygroups,
2011 Mar 30
0
[LLVMdev] Counting pointers to functions
On 3/30/11 10:12 AM, guyadini wrote:
> Hi all,
>
> I'm trying to write an LLVM pass which would determine whether there is any
> pointer which ever points to a function. I couldn't figure out if there is
> any existing pass which does something of the kind (maybe some analysis pass
> which I'm not aware of?).
DSA (part of the poolalloc project:
2018 Nov 29
2
AliasAnalysis does not look though a memcpy
Hi,
I'm trying to get AA results for two pointers, but it seems that AA
cannot look though a memcpy. For example:
define dso_local spir_func void @fun() {
entry:
; Store an address of `var'
%var = alloca i32, align 4
store i32 42, i32* %var, align 4
%var.addr = alloca i32*, align 8
store i32* %var, i32** %var.addr, align 8
; Memcpy
2020 Jul 10
2
Understand alias-analysis results
Hi!
On 7/10/2020 07:17, Shuai Wang wrote:
> Hello!
>
> Thank you very much! Yes, that makes a lot of sense to me. However, just
> want to point out two things that are still unclear:
>
> 1. The output contains a alias set of only one element, for instance:
> "must alias, Mod Pointers: (i32* %y, LocationSize::precise(4))"
>
> This one really confused
2018 Dec 05
2
AliasAnalysis does not look though a memcpy
On 12/5/18 9:51 AM, Andrew Savonichev via llvm-dev wrote:
>> Hi,
>>
>> I'm trying to get AA results for two pointers, but it seems that AA
>> cannot look though a memcpy. For example:
>>
>> define dso_local spir_func void @fun() {
>> entry:
>> ; Store an address of `var'
>> %var = alloca i32, align 4
>>
2018 Dec 05
2
AliasAnalysis does not look though a memcpy
On 12/5/18 2:14 PM, Andrew Savonichev wrote:
>> On 12/5/18 9:51 AM, Andrew Savonichev via llvm-dev wrote:
>>>> Hi,
>>>>
>>>> I'm trying to get AA results for two pointers, but it seems that AA
>>>> cannot look though a memcpy. For example:
>>>>
>>>> define dso_local spir_func void @fun() {
>>>>
2020 Jul 09
2
Understand alias-analysis results
Hey Matt,
That's awesome. Thank you very much for all the information and
clarification! Just a few follow up questions. Could you kindly shed some
lights on it? Thank you!
1. I tried to tweak the code in the following way:
- Clang [-> LLVM-IR]: https://llvm.godbolt.org/z/n9rGrs
- [LLVM-IR ->] opt: https://llvm.godbolt.org/z/Uc6h5Y
And i note that the outputs are:
Alias sets for
2016 Jul 26
3
[PM] I think that the new PM needs to learn about inter-analysis dependencies...
I'm not quite sure what post to respond to for a status update, but I guess
this one will do (and you can check my log for more info of course).
My current working branch for the analysis manager stuff is at
https://github.com/chisophugis/llvm/commits/analysis-manager
(4ecf6115890bd01caa52c0b99424974e3469291e)
I described in my log a bit more my thought process and how to do this
without
2020 Jul 09
2
Understand alias-analysis results
Hi again!
Replying in chronological order:
> On Thu, Jul 9, 2020 at 6:51 PM Shuai Wang <wangshuai901 at gmail.com
> <mailto:wangshuai901 at gmail.com>> wrote:
>
> Hey Matt,
>
> That's awesome. Thank you very much for all the information and
> clarification! Just a few follow up questions. Could you kindly shed
> some lights on it? Thank
2019 Jun 01
2
Question about a AA result and its use in Dependence Analysis
Hi Johannes,
I followed your advice and got the same result: NoAlias and No dependence. Would you say AA is faulty for saying NoAlias or DA is faulty for saying no dependence? Or both?
(revised example below)
Thanks!
define float @f() {
entry:
%g = alloca float, align 4
%h = alloca float, align 4
br label %for.body
for.cond.cleanup: ; preds = %for.body
2019 Jun 03
2
Question about a AA result and its use in Dependence Analysis
It seems the same bug is there if we do pointer swapping with selects. Do you agree? (see example below)
define void @f() {
entry:
%a1 = alloca float, align 4
%a2 = alloca float, align 4
br label %loop
end:
ret void
loop:
%phi = phi i32 [ 0, %entry ], [ 1, %loop ]
%select_cond = icmp eq i32 %phi, 0
%ptr1 = select i1 %select_cond, float* %a1, float* %a2
%ptr2 = select i1
2016 Jul 27
0
[PM] I think that the new PM needs to learn about inter-analysis dependencies...
Okay, did the big renaming and de-templating today (and removing the
proxies).
check-llvm worked fine, except that this test caught a bug (yay!):
unittests/IR/PassManagerTest.cpp:326
After removing the proxies, the module pass is not invalidating the
function passes (since the invalidation is on the module IRUnit). we now
don't have a method for delegating the invalidation from outer
2019 May 31
2
Question about a AA result and its use in Dependence Analysis
Hello llvm-dev,
I would appreciate your feedback on the following problem. We're trying to determine whether this is a bug in LLVM or not.
In the IR snippet below, we have two pointers (p and q) which initially point to two completely non-overlapping locations. Then, on every iteration of a loop, we swap the pointers and load from the first, followed by a store to the second.
1) AA says the
2019 Jun 03
2
Question about a AA result and its use in Dependence Analysis
Alias analysis is figuring out the relationship between two pointer expressions, at some location in the program. At a given point in the program, do two expressions always refer to the same location? At a given point in the program, do two expressions never refer to the same location?
AliasAnalysis::alias() doesn't explicitly take a "point" in the program because we don't
2020 Jul 09
2
Understand alias-analysis results
Hello,
I am performing alias analysis toward the following simple code:
struct MyStruct {
int * f1;
int * f2;
};
void NOALIAS(void* p, void* q){
}
int main() {
struct MyStruct s[2];
int a,b;
s[0].f1 = &a;
s[1].f1 = &b;
NOALIAS(s[a].f1, s[b].f2);
return 0;
}
When I use the following command to generate .bc code and conduct alias
analysis:
clang -c -emit-llvm t.c -O2
opt -basicaa
2019 Jun 05
2
Question about a AA result and its use in Dependence Analysis
Oh. So it wasn't just the memory location size that was incorrect on those aliasing checks.
I took a look at the tests and it appears that the alias call also catches some cases of restrict/noalias attributes, along with the tbaa info. My first idea of constructing an alias call with no Ptr's but valid tbaa info won't catch that at least.
I will create a bug report and try and see if
2016 Jul 22
4
[PM] I think that the new PM needs to learn about inter-analysis dependencies...
The more closely I look at this, the more it seems like there may be a
useful incremental step in the transition to the new PM: use the new PM
analysis machinery in the old PM. If this is possible, it will simplify the
old PM and (hopefully) allow an incremental transition to the new PM
instead of a flag day transition for the switch.
I.e., AFAICT, the new PM transition is essentially about 2