Files
mie/doc/sample/ir/for-loop-4.mie

17 lines
813 B
Plaintext
Raw Normal View History

2026-03-16 12:09:37 +00:00
module {
func.func @_reduce(%buffer: memref<1024*f32>, %lb: index, %ub: index, %step: index) -> f32 {
%sum.0 = arith.constant 0 : f32
cf.br ^for.entry(%lb: index, %sum.0: f32)
^for.entry(%iv: index, %sum.iter: f32):
%t = memref.load %buffer[%iv] : memref<1024*f32>
%sum.next = arith.addf %sum.iter, %t : f32
cf.br ^for.cond(%iv: index, %sum.next: f32)
^for.cond(%iv.0: index, %sum.iter.0: index):
%iv.next = arith.addi %iv.0, %step : index
%stop = arith.cmpi uge %iv.next, %ub : index
cf.br-cond %stop, ^for.end(%sum.iter.0: index), ^for.entry(%iv.next: index, %sum.iter.0: index)
^for.end(%sum: f32):
func.return %sum : f32
}
}