similar to: [LLVMdev] Flow-Sensitive AA

Displaying 20 results from an estimated 1000 matches similar to: "[LLVMdev] Flow-Sensitive AA"

2018 Jun 18
2
Question about Alias Analysis with restrict keyword
Hello All, I have met a case with restrict keyword and I have a question about it. Let's look at a simple example. char buf[4]; void test(char *restrict a, char *restrict b, int count) {   for (unsigned i = 0; i < count; i++) {     *a = *b;     a++;     b++;     buf[i] = i;   } } I think there are no aliasing among pointers such as 'a', 'b' and 'buf'
2008 Aug 18
2
[LLVMdev] Flow-Sensitive AA
On Monday 18 August 2008 17:21, Chris Lattner wrote: > On Aug 18, 2008, at 3:19 PM, David Greene wrote: > > I'm not quite understanding how one would use the existing alias > > analysis > > framework to represent a flow-sensitive analysis. > > Yep, the current infrastructure isn't set up to support this. > > I haven't seen a real world case where flow
2008 Aug 18
0
[LLVMdev] Flow-Sensitive AA
On Aug 18, 2008, at 3:19 PM, David Greene wrote: > I'm not quite understanding how one would use the existing alias > analysis > framework to represent a flow-sensitive analysis. Yep, the current infrastructure isn't set up to support this. I haven't seen a real world case where flow sensitive AA is useful. Normally, the conversion to SSA form is sufficient. Can you
2009 Nov 05
0
[LLVMdev] BasicAliasAnalysis: Null pointers do not alias with anything
Hello, On Nov 4, 2009, at 1:51 AM, Hans Wennborg wrote: > > > / Hans > Index: lib/Analysis/BasicAliasAnalysis.cpp > =================================================================== > --- lib/Analysis/BasicAliasAnalysis.cpp (revision 86023) > +++ lib/Analysis/BasicAliasAnalysis.cpp (working copy) > @@ -633,6 +633,15 @@ > AliasAnalysis::AliasResult >
2013 Feb 27
0
[LLVMdev] Question about intrinsic function llvm.objectsize
On 2/27/13 11:21 AM, Arnold Schwaighofer wrote: > On Feb 27, 2013, at 12:37 PM, Shuxin Yang <shuxin.llvm at gmail.com> wrote: > >> Hi, Nuno and Arnold: >> >> Thank you all for the input. >> >> Let me coin a term, say "clique" for this discussion to avoid unnecessary confusion. >> A clique is statically or dynamically allocated
2013 Feb 27
2
[LLVMdev] Question about intrinsic function llvm.objectsize
On Feb 27, 2013, at 12:37 PM, Shuxin Yang <shuxin.llvm at gmail.com> wrote: > Hi, Nuno and Arnold: > > Thank you all for the input. > > Let me coin a term, say "clique" for this discussion to avoid unnecessary confusion. > A clique is statically or dynamically allocated type-free stretch of memory. A "clique" > 1) is maximal in the sense
2009 Nov 06
2
[LLVMdev] BasicAliasAnalysis: Null pointers do not alias with anything
Dan Gohman wrote: > Hello, > > On Nov 4, 2009, at 1:51 AM, Hans Wennborg wrote: >> >> / Hans >> Index: lib/Analysis/BasicAliasAnalysis.cpp >> =================================================================== >> --- lib/Analysis/BasicAliasAnalysis.cpp (revision 86023) >> +++ lib/Analysis/BasicAliasAnalysis.cpp (working copy) >> @@ -633,6 +633,15
2013 Feb 27
0
[LLVMdev] Question about intrinsic function llvm.objectsize
Hi, Regarding the definition of object for @llvm.objectsize, it is identical to gcc's __builtin_object_size(). So it's not wrong; it's just the way it was defined to be. Regarding the BasicAA's usage of these functions, I'm unsure. It seems to me that isObjectSmallerThan() also expects the same definition, but I didn't review the code carefully. When you do a
2013 Feb 26
2
[LLVMdev] Question about intrinsic function llvm.objectsize
Hi, In the following instruction sequence, llvm.objectsize.i64(p) returns 6 (the entire *.ll is attached to the mail). Is this correct? Shouldn't the "object" refer to the entire block of memory being allocated? (char*) p = malloc(56) llvm.objectisize.i32(p+50); Thanks Shuxin This question is related to PR14988 (failure in bootstrap build with LTO). Part of the
2013 Feb 27
0
[LLVMdev] Question about intrinsic function llvm.objectsize
Hi, Nuno and Arnold: Thank you all for the input. Let me coin a term, say "clique" for this discussion to avoid unnecessary confusion. A clique is statically or dynamically allocated type-free stretch of memory. A "clique" 1) is maximal in the sense that a clique dose not have any enclosing data structure that can completely cover or, partially
2013 Feb 27
4
[LLVMdev] Question about intrinsic function llvm.objectsize
On Feb 27, 2013, at 4:05 AM, Nuno Lopes <nunoplopes at sapo.pt> wrote: > Hi, > > Regarding the definition of object for @llvm.objectsize, it is identical to gcc's __builtin_object_size(). So it's not wrong; it's just the way it was defined to be. > > Regarding the BasicAA's usage of these functions, I'm unsure. It seems to me that isObjectSmallerThan()
2008 Aug 20
1
[LLVMdev] Dependence Analysis [was: Flow-Sensitive AA]
On Monday 18 August 2008 17:48, David Greene wrote: > > Normally, the conversion to SSA form is sufficient. Can you talk > > about cases where this matters to you? > > Mostly it involves tying into our memory dependence analysis which > annotates things on program points. I need a way to translate back > to our optimizer data structures. > > So it's not
2007 Jul 24
1
[LLVMdev] alias information on machine instructions
Dan Gohman wrote: > I tried out your patch on x86 and it didn't appear to need any special changes. it might be needed to look at the addressing modes of a load/store to get the right offset. but i think it should work, if the lowering does not rewrite loads/stores into custom DAG nodes. > For the [??], it looks like the IsFrameIndex isn't getting set for the first > instruction
2008 Aug 20
0
[LLVMdev] Dependence Analysis [was: Flow-Sensitive AA]
On Wednesday 20 August 2008 14:07, Vikram S. Adve wrote: > At Illinois, we are working on a parallelizing compiler but we're at > an extremely early stage. We too will need a dependence analysis > interface that can support fairly aggressive analysis, including > strong tests, direction vectors, perhaps distance vectors, and > dependence breaking conditions. We were going to
2008 Aug 22
1
[LLVMdev] Dependence Analysis [was: Flow-Sensitive AA]
On Aug 22, 2008, at 9:53 AM, Dale Johannesen wrote: >> >> C has a way to express this: signed integers are defined to never >> overflow, > > More precisely, signed integer overflow is undefined behavior, which > gives the compiler great latitude. > Assuming this will never happen and doing optimizations on that basis > is valid, but so are other things. > An
2008 Aug 22
2
[LLVMdev] Dependence Analysis [was: Flow-Sensitive AA]
On Aug 22, 2008, at 4:49 PM, John Regehr wrote: > Has anyone quantified the optimizations afforded by undefined signed > overflow? I'd expect that the benefits are minimal for most codes. In most cases, I agree. But for codes that depend heavily on dependence analysis, I would think that being conservative with index expressions would really kill any disambiguation capability and
2008 Aug 23
0
[LLVMdev] Dependence Analysis [was: Flow-Sensitive AA]
> before and it hurts about 3-5 without high level loop > opts/vectorization on. With them on, they do roughly nothing in the > presence of -fwrapv because you can't determine bounds of any non > trivial loop. Very interesting, thanks! Before hearing this I'd have said that Java-style overflow is the right language design, but if this makes loop optimizations impossible
2008 Aug 25
0
[LLVMdev] Dependence Analysis [was: Flow-Sensitive AA]
On Sun, Aug 24, 2008 at 6:28 PM, Eli Friedman <eli.friedman at gmail.com> wrote: > On Sun, Aug 24, 2008 at 2:46 PM, Wojciech Matyjewicz > <wmatyjewicz at fastmail.fm> wrote: >>> I asked myself the same question. Without mod, how do you ensure that for instance the expression 2*i+255 was not actually 2*i-1 ? >> >> I think it is not possible in general, but I
2008 Aug 25
1
[LLVMdev] Dependence Analysis [was: Flow-Sensitive AA]
>> One nit-pick, I see that some of the interfaces use tons of parameter, >> which is something I'd like reduce for ease of use. > >Right. It was my concern as well, but I eventually decided to write it >this way. Feel free to change it. > As we are speaking about modifying the lib, here are two things I would like to modify/add in it: - Replacing depedency
2008 Aug 25
0
[LLVMdev] Dependence Analysis [was: Flow-Sensitive AA]
>Polyhedral representations are powerful but somewhat expensive to >construct and simple dependence tests don't construct them. Forcing >all dependence test results to go through them would be overkill. >Also, many loop transforms, e.g., loop interchange, don't need the >polyhedral info, just direction vectors. You could instead provide >both direction