similar to: Creating a copy Pass of DependenceAnalysis

Displaying 20 results from an estimated 2000 matches similar to: "Creating a copy Pass of DependenceAnalysis"

2020 Jul 07
3
How to get information about data dependencies?
Michael Kruse via llvm-dev <llvm-dev at lists.llvm.org> writes: > AFAIK they are independent developments. LoopAccessAnalysis was > extracted out of the LoopVectorizer in 2015, and first developed in > 2013 (https://github.com/llvm/llvm-project/commit/d517976758c8674bdcd4c74457f7a83f20e432c5) > > DependenceAnalysis was a from-scratch implementation from 2012 >
2020 Nov 18
1
Array access dependencies
Hi, Hopefully the video Michael posted will help you, thanks for posting. It's more useful to the user of these passes than the developer I guess (it describes the theoretical background, hurdles of the implementation etc.). But the two passes we describe, DependenceAnalysis and MemorySSA, have very clean interfaces so you shouldn't have a problem in that matter. You probably want to look
2020 Jul 06
2
How to get information about data dependencies?
Michael Kruse via llvm-dev <llvm-dev at lists.llvm.org> writes: > LLVM has multiple dependence analyses, each with its up- and downsides: > > * llvm::DependenceAnalysis > * llvm::LoopAccessAnalysis Can someone explain the differences between these? As far as I can tell they essentially do the same thing (though perhaps one is more precise?). LAA seems to be used by
2020 Jul 26
2
[LAA] RtCheck on pointers of different address spaces.
Hi Stefanos, Attached the testcase. I tried to reduce it further, but the problem goes away when I remove the instructions further. There is a nested loop and the fault occurs while processing the inner loop (for.body) To reproduce the crash: opt -O3 testcase.ll -o out.ll > `groupChecks()` will only try to group pointers that are on the same alias set. If that’s true, the RT check
2020 Jul 26
2
[LAA] RtCheck on pointers of different address spaces.
Hello, I Have a question related to the RT check on pointers during Loop Access Analysis pass. There is a testcase with loop code that consist of 4 different memory operations referring two global objects of different address spaces. One from global constant (address space 4, addr_size = 64) and the other from local, LDS (address space 3, addr_size= 32). (Details of various address spaces
2016 Feb 19
3
Implement Loop Fusion Pass
Hi, Thanks for the reply. Few thoughts inlined. On Fri, Feb 19, 2016 at 8:00 AM, Adam Nemet <anemet at apple.com> wrote: > Hi Vikram, > > On Feb 18, 2016, at 9:21 AM, Vikram TV via llvm-dev < > llvm-dev at lists.llvm.org> wrote: > > Hi all, > > I have created a patch (up for review at: http://reviews.llvm.org/D17386) > that does Loop Fusion implementation.
2013 Dec 27
4
[LLVMdev] Using DependenceAnalysis::depends
Hi Preston, Thank you for the prompt response. You can use DependenceAnalysis to get the info you want by expensively > testing all pairs of memory references. Isn't all pairs testing incorrect in the sense that a pair may only exist for a certain path? Consider the following example. A[i] = 42; // S1 if( condition ) // C1 { A[i] = 20; // S2 } B[i] = A[i];
2013 Dec 27
3
[LLVMdev] Using DependenceAnalysis::depends
Hi I want to analyse the memory dependencies which exist in a loop at an intra iteration as well as inter iteration (loop carried dependencies). I looked at the DependenceAnalysis implementation which returns a lot of the information I require (based on a prior AliasAnalysis pass), however I need to pass the Src and Dst instructions in program order. I was wondering how I can collect all the
2020 Jul 31
2
What is the "correct" way to add a print pass in the NPM ?
Hi, I'm interested in the sort of pass where you write `-passes=print<pass-name>` and it calls the `print()` function of the pass. I have seen some other passes that can invoke `-passes=print<>` but the implementation seems to be in the wrapper pass for the old pass manager. Thanks, Stefanos Baziotis -------------- next part -------------- An HTML attachment was scrubbed... URL:
2016 Feb 24
2
Implement Loop Fusion Pass
> On Feb 22, 2016, at 6:27 AM, Vikram TV <vikram.tarikere at gmail.com> wrote: > > > > On Fri, Feb 19, 2016 at 10:46 PM, Vikram TV <vikram.tarikere at gmail.com <mailto:vikram.tarikere at gmail.com>> wrote: > Hi, > > Thanks for the reply. Few thoughts inlined. > > On Fri, Feb 19, 2016 at 8:00 AM, Adam Nemet <anemet at apple.com
2017 Jan 17
2
Loop Invariants Detection questions
Hi all! I'm new here, and would like to implement my own Loop Invariant Detection adding some more information on Quasi-Invariants. First, is there anything about Quasi-Invariants detection in LLVM I would missed? I've seen LICM using LoopInfo::isLoopInvariant for finding invariants. It seems that this method considers a Value invariant if: - it's an Instruction not presents in the
2016 Jul 13
4
[PM] I think that the new PM needs to learn about inter-analysis dependencies...
----- Original Message ----- > From: "Sean Silva" <chisophugis at gmail.com> > To: "Chandler Carruth" <chandlerc at gmail.com> > Cc: "Xinliang David Li" <davidxl at google.com>, "llvm-dev" > <llvm-dev at lists.llvm.org>, "Davide Italiano" > <dccitaliano at gmail.com>, "Tim Amini Golling" >
2018 Feb 06
2
6 separate instances of static getPointerOperand(). Time to consolidate?
LLVM friends, I'm currently trying to make LoopVectorizationLegality class in Transform/Vectorize/LoopVectorize.cpp more modular and eventually move it to Analysis directory tree. It uses several file scope helper functions that do not really belong to LoopVectorize. Let me start from getPointerOperand(). Within LLVM, there are five other similar functions defined. I think it's time to
2020 Jul 01
2
How to get information about data dependencies?
Hello, I had a question similar to this one in the link below. http://lists.llvm.org/pipermail/llvm-dev/2015-January/080589.html In addition, if we can't get RAW dependencies information using the provided llvm tools, how would I write a pass for it? Are there any helpful resources? Thanks, Jiho -------------- next part -------------- An HTML attachment was scrubbed... URL:
2016 Mar 23
2
[GSoC'16] Need details on New Transformations and Analyses
> On Mar 22, 2016, at 5:13 PM, Philip Reames <listmail at philipreames.com <mailto:listmail at philipreames.com>> wrote: > > > > On 03/20/2016 05:38 AM, Aries Gunawan via llvm-dev wrote: >> Hi everyone, >> >> I am very interested in contributing to LLVM project in this year’s GSoC. I am new with LLVM, but this is used in the compiler course in my
2012 Nov 02
3
[LLVMdev] DependenceAnalysis and PR14241
Hey Preston, I wanted to let you know that we found a really serious problem with DependenceAnalysis in PR14241. In summary, DA seems to have a baked-in assumption that the base pointer of the GEPs it inspects are loop invariant. It appears to only do analysis on the subscripts. This is especially important for LLVM because C++ code (compiled through Clang) very frequently expresses loops as
2019 May 13
3
Delinearization validity checks in DependenceAnalysis
Hi all, I have been looking at the `DependenceAnalysis` pass in `llvm/include/llvm/Analysis/DependenceAnalysis.h`. In order for this analysis to produce accurate dependence vectors for multi-dimensional arrays in nested loops, it needs to "delinearize" array element accesses to recover the subscripts in each dimension of the array. I believe that the current implementation of
2017 Sep 22
3
[RFC] Polly Status and Integration
On 09/22/2017 12:03 AM, Mehdi AMINI wrote: > Hi Hal, > > > 2017-09-21 20:59 GMT-07:00 Hal Finkel via llvm-dev > <llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>>: > > > On 09/12/2017 10:26 PM, Gerolf Hoflehner wrote: >> >> >>> On Sep 11, 2017, at 10:47 PM, Hal Finkel via llvm-dev >>> <llvm-dev at
2016 Mar 28
0
[GSoC'16] Need details on New Transformations and Analyses
Hi Adam, On Wed, Mar 23, 2016 at 1:50 PM, Adam Nemet via llvm-dev < llvm-dev at lists.llvm.org> wrote: > > On Mar 22, 2016, at 5:13 PM, Philip Reames <listmail at philipreames.com> > wrote: > > > > On 03/20/2016 05:38 AM, Aries Gunawan via llvm-dev wrote: > > > *Loop Dependence Analysis Infrastructure. *I have looked in the source > codes repo and I
2018 Feb 06
1
6 separate instances of static getPointerOperand(). Time to consolidate?
What LoopVectorize.cpp has are the following. Each function may have to have a separate consolidation discussion. I'm bringing up getpointerOperand() since I actually found multiple instances defined/used. DependenceAnalysis.cpp has isLoadOrStore(). LoopAccessAnalysis.cpp has getAddressSpaceOperand(). I'm sure there are others that might be worth discussing within this thread or a follow