similar to: [LLVMdev] Loop Unroll Factor

Displaying 20 results from an estimated 10000 matches similar to: "[LLVMdev] Loop Unroll Factor"

2011 Jun 16
0
[LLVMdev] Loop Unroll Factor
Suresh, On Jun 15, 2011, at 9:13 PM, Suresh Purini wrote: > Dear all, > > What is the default loop-unroll factor in llvm? How can we specify > our own unroll-factor? Here "we" means end user or a compiler developer ? The threshold is 150, see LoopUnrollPass.cpp - Devang
2011 Jun 17
1
[LLVMdev] Loop Unroll Factor
Devang, I meant as an end user. -Suresh On Thu, Jun 16, 2011 at 11:00 PM, Devang Patel <dpatel at apple.com> wrote: > Suresh, > > > On Jun 15, 2011, at 9:13 PM, Suresh Purini wrote: > >> Dear all, >> >> What is the default loop-unroll factor in llvm? How can we specify >> our own unroll-factor? > > Here "we" means end user or a
2011 Sep 16
1
[LLVMdev] Problem with loop-unrolling
Hello, When we invoke the loop-unroll pass, the compiler is crashing. From the earlier posts in the mailing-list and from the bug reports, it is a known problem. Is there some one working on this bug? -Suresh
2011 Jun 25
1
[LLVMdev] Loop Unrolling
Hello, I tried to do some small experiments on the loop unroll transformation. Following is the Test Program. I compiled it as follows: $ opt -loop-rotate -debug-only=loop-unroll -loop-unroll -unroll-count=2 test1.o -S -o test1.s ------------------ int a[1024]; int main() { int i, sum=0; for(i=0; i<1024; ++i) sum += a[i]; printf("%d",sum); } ------------------- I got
2010 Jun 04
0
[LLVMdev] Speculative phi elimination at the top of a loop?
Hi, On Fri, Jun 4, 2010 at 5:18 AM, Pekka Nikander <pekka.nikander at nomadiclab.com> wrote: >  Would the best way be to add an option to -loop-unroll, and hack away at lib/Transforms/Utils/LoopUnroll.cpp? Instead, the better alternative is to write another pass similar to LoopUnrollPass.cpp (say LoopPeelPass.cpp) and add new option -loop-peel. The new pass could use llvm::UnrollLoop()
2010 Jun 04
5
[LLVMdev] Speculative phi elimination at the top of a loop?
I am working on heavily optimising unusually static C++ code, and have encountered a situation where I basically want an optimiser that would speculatively unroll a loop to see if the first round of the loop could be optimised further. (I happen to know that it is possible.) The previous optimisations that produce the loop in the first place already do a magical job (relying heavily on constant
2012 Feb 01
3
[LLVMdev] Loop Unroll a constant number of times?
Is it possible to unroll a loop (forcibly if necessary) with llvm (possibly the -loop-unroll pass) a constant number of times. I believe that I read that the -unroll-count=x option was removed, correct? So is there some other way to do this or is this just not possible in llvm? -------------- next part -------------- An HTML attachment was scrubbed... URL:
2020 May 22
4
Loop Unroll
Hi, I'm interesting in find a pass for loop unrolling in LLVM compiler. I tried opt --loop-unroll --unroll-count=4, but it don't work well. What pass I can used and how? I would also like to know if there is any way to mark the loops that I want them to be unroll Thanks you. -------------- next part -------------- An HTML attachment was scrubbed... URL:
2012 Feb 10
2
[LLVMdev] Loop Metadata?
On Fri, Feb 10, 2012 at 1:14 PM, Devang Patel <dpatel at apple.com> wrote: > > On Feb 10, 2012, at 10:19 AM, Hal Finkel <hfinkel at anl.gov> wrote: > >> Is there currently a good way of attaching metadata to loops? >> >> The use case that I have in mind is implementing a feature whereby the >> user can put >> #pragma unroll(N) >> above a
2012 Feb 10
2
[LLVMdev] Loop Metadata?
Is there currently a good way of attaching metadata to loops? The use case that I have in mind is implementing a feature whereby the user can put #pragma unroll(N) above a loop and that serves has an instruction to the optimizer to unroll the loop N times. I understand that LLVM does not have a first-class loop construct, but would attaching the metadata to the instructions that branch to the
2011 Jun 19
2
[LLVMdev] Phase Interactions
Dear all, I am doing few experiments to do understand optimization phase interactions. Here is a brief description of my experiements. 1. I picked the list of machine independent optimizations acting on llvm IR (those that are enabled at O3). 2. for each optimzation in the optimization-list a) Compiled the program using 'clang -c O0 -flto program.c' b) opt
2011 Sep 21
1
[LLVMdev] Fortran to llvm IR
Hello, How can I convert Fortran Programs to llvm IR? Can I use dragonegg to generate an llvm IR and then use rest of the llvm tool set as it is? -Suresh
2015 Oct 16
2
question about llvm partial unrolling/runtime unrolling
Hi Hal, I did opt.exe -S -debug -loop-unroll -unroll-runtime=true -unroll-count=4 csShader.ll and it prints out: Args: opt.exe -S -debug -loop-unroll -unroll-runtime=true -unroll-count=4 csShader.ll Loop Unroll: F[build_cs_5_0] Loop %loop_entry Loop Size = 82 partially unrolling with count: 1 Thanks, Frances On Thu, Oct 15, 2015 at 9:35 PM, Hal Finkel <hfinkel at anl.gov>
2020 May 14
3
LLVM's loop unroller & llvm.loop.parallel_accesses
Hi, in our backend, which is unfortunately not upstreamed, we are relying on llvm.loop.parallel_accesses metadata for certain passes like software pipelining so we can re-order instructions. Ideally, we would want the loop unroller to support the notion of the loop's parallelism in its pre-unrolled version. This probably should happen by propagating !alias.scope and !alias metadata. Is there
2020 May 14
3
LLVM's loop unroller & llvm.loop.parallel_accesses
This is interesting! So are you saying that loop.parallel_accesses strictly loop parallel, and says nothing about aliasing? I see, I guess we may have been "abusing" the hint and re-purposed it. But isn't llvm's vectorizer using loop.parallel_accesses to vectorize loops including vectorize memory accesses that if you ignore loop-carried dependencies, usually means effectively
2011 Jun 19
0
[LLVMdev] Phase Interactions
On 19 June 2011 14:44, Suresh Purini <suresh.purini at gmail.com> wrote: >  I am doing few experiments to do understand optimization phase > interactions. Here is a brief description of my experiements. > > 1. I picked the list of machine independent optimizations acting on > llvm IR (those that are enabled at O3). > 2.  for each optimzation in the optimization-list >  
2013 Feb 09
1
[LLVMdev] Impact of an analysis pass on program run time
Hello, I am working on finding good optimization sequences for a given program (phase ordering problem). I have the following setup. 1) The source programs are translated into LLVM IR using -O0 + -scalarrepl. 2) Find an optimization sequence using some strategy which translates the IR generated in the previous step into another IR. 3) Apply llc -O2 and map the IR in to target assembly code.
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
2012 Feb 10
0
[LLVMdev] Loop Metadata?
On Feb 10, 2012, at 10:19 AM, Hal Finkel <hfinkel at anl.gov> wrote: > Is there currently a good way of attaching metadata to loops? > > The use case that I have in mind is implementing a feature whereby the > user can put > #pragma unroll(N) > above a loop and that serves has an instruction to the optimizer to > unroll the loop N times. > > I understand that
2020 May 18
2
LLVM's loop unroller & llvm.loop.parallel_accesses
Would you guys be open to supporting a new hint with the right semantics, like e.g. llvm.loop.noalias_accesses?! I would need to find support in clang however and the main point of support would be the loop unroller behaving as stated in the OP. On Thu, May 14, 2020 at 3:04 PM Michael Kruse <llvmdev at meinersbur.de> wrote: > Trivial example: > > #pragma clang loop