brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.1 KiB · bc24551 Raw
90 lines · plain
1// Test the cir.objsize operation can parse and print correctly (roundtrip)2// with all possible combinations of optional attributes3 4// RUN: cir-opt %s --verify-roundtrip | FileCheck %s5 6!u64i = !cir.int<u, 64>7!void = !cir.void8 9module {10  cir.func @test_max(%arg0: !cir.ptr<!void>) -> !u64i {11    %0 = cir.objsize max %arg0 : !cir.ptr<!void> -> !u64i12    cir.return %0 : !u64i13  }14 15  cir.func @test_max_nullunknown(%arg0: !cir.ptr<!void>) -> !u64i {16    %0 = cir.objsize max nullunknown %arg0 : !cir.ptr<!void> -> !u64i17    cir.return %0 : !u64i18  }19 20  cir.func @test_max_dynamic(%arg0: !cir.ptr<!void>) -> !u64i {21    %0 = cir.objsize max dynamic %arg0 : !cir.ptr<!void> -> !u64i22    cir.return %0 : !u64i23  }24 25  cir.func @test_max_nullunknown_dynamic(%arg0: !cir.ptr<!void>) -> !u64i {26    %0 = cir.objsize max nullunknown dynamic %arg0 : !cir.ptr<!void> -> !u64i27    cir.return %0 : !u64i28  }29 30  cir.func @test_min(%arg0: !cir.ptr<!void>) -> !u64i {31    %0 = cir.objsize min %arg0 : !cir.ptr<!void> -> !u64i32    cir.return %0 : !u64i33  }34 35  cir.func @test_min_nullunknown(%arg0: !cir.ptr<!void>) -> !u64i {36    %0 = cir.objsize min nullunknown %arg0 : !cir.ptr<!void> -> !u64i37    cir.return %0 : !u64i38  }39 40  cir.func @test_min_dynamic(%arg0: !cir.ptr<!void>) -> !u64i {41    %0 = cir.objsize min dynamic %arg0 : !cir.ptr<!void> -> !u64i42    cir.return %0 : !u64i43  }44 45  cir.func @test_min_nullunknown_dynamic(%arg0: !cir.ptr<!void>) -> !u64i {46    %0 = cir.objsize min nullunknown dynamic %arg0 : !cir.ptr<!void> -> !u64i47    cir.return %0 : !u64i48  }49}50 51// CHECK: cir.func @test_max(%arg0: !cir.ptr<!void>) -> !u64i {52// CHECK:   %0 = cir.objsize max %arg0 : !cir.ptr<!void> -> !u64i53// CHECK:   cir.return %0 : !u64i54// CHECK: }55 56// CHECK: cir.func @test_max_nullunknown(%arg0: !cir.ptr<!void>) -> !u64i {57// CHECK:   %0 = cir.objsize max nullunknown %arg0 : !cir.ptr<!void> -> !u64i58// CHECK:   cir.return %0 : !u64i59// CHECK: }60 61// CHECK: cir.func @test_max_dynamic(%arg0: !cir.ptr<!void>) -> !u64i {62// CHECK:   %0 = cir.objsize max dynamic %arg0 : !cir.ptr<!void> -> !u64i63// CHECK:   cir.return %0 : !u64i64// CHECK: }65 66// CHECK: cir.func @test_max_nullunknown_dynamic(%arg0: !cir.ptr<!void>) -> !u64i {67// CHECK:   %0 = cir.objsize max nullunknown dynamic %arg0 : !cir.ptr<!void> -> !u64i68// CHECK:   cir.return %0 : !u64i69// CHECK: }70 71// CHECK: cir.func @test_min(%arg0: !cir.ptr<!void>) -> !u64i {72// CHECK:   %0 = cir.objsize min %arg0 : !cir.ptr<!void> -> !u64i73// CHECK:   cir.return %0 : !u64i74// CHECK: }75 76// CHECK: cir.func @test_min_nullunknown(%arg0: !cir.ptr<!void>) -> !u64i {77// CHECK:   %0 = cir.objsize min nullunknown %arg0 : !cir.ptr<!void> -> !u64i78// CHECK:   cir.return %0 : !u64i79// CHECK: }80 81// CHECK: cir.func @test_min_dynamic(%arg0: !cir.ptr<!void>) -> !u64i {82// CHECK:   %0 = cir.objsize min dynamic %arg0 : !cir.ptr<!void> -> !u64i83// CHECK:   cir.return %0 : !u64i84// CHECK: }85 86// CHECK: cir.func @test_min_nullunknown_dynamic(%arg0: !cir.ptr<!void>) -> !u64i {87// CHECK:   %0 = cir.objsize min nullunknown dynamic %arg0 : !cir.ptr<!void> -> !u64i88// CHECK:   cir.return %0 : !u64i89// CHECK: }90