search for: loop_exit

Displaying 6 results from an estimated 6 matches for "loop_exit".

2015 Jul 16
3
[LLVMdev] why LoopUnswitch pass does not constant fold conditional branch and merge blocks
Hi, I have a general question on LoopUnswtich pass. Consider the following IR snippet: define i32 @test(i1 %cond) { br label %loop_begin loop_begin: br i1 %cond, label %loop_body, label %loop_exit loop_body: br label %do_something do_something: call void @some_func() noreturn nounwind br label %loop_begin loop_exit: ret i32 0 } declare void @some_func() noreturn After running it through "opt -loop-unswitch -S", it unswitched loop on %cond and produced result like this:...
2010 Jun 02
3
[LLVMdev] Support for per-loop pragma
On Tue, Jun 1, 2010 at 5:42 PM, Junjie Gu <jgu222 at gmail.com> wrote: > Any suggestions/ideas ? IIUC, Chris suggested something like following ... header: br i1 %x, label %then, %label endif then: ... br i1 %y, label %loop_exit, label %header, !loop_pragma !1 endif: ... br i1 %z, label %loop_exit, label %header, !loop_pragma !2 loop_exit: ret i32 1 Where !1 and !2 are the metadata for your loop pragma. - Devang
2010 Jun 02
0
[LLVMdev] Support for per-loop pragma
...mail.com> wrote: > On Tue, Jun 1, 2010 at 5:42 PM, Junjie Gu <jgu222 at gmail.com> wrote: >> Any suggestions/ideas ? > > IIUC, Chris suggested something like following ... > > header: >  br i1 %x, label %then, %label endif > then: >  ... >  br i1 %y, label %loop_exit, label %header, !loop_pragma !1 > endif: >  ... >  br i1 %z, label %loop_exit, label %header, !loop_pragma !2 > loop_exit: >  ret i32 1 > > > Where !1 and !2 are the metadata for your loop pragma. > > - > Devang >
2010 Jun 02
1
[LLVMdev] Support for per-loop pragma
...1, 2010 at 5:42 PM, Junjie Gu <jgu222 at gmail.com> wrote: >>> Any suggestions/ideas ? >> >> IIUC, Chris suggested something like following ... >> >> header: >>  br i1 %x, label %then, %label endif >> then: >>  ... >>  br i1 %y, label %loop_exit, label %header, !loop_pragma !1 >> endif: >>  ... >>  br i1 %z, label %loop_exit, label %header, !loop_pragma !2 >> loop_exit: >>  ret i32 1 >> >> >> Where !1 and !2 are the metadata for your loop pragma. >> >> - >> Devang >> &...
2010 Jun 02
0
[LLVMdev] Support for per-loop pragma
I'd like to add a pragma support in llvm. I am thinking about using a llvm intrinsic to represent each pragma, such as llvm.pragma (metadata, ...) where metadata describes a pragma. So if an application has: #pragma p1 .. #pragma p2... for (...) The llvm IR would be llvm.pragma (metadata..) // for p1 llvm.pragma (metadata..) // for p2 llvm IR for "for
2010 May 19
4
[LLVMdev] Support for per-loop pragma
Hi Chris, Thanks. I will see what I can do for this. Junjie On Wed, May 19, 2010 at 3:45 PM, Chris Lattner <clattner at apple.com> wrote: > > On May 19, 2010, at 2:38 PM, Junjie Gu wrote: > >> Many compilers support per-loop pragma, such as loop unrolling (ie >> #pragma unroll=2).  Is there any LLVM project/effort going on >> in this area ? What is the expected