Files
2025-03-24 09:27:57 +02:00

57 lines
1.3 KiB
MLIR

//
// This file is distributed under the MIT License. See LICENSE.md for details.
//
// RUN: %revngcliftopt %s --emit-c="tagless model=%S/model.yml" -o /dev/null | FileCheck %s
!void = !clift.primitive<void 0>
!int32_t = !clift.primitive<signed 4>
!f = !clift.defined<#clift.func<
"/type-definition/1001-CABIFunctionDefinition" : !void()
>>
clift.module {
// CHECK: void fun_0x40001001(void) {
clift.func @f<!f>() attributes {
handle = "/function/0x40001001:Code_x86_64"
} {
// CHECK: while (0)
clift.while {
%0 = clift.imm 0 : !int32_t
clift.yield %0 : !int32_t
} {
// CHECK: break;
clift.loop_break
}
// CHECK: while (1)
clift.while {
%1 = clift.imm 1 : !int32_t
clift.yield %1 : !int32_t
} {
// CHECK: continue;
clift.loop_continue
}
// CHECK: while (2) {
clift.while {
%2 = clift.imm 2 : !int32_t
clift.yield %2 : !int32_t
} {
// CHECK: 3;
clift.expr {
%3 = clift.imm 3 : !int32_t
clift.yield %3 : !int32_t
}
// CHECK: 4;
clift.expr {
%4 = clift.imm 4 : !int32_t
clift.yield %4 : !int32_t
}
}
// CHECK: }
}
// CHECK: }
}