similar to: [Proposal][RFC] Cache aware Loop Cost Analysis

Displaying 20 results from an estimated 4000 matches similar to: "[Proposal][RFC] Cache aware Loop Cost Analysis"

2016 Jun 09
2
[Proposal][RFC] Cache aware Loop Cost Analysis
On Wed, Jun 8, 2016 at 10:20 PM, Hal Finkel <hfinkel at anl.gov> wrote: > > ------------------------------ > > *From: *"Vikram TV via llvm-dev" <llvm-dev at lists.llvm.org> > *To: *"DEV" <llvm-dev at lists.llvm.org> > *Sent: *Wednesday, June 8, 2016 2:58:17 AM > *Subject: *[llvm-dev] [Proposal][RFC] Cache aware Loop Cost Analysis >
2016 Jun 23
2
[Proposal][RFC] Cache aware Loop Cost Analysis
On Thu, Jun 23, 2016 at 9:54 AM, Adam Nemet <anemet at apple.com> wrote: > > On Jun 9, 2016, at 9:21 AM, Vikram TV via llvm-dev < > llvm-dev at lists.llvm.org> wrote: > > > > On Wed, Jun 8, 2016 at 10:20 PM, Hal Finkel <hfinkel at anl.gov> wrote: > >> >> ------------------------------ >> >> *From: *"Vikram TV via
2016 Jun 23
3
[Proposal][RFC] Cache aware Loop Cost Analysis
On Thu, Jun 23, 2016 at 11:34 PM, Adam Nemet <anemet at apple.com> wrote: > > > >> Hi Vikram, >> >> Is the analysis result specific to a loop nest or to a loop nest together >> with a set of reference groups? >> > The result is specific to each loop in the loop nest and the calculations > are based on the references in the loop nest. > >
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.
2016 Jun 13
2
[Proposal][RFC] Cache aware Loop Cost Analysis
> > > A primary drawback in the above patch is the static use of Cache Line > Size. I wish to get this data from tblgen/TTI and I am happy to submit > patches on it. > > Yes, this sounds like the right direction. The targets obviously need to > provide this information. > I'd like to help review this as it'll be necessary to implement http://wg21.link/p0154r1
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
2016 Feb 18
2
Implement Loop Fusion Pass
Hi all, I have created a patch (up for review at: http://reviews.llvm.org/D17386) that does Loop Fusion implementation. Approach: Legality: Currently it can fuse two adjacent loops whose iteration spaces are same and are at same depth. Dependence legality: Currently, dependence legality cannot be checked across loops. Hence the loops are cloned along a versioned path, unconditionally fused
2015 Jan 23
8
[LLVMdev] [RFC] Heuristic for complete loop unrolling
Hi devs, Recently I came across an interesting testcase that LLVM failed to optimize well. The test does some image processing, and as a part of it, it traverses all the pixels and computes some value basing on the adjacent pixels. So, the hot part looks like this: for(y = 0..height) { for (x = 0..width) { val = 0 for (j = 0..5) { for (i = 0..5) { val += img[x+i,y+j] *
2012 Nov 23
1
[LLVMdev] Disable loop unroll pass
Hi, Ivan: Sorry for deviating the topic a bit. As I told you before I'm a LLVM newbie, I cannot give you conclusive answer if the proposed interface is ok or not. My personal opinion on these two interface is summarized bellow: - hasZeroCostLoop() pro: it is clearly state the HW support. con: Having zero cost loop doesn't imply the benefit HW loop could achieve.
2012 Nov 23
0
[LLVMdev] Disable loop unroll pass
Hi Shuxin, On 23/11/2012 00:17, Shuxin Yang wrote: > Hi, Gang: > > I don't want to discuss Open64 internal in LLVM mailing list. Let us > only focus on the design per se. > As your this mail and your previous mail combined give me a impression > that : > > The only reason you introduce the specific operator for HW loop in > Scalar Opt simply because >
2012 Nov 22
2
[LLVMdev] Disable loop unroll pass
Hi, Gang: I don't want to discuss Open64 internal in LLVM mailing list. Let us only focus on the design per se. As your this mail and your previous mail combined give me a impression that : The only reason you introduce the specific operator for HW loop in Scalar Opt simply because you have hard time in figure out the trip count in CodeGen. This might be true for Open64's
2016 May 12
2
[LLVMdev] Improving the quality of debug locations / DbgValueHistoryCalculator
> On May 12, 2016, at 11:00 AM, Francois Pichet <pichet2000 at gmail.com> wrote: > > Here is a specific case that make the debugging experiences degraded on my target: > This is a loop simplified CFG: > > BB#0: > %R5<def> = OR_rr %R0, %R49 // this is %R5 only def. > DBG_VALUE %R5, %noreg, !"argc", <!18>; line no:4 > Successors
2012 Dec 17
1
[LLVMdev] [polly] ISL vector code generation
Hi, thanks to Tobias for doing most of the work to get the vector code generation working with ISL's code generation. Attached are two patches to port the vector code generation part of the testsuite from Cloog/CodeGen to Isl/CodeGen. Tobi, do you want to commit these two patches separately, or you want me to combine them, as the second patch is needed to make the testsuite pass? Also, let
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
2019 Jul 23
2
[RFC] A new multidimensional array indexing intrinsic
After having spoken to Johannes, I think we had a classic misunderstanding on what "extending" means. 1. The most obvious why for me was changing GEP to allow variable-sized multi-dimensional arrays in the first argument, such as %1 = getelementptr double, double* %ptr, inrange i64 %i, inrange i64 %j (normally GEP would only allow a single index argument for a pointer-typed base
2018 Jun 05
2
DiagnosticInfo and SCEV
Hello, I was thinking about printing SCEV into DiagnosticInfo messages, an example would be to print the loop trip count of loops, or the stride of memory accesses. I ran into two problems: - DiagnosticInfo is in Core, SCEV is in Analysis, so it is a little bit weird (I declare the operator<< overload for SCEV* in DiagnosticInfo, but only define it in ScalarEvolution) - I would like to
2016 May 07
3
[GSoC 2016] Introduction - Polly as an Analysis pass in LLVM
Dear All, I am glad to be part of GSoC 2016 with LLVM organization. I am a first year PhD student at IIT Hyderabad, India and my research area is compiler optimizations using polyhedral model. My GSoC 2016 project is to implement Polly as an Analysis pass in LLVM [1]. We have a discussion on Polly-dev mailing list [2] on taking a better approach to implement this project. Based upon this
2011 Feb 28
1
plotting, graph, everything
I have this assignment to do and after ten hours of constant trying my eyes ache and i give up.. all i'm able to get is this plot please help me these are the commands i have used till now read.table(file.choose(), sep=";", header=T) read.table(file.choose(), sep=";", header=T)->areas melt(areas,id=c("Year","State"),m=c("Rice"))->
2012 Apr 03
1
[LLVMdev] Possible typo in LoopUnrollPass.cpp
hi, In "LoopUnrollPass.cpp", when trying to reduce unroll count to meet the unroll threshold requirement in line 200 and line 206, variable "CurrentThreshold" is used in the computation, instead of the variable "Threshold", which is defined by: // Determine the current unrolling threshold. While this is normally set // from UnrollThreshold, it is overridden to
2015 Dec 04
2
RFC: New function attribute HasInaccessibleState
>there would be two disjoint global states In some sense yes, but technically not disjoint. Functions marked with this attribute should still be able to access the globals within the program under compilation, if its not marked with ReadNone. >If malloc and free can both use global variables (there is no notion of library in the compiler) Inaccessible state here refers to any global that is