search for: isannotatedparallel

Displaying 16 results from an estimated 16 matches for "isannotatedparallel".

2013 Apr 17
4
[LLVMdev] Loop vectorizer behaviour for 2D arrays and parallel annotation
...jj+1] + diff[jj+5]; m2[j][2] = diff[jj+2] + diff[jj+6]; m2[j][3] = diff[jj+3] + diff[jj+7]; m2[j][4] = diff[jj ] - diff[jj+4]; m2[j][5] = diff[jj+1] - diff[jj+5]; m2[j][6] = diff[jj+2] - diff[jj+6]; m2[j][7] = diff[jj+3] - diff[jj+7]; } Another question is regarding the isannotatedparallel() check. Is there a way to make clang (or any other frontend) to generate parallel annotated IR? Best, Anadi.
2018 Jan 19
2
Does OpenMP hints bypass the vectorisation legality check in llvm
Hi all, I am currently looking into how "#pragma omp for simd" is actually recognized in llvm. To my knowledge, clang will parse it and set metadata in IR to indicate this force-vectorization hint and later optimization passes would read it and vectorize the marked loop. Therefore, the loop should be vectorized even the compiler think it might not be safe to do so? So my
2020 Jun 24
6
[RFC] Compiled regression tests.
...te that I had to invest about twice the time to update/fix tests than writing the code changes themselves. Due to my experience, I find updating FileCheck tests very frustrating. I'd prefer not to test whether specific metadata nodes are present, but whether the LLVM API to query them (such as `isAnnotatedParallel`) returns the expected result. Michael
2013 Apr 17
0
[LLVMdev] Loop vectorizer behaviour for 2D arrays and parallel annotation
...iff[jj+6]; > m2[j][3] = diff[jj+3] + diff[jj+7]; > m2[j][4] = diff[jj ] - diff[jj+4]; > m2[j][5] = diff[jj+1] - diff[jj+5]; > m2[j][6] = diff[jj+2] - diff[jj+6]; > m2[j][7] = diff[jj+3] - diff[jj+7]; > } > > > Another question is regarding the isannotatedparallel() check. Is > there a way to make clang (or any other frontend) to generate parallel > annotated IR? Did you try to put '#pragma ivdep' before the loop. Tobias P.S.: Please attach a full C file as test case. The way the different data structures are declared my influence the analy...
2020 Jul 01
6
[RFC] Compiled regression tests.
...ed, making it impossible to > associate particular MDNodes with specific functions. > > > Ideally the regression test would be robust and understandable, > achievable with two asserts in a unittest: > >     Loop &OuterLoop = *LI->begin(); >     ASSERT_TRUE(OuterLoop.isAnnotatedParallel()); >     Loop &InnerLoop = *OuterLoop.begin(); >     ASSERT_TRUE(InnerLoop.isAnnotatedParallel()); I definitely agree that we should not be trying to do this kind of checking using textual metadata-node matching in FileCheck. The alternative already available is to add an analysis pa...
2013 Mar 01
2
[LLVMdev] parallel loop metadata simplification
...arameter to CreateLoad, etc. could take care of those? Nevertheless, IRBuilder could keep a stack of parallel loops to handle nested cases, right? > Hmm, I guess I'm missing something. It is my understanding that all loads and stores require the metadata (and based on the implementation of isAnnotatedParallel). What you describe suggests that a loop goes from non-parallel to parallel after SROA? paul > -Hal > >> >> Thoughts? >> >> paul >> >>> >>> -Hal >>> >>>> >>>> I'd like to reopen the discussion on req...
2013 Mar 01
0
[LLVMdev] parallel loop metadata simplification
...take care of those? Nevertheless, IRBuilder could keep a > > stack of parallel loops to handle nested cases, right? > > > > Hmm, I guess I'm missing something. It is my understanding that all > loads and stores require the metadata (and based on the > implementation of isAnnotatedParallel). What you describe suggests > that a loop goes from non-parallel to parallel after SROA? Or after mem2reg; something like that, yes. I think that's right. -Hal > > paul > > > -Hal > > > >> > >> Thoughts? > >> > >> paul > &...
2013 Apr 17
0
[LLVMdev] Loop vectorizer behaviour for 2D arrays and parallel annotation
Hi Anadi Mishra, On 04/17/2013 05:55 AM, Anadi Mishra wrote: > Another question is regarding the isannotatedparallel() check. Is > there a way to make clang (or any other frontend) to generate parallel > annotated IR? Paul Redmond was adding support for "#pragma ivdep" that would use the parallel metadata, but I haven't been able to follow its progress lately. FWIW, pocl's OpenCL kernel...
2013 Apr 17
1
[LLVMdev] Loop vectorizer behaviour for 2D arrays and parallel annotation
...hy? > > > To my knowledge, the dependence analysis in the loop vectorizer is not yet > able to prove the absence of dependences here. While that is true, the debug message printed by the vectorizer is misleading, which should not be. >> >> Another question is regarding the isannotatedparallel() check. Is >> there a way to make clang (or any other frontend) to generate parallel >> annotated IR? > > > Did you try to put '#pragma ivdep' before the loop. Thanks for the suggestion, it worked using the latest llvm from svn. Thanks Pekka and Paul for your inputs....
2013 Mar 01
3
[LLVMdev] parallel loop metadata simplification
...ss, IRBuilder could keep a > > > stack of parallel loops to handle nested cases, right? > > > > > > > Hmm, I guess I'm missing something. It is my understanding that all > > loads and stores require the metadata (and based on the > > implementation of isAnnotatedParallel). What you describe suggests > > that a loop goes from non-parallel to parallel after SROA? > > Or after mem2reg; something like that, yes. I think that's right. On second thought, to be more specific, it might depend on whether the alloca is inside or outside the loop. -Hal &g...
2013 Mar 01
0
[LLVMdev] parallel loop metadata simplification
----- Original Message ----- > From: "Paul Redmond" <paul.redmond at intel.com> > To: "Hal Finkel" <hfinkel at anl.gov> > Cc: "llvmdev at cs.uiuc.edu Dev" <llvmdev at cs.uiuc.edu> > Sent: Friday, March 1, 2013 10:06:51 AM > Subject: Re: [LLVMdev] parallel loop metadata simplification > > Hi Hal, > > On 2013-02-28, at 9:33
2014 Aug 12
3
[LLVMdev] Proposal for ""llvm.mem.vectorize.safelen"
On 12 August 2014 18:49, Johannes Doerfert <doerfert at cs.uni-saarland.de> wrote: > I recently submitted a patch to the list [1] which would allow Polly to > extract the dependency distance for each analyzable loop. While the > distance is often not constant but parametric we would also need to > version the vectorized loop based on the actual runtime values. Since this is a
2013 Mar 01
0
[LLVMdev] parallel loop metadata simplification
...uld keep a >>>> stack of parallel loops to handle nested cases, right? >>>> >>> >>> Hmm, I guess I'm missing something. It is my understanding that all >>> loads and stores require the metadata (and based on the >>> implementation of isAnnotatedParallel). What you describe suggests >>> that a loop goes from non-parallel to parallel after SROA? >> >> Or after mem2reg; something like that, yes. I think that's right. > > On second thought, to be more specific, it might depend on whether the alloca is inside or outside...
2020 Jul 01
5
[RFC] Compiled regression tests.
...end and MDNodes with same content uniqued, making it impossible to associate particular MDNodes with specific functions. Ideally the regression test would be robust and understandable, achievable with two asserts in a unittest: Loop &OuterLoop = *LI->begin(); ASSERT_TRUE(OuterLoop.isAnnotatedParallel()); Loop &InnerLoop = *OuterLoop.begin(); ASSERT_TRUE(InnerLoop.isAnnotatedParallel()); -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20200701/a5c5b6e4/attachment-0001.html>
2013 Mar 01
2
[LLVMdev] parallel loop metadata simplification
Hi Hal, On 2013-02-28, at 9:33 PM, Hal Finkel wrote: > ----- Original Message ----- >> From: "Paul Redmond" <paul.redmond at intel.com> >> To: "llvmdev at cs.uiuc.edu Dev" <llvmdev at cs.uiuc.edu> >> Sent: Thursday, February 28, 2013 1:30:57 PM >> Subject: [LLVMdev] parallel loop metadata simplification >> >> Hi, >>
2020 Jun 24
2
[RFC] Compiled regression tests.
Am Mi., 24. Juni 2020 um 00:37 Uhr schrieb David Blaikie <dblaikie at gmail.com>: > I'm pretty change averse - and am in this case (but doesn't mean other folks won't be in favor and doesn't mean it isn't worth trying, etc - but if it were up to me, at the moment, I'd decline) That's understandable. New features also come with a cost that they need to recoup