Skip to content

[FPGA20] "The model is unbounded" error in placement #996

Description

@zero9178

Given the following C code:

#include "dynamatic/Integration.h"
#include <stdint.h>
#ifdef HLS_FUZZER_VERIFY
constexpr
#endif
    float
    test15(int16_t var0, int32_t var3, uint8_t, int16_t, int16_t, int16_t,
           uint32_t var9, uint16_t var12, uint16_t, uint16_t, uint8_t, uint8_t,
           uint8_t, uint16_t var19, uint8_t, uint16_t, int8_t[6], uint8_t[2],
           int8_t[2], uint16_t[2], int16_t[1], double var25[2]) {
  for (uint32_t var1 = 0; var1 < (var12 <= var3 ? var12 >= var9 != var19 : 0);
       var1 += 1)
    var0 = var0 >> (var0 & 5);
  return var25[var0];
}
#ifdef HLS_FUZZER_VERIFY
constexpr
#endif
    void
    test_bench() {
  int16_t var0 = 0;
  int32_t var3 = 0;
  uint8_t var4 = 0;
  int16_t var5 = 0;
  int16_t var6 = 0;
  int16_t var8 = 0;
  uint32_t var9 = 0;
  uint16_t var12 = 0;
  uint16_t var13 = 0;
  uint16_t var14 = 0;
  uint8_t var16 = 0;
  uint8_t var17 = 0;
  uint8_t var18 = 0;
  uint16_t var19 = 0;
  uint8_t var20 = 0;
  uint16_t var21 = 0;
  int8_t var2[6];
  uint8_t var10[2];
  int8_t var22[2];
  uint16_t var23[2];
  int16_t var24[1];
  double var25[1] = {};
  CALL_KERNEL(test15, var0, var3, var4, var5, var6, var8, var9, var12, var13,
              var14, var16, var17, var18, var19, var20, var21, var2, var10,
              var22, var23, var24, var25);
}
int main() { test_bench(); }

Compiling it with Dynamatic and FPGA20 buffering algorithm yields the following result:

dynamatic> set-src test15.c
dynamatic> compile --buffer-algorithm fpga20
[INFO] Copied C source
/home/mboeck/dynamatic/build/bin/bug112/out/comp/test15.c:7:47: warning: omitting the parameter name in a function definition is a C23 extension [-Wc23-extensions]
    7 |     test15(int16_t var0, int32_t var3, uint8_t, int16_t, int16_t, int16_t,
      |                                               ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/test15.c:7:56: warning: omitting the parameter name in a function definition is a C23 extension [-Wc23-extensions]
    7 |     test15(int16_t var0, int32_t var3, uint8_t, int16_t, int16_t, int16_t,
      |                                                        ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/test15.c:7:65: warning: omitting the parameter name in a function definition is a C23 extension [-Wc23-extensions]
    7 |     test15(int16_t var0, int32_t var3, uint8_t, int16_t, int16_t, int16_t,
      |                                                                 ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/test15.c:7:74: warning: omitting the parameter name in a function definition is a C23 extension [-Wc23-extensions]
    7 |     test15(int16_t var0, int32_t var3, uint8_t, int16_t, int16_t, int16_t,
      |                                                                          ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/test15.c:8:51: warning: omitting the parameter name in a function definition is a C23 extension [-Wc23-extensions]
    8 |            uint32_t var9, uint16_t var12, uint16_t, uint16_t, uint8_t, uint8_t,
      |                                                   ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/test15.c:8:61: warning: omitting the parameter name in a function definition is a C23 extension [-Wc23-extensions]
    8 |            uint32_t var9, uint16_t var12, uint16_t, uint16_t, uint8_t, uint8_t,
      |                                                             ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/test15.c:8:70: warning: omitting the parameter name in a function definition is a C23 extension [-Wc23-extensions]
    8 |            uint32_t var9, uint16_t var12, uint16_t, uint16_t, uint8_t, uint8_t,
      |                                                                      ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/test15.c:8:79: warning: omitting the parameter name in a function definition is a C23 extension [-Wc23-extensions]
    8 |            uint32_t var9, uint16_t var12, uint16_t, uint16_t, uint8_t, uint8_t,
      |                                                                               ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/test15.c:9:19: warning: omitting the parameter name in a function definition is a C23 extension [-Wc23-extensions]
    9 |            uint8_t, uint16_t var19, uint8_t, uint16_t, int8_t[6], uint8_t[2],
      |                   ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/test15.c:9:44: warning: omitting the parameter name in a function definition is a C23 extension [-Wc23-extensions]
    9 |            uint8_t, uint16_t var19, uint8_t, uint16_t, int8_t[6], uint8_t[2],
      |                                            ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/test15.c:9:54: warning: omitting the parameter name in a function definition is a C23 extension [-Wc23-extensions]
    9 |            uint8_t, uint16_t var19, uint8_t, uint16_t, int8_t[6], uint8_t[2],
      |                                                      ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/test15.c:9:62: warning: omitting the parameter name in a function definition is a C23 extension [-Wc23-extensions]
    9 |            uint8_t, uint16_t var19, uint8_t, uint16_t, int8_t[6], uint8_t[2],
      |                                                              ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/test15.c:9:74: warning: omitting the parameter name in a function definition is a C23 extension [-Wc23-extensions]
    9 |            uint8_t, uint16_t var19, uint8_t, uint16_t, int8_t[6], uint8_t[2],
      |                                                                          ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/test15.c:10:18: warning: omitting the parameter name in a function definition is a C23 extension [-Wc23-extensions]
   10 |            int8_t[2], uint16_t[2], int16_t[1], double var25[2]) {
      |                  ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/test15.c:10:31: warning: omitting the parameter name in a function definition is a C23 extension [-Wc23-extensions]
   10 |            int8_t[2], uint16_t[2], int16_t[1], double var25[2]) {
      |                               ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/test15.c:10:43: warning: omitting the parameter name in a function definition is a C23 extension [-Wc23-extensions]
   10 |            int8_t[2], uint16_t[2], int16_t[1], double var25[2]) {
      |                                           ^
16 warnings generated.
[INFO] Disabled short-circuiting
/home/mboeck/dynamatic/build/bin/bug112/out/comp/test15.c:7:47: warning: omitting the parameter name in a function definition is a C23 extension [-Wc23-extensions]
    7 |     test15(int16_t var0, int32_t var3, uint8_t, int16_t, int16_t, int16_t,
      |                                               ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/test15.c:7:56: warning: omitting the parameter name in a function definition is a C23 extension [-Wc23-extensions]
    7 |     test15(int16_t var0, int32_t var3, uint8_t, int16_t, int16_t, int16_t,
      |                                                        ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/test15.c:7:65: warning: omitting the parameter name in a function definition is a C23 extension [-Wc23-extensions]
    7 |     test15(int16_t var0, int32_t var3, uint8_t, int16_t, int16_t, int16_t,
      |                                                                 ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/test15.c:7:74: warning: omitting the parameter name in a function definition is a C23 extension [-Wc23-extensions]
    7 |     test15(int16_t var0, int32_t var3, uint8_t, int16_t, int16_t, int16_t,
      |                                                                          ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/test15.c:8:51: warning: omitting the parameter name in a function definition is a C23 extension [-Wc23-extensions]
    8 |            uint32_t var9, uint16_t var12, uint16_t, uint16_t, uint8_t, uint8_t,
      |                                                   ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/test15.c:8:61: warning: omitting the parameter name in a function definition is a C23 extension [-Wc23-extensions]
    8 |            uint32_t var9, uint16_t var12, uint16_t, uint16_t, uint8_t, uint8_t,
      |                                                             ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/test15.c:8:70: warning: omitting the parameter name in a function definition is a C23 extension [-Wc23-extensions]
    8 |            uint32_t var9, uint16_t var12, uint16_t, uint16_t, uint8_t, uint8_t,
      |                                                                      ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/test15.c:8:79: warning: omitting the parameter name in a function definition is a C23 extension [-Wc23-extensions]
    8 |            uint32_t var9, uint16_t var12, uint16_t, uint16_t, uint8_t, uint8_t,
      |                                                                               ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/test15.c:9:19: warning: omitting the parameter name in a function definition is a C23 extension [-Wc23-extensions]
    9 |            uint8_t, uint16_t var19, uint8_t, uint16_t, int8_t[6], uint8_t[2],
      |                   ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/test15.c:9:44: warning: omitting the parameter name in a function definition is a C23 extension [-Wc23-extensions]
    9 |            uint8_t, uint16_t var19, uint8_t, uint16_t, int8_t[6], uint8_t[2],
      |                                            ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/test15.c:9:54: warning: omitting the parameter name in a function definition is a C23 extension [-Wc23-extensions]
    9 |            uint8_t, uint16_t var19, uint8_t, uint16_t, int8_t[6], uint8_t[2],
      |                                                      ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/test15.c:9:62: warning: omitting the parameter name in a function definition is a C23 extension [-Wc23-extensions]
    9 |            uint8_t, uint16_t var19, uint8_t, uint16_t, int8_t[6], uint8_t[2],
      |                                                              ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/test15.c:9:74: warning: omitting the parameter name in a function definition is a C23 extension [-Wc23-extensions]
    9 |            uint8_t, uint16_t var19, uint8_t, uint16_t, int8_t[6], uint8_t[2],
      |                                                                          ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/test15.c:10:18: warning: omitting the parameter name in a function definition is a C23 extension [-Wc23-extensions]
   10 |            int8_t[2], uint16_t[2], int16_t[1], double var25[2]) {
      |                  ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/test15.c:10:31: warning: omitting the parameter name in a function definition is a C23 extension [-Wc23-extensions]
   10 |            int8_t[2], uint16_t[2], int16_t[1], double var25[2]) {
      |                               ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/test15.c:10:43: warning: omitting the parameter name in a function definition is a C23 extension [-Wc23-extensions]
   10 |            int8_t[2], uint16_t[2], int16_t[1], double var25[2]) {
      |                                           ^
16 warnings generated.
[INFO] Compiled to LLVM IR
[INFO] Optimized LLVM IR
[INFO] Applied memory dependency analysis to LLVM IR
[INFO] Converted to std dialect
[INFO] Applied CF transformations
[INFO] Marked memory accesses with the corresponding interfaces in cf
[INFO] Compiled cf to handshake
[INFO] Applied transformations to handshake
[INFO] Built kernel for profiling
[INFO] Ran kernel for profiling
[INFO] Profiled cf-level
[INFO] Set to use "gurobi" to solve buffer placement MILP!
[INFO] Running smart buffer placement with CP = 4.000 and algorithm = 'fpga20'
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:4:5: warning: TimingDatabase::getLatency: no timing model for op
    sink %arg21 {handshake.name = "sink0"} : <>
    ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:4:5: note: see current operation: handshake.sink %arg21 {handshake.bufProps = #handshake<bufProps{"0": [0,0], [0,0], 0, 0.000000e+00, 0.000000e+00, 0.000000e+00}>, handshake.name = "sink0"} : <>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:5:5: warning: TimingDatabase::getLatency: no timing model for op
    sink %arg20 {handshake.name = "sink1"} : <>
    ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:5:5: note: see current operation: handshake.sink %arg20 {handshake.bufProps = #handshake<bufProps{"0": [0,0], [0,0], 0, 0.000000e+00, 0.000000e+00, 0.000000e+00}>, handshake.name = "sink1"} : <>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:6:5: warning: TimingDatabase::getLatency: no timing model for op
    sink %arg19 {handshake.name = "sink2"} : <>
    ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:6:5: note: see current operation: handshake.sink %arg19 {handshake.bufProps = #handshake<bufProps{"0": [0,0], [0,0], 0, 0.000000e+00, 0.000000e+00, 0.000000e+00}>, handshake.name = "sink2"} : <>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:7:5: warning: TimingDatabase::getLatency: no timing model for op
    sink %arg18 {handshake.name = "sink3"} : <>
    ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:7:5: note: see current operation: handshake.sink %arg18 {handshake.bufProps = #handshake<bufProps{"0": [0,0], [0,0], 0, 0.000000e+00, 0.000000e+00, 0.000000e+00}>, handshake.name = "sink3"} : <>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:8:5: warning: TimingDatabase::getLatency: no timing model for op
    sink %arg17 {handshake.name = "sink4"} : <>
    ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:8:5: note: see current operation: handshake.sink %arg17 {handshake.bufProps = #handshake<bufProps{"0": [0,0], [0,0], 0, 0.000000e+00, 0.000000e+00, 0.000000e+00}>, handshake.name = "sink4"} : <>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:9:5: warning: TimingDatabase::getLatency: no timing model for op
    sink %arg15 {handshake.name = "sink5"} : <i16>
    ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:9:5: note: see current operation: handshake.sink %arg15 {handshake.bufProps = #handshake<bufProps{"0": [0,0], [0,0], 0, 0.000000e+00, 0.000000e+00, 0.000000e+00}>, handshake.name = "sink5"} : <i16>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:10:5: warning: TimingDatabase::getLatency: no timing model for op
    sink %arg14 {handshake.name = "sink6"} : <i8>
    ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:10:5: note: see current operation: handshake.sink %arg14 {handshake.bufProps = #handshake<bufProps{"0": [0,0], [0,0], 0, 0.000000e+00, 0.000000e+00, 0.000000e+00}>, handshake.name = "sink6"} : <i8>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:11:5: warning: TimingDatabase::getLatency: no timing model for op
    sink %arg12 {handshake.name = "sink7"} : <i8>
    ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:11:5: note: see current operation: handshake.sink %arg12 {handshake.bufProps = #handshake<bufProps{"0": [0,0], [0,0], 0, 0.000000e+00, 0.000000e+00, 0.000000e+00}>, handshake.name = "sink7"} : <i8>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:12:5: warning: TimingDatabase::getLatency: no timing model for op
    sink %arg11 {handshake.name = "sink8"} : <i8>
    ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:12:5: note: see current operation: handshake.sink %arg11 {handshake.bufProps = #handshake<bufProps{"0": [0,0], [0,0], 0, 0.000000e+00, 0.000000e+00, 0.000000e+00}>, handshake.name = "sink8"} : <i8>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:13:5: warning: TimingDatabase::getLatency: no timing model for op
    sink %arg10 {handshake.name = "sink9"} : <i8>
    ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:13:5: note: see current operation: handshake.sink %arg10 {handshake.bufProps = #handshake<bufProps{"0": [0,0], [0,0], 0, 0.000000e+00, 0.000000e+00, 0.000000e+00}>, handshake.name = "sink9"} : <i8>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:14:5: warning: TimingDatabase::getLatency: no timing model for op
    sink %arg9 {handshake.name = "sink10"} : <i16>
    ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:14:5: note: see current operation: handshake.sink %arg9 {handshake.bufProps = #handshake<bufProps{"0": [0,0], [0,0], 0, 0.000000e+00, 0.000000e+00, 0.000000e+00}>, handshake.name = "sink10"} : <i16>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:15:5: warning: TimingDatabase::getLatency: no timing model for op
    sink %arg8 {handshake.name = "sink11"} : <i16>
    ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:15:5: note: see current operation: handshake.sink %arg8 {handshake.bufProps = #handshake<bufProps{"0": [0,0], [0,0], 0, 0.000000e+00, 0.000000e+00, 0.000000e+00}>, handshake.name = "sink11"} : <i16>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:17:5: warning: TimingDatabase::getLatency: no timing model for op
    sink %arg5 {handshake.name = "sink12"} : <i16>
    ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:17:5: note: see current operation: handshake.sink %arg5 {handshake.bufProps = #handshake<bufProps{"0": [0,0], [0,0], 0, 0.000000e+00, 0.000000e+00, 0.000000e+00}>, handshake.name = "sink12"} : <i16>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:18:5: warning: TimingDatabase::getLatency: no timing model for op
    sink %arg4 {handshake.name = "sink13"} : <i16>
    ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:18:5: note: see current operation: handshake.sink %arg4 {handshake.bufProps = #handshake<bufProps{"0": [0,0], [0,0], 0, 0.000000e+00, 0.000000e+00, 0.000000e+00}>, handshake.name = "sink13"} : <i16>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:19:5: warning: TimingDatabase::getLatency: no timing model for op
    sink %arg3 {handshake.name = "sink14"} : <i16>
    ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:19:5: note: see current operation: handshake.sink %arg3 {handshake.bufProps = #handshake<bufProps{"0": [0,0], [0,0], 0, 0.000000e+00, 0.000000e+00, 0.000000e+00}>, handshake.name = "sink14"} : <i16>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:20:5: warning: TimingDatabase::getLatency: no timing model for op
    sink %arg2 {handshake.name = "sink15"} : <i8>
    ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:20:5: note: see current operation: handshake.sink %arg2 {handshake.bufProps = #handshake<bufProps{"0": [0,0], [0,0], 0, 0.000000e+00, 0.000000e+00, 0.000000e+00}>, handshake.name = "sink15"} : <i8>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:21:25: warning: TimingDatabase::getLatency: no timing model for op
    %outputs, %memEnd = mem_controller[%arg16 : memref<2xf64>] %arg22 (%addressResult) %result_34 {connectedBlocks = [5 : i32], handshake.name = "mem_controller1"} :    (!handshake.channel<i1>) -> !handshake.channel<f64>
                        ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:21:25: note: see current operation: %outputs, %memEnd = handshake.mem_controller[%arg16 : memref<2xf64>] %arg22 (%addressResult) %result_34 {connectedBlocks = [5 : i32], handshake.bufProps = #handshake<bufProps{"0": [0,0], [0,0], 0, 0.000000e+00, 0.000000e+00, 0.000000e+00, "1": [0,0], [0,0], 0, 0.000000e+00, 0.000000e+00, 0.000000e+00, "2": [0,0], [0,0], 0, 0.000000e+00, 0.000000e+00, 0.000000e+00}>, handshake.name = "mem_controller1"} :    (!handshake.channel<i1>) -> !handshake.channel<f64>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:22:10: warning: TimingDatabase::getLatency: no timing model for op
    %2 = extui %1#1 {handshake.bb = 0 : ui32, handshake.name = "extui0"} : <i16> to <i32>
         ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:22:10: note: see current operation: %2 = handshake.extui %1#1 {handshake.bb = 0 : ui32, handshake.name = "extui0"} : <i16> to <i32>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:24:10: warning: TimingDatabase::getLatency: no timing model for op
    %4 = constant %0#0 {handshake.bb = 0 : ui32, handshake.name = "constant1", value = false} : <>, <i1>
         ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:24:10: note: see current operation: %4 = handshake.constant %0#0 {handshake.bb = 0 : ui32, handshake.name = "constant1", value = false} : <>, <i1>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:25:10: warning: TimingDatabase::getLatency: no timing model for op
    %5 = br %4 {handshake.bb = 0 : ui32, handshake.name = "br3"} : <i1>
         ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:25:10: note: see current operation: %5 = handshake.br %4 {handshake.bb = 0 : ui32, handshake.name = "br3"} : <i1>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:26:10: warning: TimingDatabase::getLatency: no timing model for op
    %6 = extui %5 {handshake.bb = 0 : ui32, handshake.name = "extui4"} : <i1> to <i2>
         ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:26:10: note: see current operation: %6 = handshake.extui %5 {handshake.bb = 0 : ui32, handshake.name = "extui4"} : <i1> to <i2>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:27:10: warning: TimingDatabase::getLatency: no timing model for op
    %7 = br %arg0 {handshake.bb = 0 : ui32, handshake.name = "br4"} : <i16>
         ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:27:10: note: see current operation: %7 = handshake.br %arg0 {handshake.bb = 0 : ui32, handshake.bufProps = #handshake<bufProps{"0": [0,0], [0,0], 0, 0.000000e+00, 0.000000e+00, 0.000000e+00}>, handshake.name = "br4"} : <i16>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:28:10: warning: TimingDatabase::getLatency: no timing model for op
    %8 = br %arg6 {handshake.bb = 0 : ui32, handshake.name = "br5"} : <i32>
         ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:28:10: note: see current operation: %8 = handshake.br %arg6 {handshake.bb = 0 : ui32, handshake.bufProps = #handshake<bufProps{"0": [0,0], [0,0], 0, 0.000000e+00, 0.000000e+00, 0.000000e+00}>, handshake.name = "br5"} : <i32>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:29:10: warning: TimingDatabase::getLatency: no timing model for op
    %9 = br %1#0 {handshake.bb = 0 : ui32, handshake.name = "br6"} : <i16>
         ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:29:10: note: see current operation: %9 = handshake.br %1#0 {handshake.bb = 0 : ui32, handshake.name = "br6"} : <i16>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:30:11: warning: TimingDatabase::getLatency: no timing model for op
    %10 = br %arg13 {handshake.bb = 0 : ui32, handshake.name = "br7"} : <i16>
          ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:30:11: note: see current operation: %10 = handshake.br %arg13 {handshake.bb = 0 : ui32, handshake.bufProps = #handshake<bufProps{"0": [0,0], [0,0], 0, 0.000000e+00, 0.000000e+00, 0.000000e+00}>, handshake.name = "br7"} : <i16>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:31:11: warning: TimingDatabase::getLatency: no timing model for op
    %11 = br %3 {handshake.bb = 0 : ui32, handshake.name = "br8"} : <i1>
          ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:31:11: note: see current operation: %11 = handshake.br %3 {handshake.bb = 0 : ui32, handshake.name = "br8"} : <i1>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:32:11: warning: TimingDatabase::getLatency: no timing model for op
    %12 = br %0#2 {handshake.bb = 0 : ui32, handshake.name = "br9"} : <>
          ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:32:11: note: see current operation: %12 = handshake.br %0#2 {handshake.bb = 0 : ui32, handshake.name = "br9"} : <>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:43:11: warning: TimingDatabase::getLatency: no timing model for op
    %22 = constant %21#0 {handshake.bb = 1 : ui32, handshake.name = "constant2", value = false} : <>, <i1>
          ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:43:11: note: see current operation: %22 = handshake.constant %21#0 {handshake.bb = 1 : ui32, handshake.name = "constant2", value = false} : <>, <i1>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:45:5: warning: TimingDatabase::getLatency: no timing model for op
    sink %falseResult {handshake.name = "sink16"} : <i1>
    ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:45:5: note: see current operation: handshake.sink %falseResult {handshake.name = "sink16"} : <i1>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:63:5: warning: TimingDatabase::getLatency: no timing model for op
    sink %index_15 {handshake.name = "sink17"} : <i1>
    ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:63:5: note: see current operation: handshake.sink %index_15 {handshake.name = "sink17"} : <i1>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:64:11: warning: TimingDatabase::getLatency: no timing model for op
    %32 = extui %26#1 {handshake.bb = 2 : ui32, handshake.name = "extui1"} : <i16> to <i32>
          ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:64:11: note: see current operation: %32 = handshake.extui %26#1 {handshake.bb = 2 : ui32, handshake.name = "extui1"} : <i16> to <i32>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:66:11: warning: TimingDatabase::getLatency: no timing model for op
    %34 = extui %33 {handshake.bb = 2 : ui32, handshake.name = "extui2"} : <i1> to <i16>
          ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:66:11: note: see current operation: %34 = handshake.extui %33 {handshake.bb = 2 : ui32, handshake.name = "extui2"} : <i1> to <i16>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:68:11: warning: TimingDatabase::getLatency: no timing model for op
    %36 = br %35 {handshake.bb = 2 : ui32, handshake.name = "br10"} : <i1>
          ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:68:11: note: see current operation: %36 = handshake.br %35 {handshake.bb = 2 : ui32, handshake.name = "br10"} : <i1>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:69:11: warning: TimingDatabase::getLatency: no timing model for op
    %37 = br %24#0 {handshake.bb = 2 : ui32, handshake.name = "br11"} : <i32>
          ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:69:11: note: see current operation: %37 = handshake.br %24#0 {handshake.bb = 2 : ui32, handshake.name = "br11"} : <i32>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:70:11: warning: TimingDatabase::getLatency: no timing model for op
    %38 = br %26#0 {handshake.bb = 2 : ui32, handshake.name = "br12"} : <i16>
          ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:70:11: note: see current operation: %38 = handshake.br %26#0 {handshake.bb = 2 : ui32, handshake.name = "br12"} : <i16>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:71:11: warning: TimingDatabase::getLatency: no timing model for op
    %39 = br %28#0 {handshake.bb = 2 : ui32, handshake.name = "br13"} : <i16>
          ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:71:11: note: see current operation: %39 = handshake.br %28#0 {handshake.bb = 2 : ui32, handshake.name = "br13"} : <i16>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:72:11: warning: TimingDatabase::getLatency: no timing model for op
    %40 = br %29 {handshake.bb = 2 : ui32, handshake.name = "br14"} : <i1>
          ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:72:11: note: see current operation: %40 = handshake.br %29 {handshake.bb = 2 : ui32, handshake.name = "br14"} : <i1>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:73:11: warning: TimingDatabase::getLatency: no timing model for op
    %41 = br %30 {handshake.bb = 2 : ui32, handshake.name = "br15"} : <i2>
          ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:73:11: note: see current operation: %41 = handshake.br %30 {handshake.bb = 2 : ui32, handshake.name = "br15"} : <i2>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:74:11: warning: TimingDatabase::getLatency: no timing model for op
    %42 = br %31 {handshake.bb = 2 : ui32, handshake.name = "br16"} : <i16>
          ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:74:11: note: see current operation: %42 = handshake.br %31 {handshake.bb = 2 : ui32, handshake.name = "br16"} : <i16>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:75:11: warning: TimingDatabase::getLatency: no timing model for op
    %43 = br %result_14 {handshake.bb = 2 : ui32, handshake.name = "br17"} : <>
          ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:75:11: note: see current operation: %43 = handshake.br %result_14 {handshake.bb = 2 : ui32, handshake.name = "br17"} : <>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:77:11: warning: TimingDatabase::getLatency: no timing model for op
    %45 = extui %44 {handshake.bb = 3 : ui32, handshake.name = "extui5"} : <i1> to <i2>
          ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:77:11: note: see current operation: %45 = handshake.extui %44 {handshake.bb = 3 : ui32, handshake.name = "extui5"} : <i1> to <i2>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:84:11: warning: TimingDatabase::getLatency: no timing model for op
    %52 = trunci %51#0 {handshake.bb = 3 : ui32, handshake.name = "trunci0"} : <i2> to <i1>
          ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:84:11: note: see current operation: %52 = handshake.trunci %51#0 {handshake.bb = 3 : ui32, handshake.name = "trunci0"} : <i2> to <i1>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:91:5: warning: TimingDatabase::getLatency: no timing model for op
    sink %falseResult_19 {handshake.name = "sink18"} : <i32>
    ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:91:5: note: see current operation: handshake.sink %falseResult_19 {handshake.name = "sink18"} : <i32>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:93:5: warning: TimingDatabase::getLatency: no timing model for op
    sink %falseResult_21 {handshake.name = "sink19"} : <i16>
    ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:93:5: note: see current operation: handshake.sink %falseResult_21 {handshake.name = "sink19"} : <i16>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:95:5: warning: TimingDatabase::getLatency: no timing model for op
    sink %falseResult_23 {handshake.name = "sink20"} : <i16>
    ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:95:5: note: see current operation: handshake.sink %falseResult_23 {handshake.name = "sink20"} : <i16>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:97:5: warning: TimingDatabase::getLatency: no timing model for op
    sink %falseResult_25 {handshake.name = "sink21"} : <i1>
    ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:97:5: note: see current operation: handshake.sink %falseResult_25 {handshake.name = "sink21"} : <i1>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:99:5: warning: TimingDatabase::getLatency: no timing model for op
    sink %falseResult_27 {handshake.name = "sink22"} : <i1>
    ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:99:5: note: see current operation: handshake.sink %falseResult_27 {handshake.name = "sink22"} : <i1>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:101:11: warning: TimingDatabase::getLatency: no timing model for op
    %57 = trunci %falseResult_29 {handshake.bb = 3 : ui32, handshake.name = "trunci1"} : <i16> to <i1>
          ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:101:11: note: see current operation: %57 = handshake.trunci %falseResult_29 {handshake.bb = 3 : ui32, handshake.name = "trunci1"} : <i16> to <i1>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:108:11: warning: TimingDatabase::getLatency: no timing model for op
    %63 = extui %62 {handshake.bb = 4 : ui32, handshake.name = "extui6"} : <i1> to <i2>
          ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:108:11: note: see current operation: %63 = handshake.extui %62 {handshake.bb = 4 : ui32, handshake.name = "extui6"} : <i1> to <i2>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:109:11: warning: TimingDatabase::getLatency: no timing model for op
    %64 = constant %69 {handshake.bb = 4 : ui32, handshake.name = "constant6", value = 1 : i2} : <>, <i2>
          ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:109:11: note: see current operation: %64 = handshake.constant %69 {handshake.bb = 4 : ui32, handshake.name = "constant6", value = 1 : i2} : <>, <i2>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:112:11: warning: TimingDatabase::getLatency: no timing model for op
    %67 = trunci %66#0 {handshake.bb = 4 : ui32, handshake.name = "trunci2"} : <i16> to <i3>
          ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:112:11: note: see current operation: %67 = handshake.trunci %66#0 {handshake.bb = 4 : ui32, handshake.name = "trunci2"} : <i16> to <i3>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:113:11: warning: TimingDatabase::getLatency: no timing model for op
    %68 = constant %70 {handshake.bb = 4 : ui32, handshake.name = "constant7", value = -3 : i3} : <>, <i3>
          ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:113:11: note: see current operation: %68 = handshake.constant %70 {handshake.bb = 4 : ui32, handshake.name = "constant7", value = -3 : i3} : <>, <i3>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:115:5: warning: TimingDatabase::getLatency: no timing model for op
    sink %index_33 {handshake.name = "sink23"} : <i1>
    ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:115:5: note: see current operation: handshake.sink %index_33 {handshake.name = "sink23"} : <i1>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:116:11: warning: TimingDatabase::getLatency: no timing model for op
    %69 = source {handshake.bb = 4 : ui32, handshake.name = "source0"} : <>
          ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:116:11: note: see current operation: %69 = handshake.source {handshake.bb = 4 : ui32, handshake.name = "source0"} : <>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:117:11: warning: TimingDatabase::getLatency: no timing model for op
    %70 = source {handshake.bb = 4 : ui32, handshake.name = "source1"} : <>
          ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:117:11: note: see current operation: %70 = handshake.source {handshake.bb = 4 : ui32, handshake.name = "source1"} : <>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:119:11: warning: TimingDatabase::getLatency: no timing model for op
    %72 = extui %71 {handshake.bb = 4 : ui32, handshake.name = "extui7"} : <i3> to <i16>
          ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:119:11: note: see current operation: %72 = handshake.extui %71 {handshake.bb = 4 : ui32, handshake.name = "extui7"} : <i3> to <i16>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:122:11: warning: TimingDatabase::getLatency: no timing model for op
    %75 = br %74 {handshake.bb = 4 : ui32, handshake.name = "br18"} : <i2>
          ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:122:11: note: see current operation: %75 = handshake.br %74 {handshake.bb = 4 : ui32, handshake.name = "br18"} : <i2>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:123:11: warning: TimingDatabase::getLatency: no timing model for op
    %76 = br %73 {handshake.bb = 4 : ui32, handshake.name = "br19"} : <i16>
          ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:123:11: note: see current operation: %76 = handshake.br %73 {handshake.bb = 4 : ui32, handshake.name = "br19"} : <i16>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:124:11: warning: TimingDatabase::getLatency: no timing model for op
    %77 = br %58 {handshake.bb = 4 : ui32, handshake.name = "br20"} : <i32>
          ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:124:11: note: see current operation: %77 = handshake.br %58 {handshake.bb = 4 : ui32, handshake.name = "br20"} : <i32>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:125:11: warning: TimingDatabase::getLatency: no timing model for op
    %78 = br %59 {handshake.bb = 4 : ui32, handshake.name = "br21"} : <i16>
          ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:125:11: note: see current operation: %78 = handshake.br %59 {handshake.bb = 4 : ui32, handshake.name = "br21"} : <i16>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:126:11: warning: TimingDatabase::getLatency: no timing model for op
    %79 = br %60 {handshake.bb = 4 : ui32, handshake.name = "br22"} : <i16>
          ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:126:11: note: see current operation: %79 = handshake.br %60 {handshake.bb = 4 : ui32, handshake.name = "br22"} : <i16>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:127:11: warning: TimingDatabase::getLatency: no timing model for op
    %80 = br %61 {handshake.bb = 4 : ui32, handshake.name = "br23"} : <i1>
          ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:127:11: note: see current operation: %80 = handshake.br %61 {handshake.bb = 4 : ui32, handshake.name = "br23"} : <i1>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:128:11: warning: TimingDatabase::getLatency: no timing model for op
    %81 = br %result_32 {handshake.bb = 4 : ui32, handshake.name = "br24"} : <>
          ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:128:11: note: see current operation: %81 = handshake.br %result_32 {handshake.bb = 4 : ui32, handshake.name = "br24"} : <>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:131:5: warning: TimingDatabase::getLatency: no timing model for op
    sink %index_35 {handshake.name = "sink24"} : <i1>
    ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:131:5: note: see current operation: handshake.sink %index_35 {handshake.name = "sink24"} : <i1>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:133:11: warning: TimingDatabase::getLatency: no timing model for op
    %83 = truncf %dataResult {handshake.bb = 5 : ui32, handshake.name = "truncf0"} : <f64> to <f32>
          ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:133:11: note: see current operation: %83 = handshake.truncf %dataResult {handshake.bb = 5 : ui32, handshake.name = "truncf0"} : <f64> to <f32>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:134:11: warning: TimingDatabase::getLatency: no timing model for op
    %84 = source {handshake.bb = 5 : ui32, handshake.name = "source2"} : <>
          ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:134:11: note: see current operation: %84 = handshake.source {handshake.bb = 5 : ui32, handshake.name = "source2"} : <>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:135:11: warning: TimingDatabase::getLatency: no timing model for op
    %85 = source {handshake.bb = 5 : ui32, handshake.name = "source3"} : <>
          ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:135:11: note: see current operation: %85 = handshake.source {handshake.bb = 5 : ui32, handshake.name = "source3"} : <>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:136:11: warning: TimingDatabase::getLatency: no timing model for op
    %86 = source {handshake.bb = 5 : ui32, handshake.name = "source4"} : <>
          ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:136:11: note: see current operation: %86 = handshake.source {handshake.bb = 5 : ui32, handshake.name = "source4"} : <>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:137:11: warning: TimingDatabase::getLatency: no timing model for op
    %87 = source {handshake.bb = 5 : ui32, handshake.name = "source5"} : <>
          ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:137:11: note: see current operation: %87 = handshake.source {handshake.bb = 5 : ui32, handshake.name = "source5"} : <>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:138:11: warning: TimingDatabase::getLatency: no timing model for op
    %88 = source {handshake.bb = 5 : ui32, handshake.name = "source6"} : <>
          ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:138:11: note: see current operation: %88 = handshake.source {handshake.bb = 5 : ui32, handshake.name = "source6"} : <>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:43:11: warning: TimingDatabase::getLatency: no timing model for op
    %22 = constant %21#0 {handshake.bb = 1 : ui32, handshake.name = "constant2", value = false} : <>, <i1>
          ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:43:11: note: see current operation: %22 = handshake.constant %21#0 {handshake.bb = 1 : ui32, handshake.name = "constant2", value = false} : <>, <i1>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:64:11: warning: TimingDatabase::getLatency: no timing model for op
    %32 = extui %26#1 {handshake.bb = 2 : ui32, handshake.name = "extui1"} : <i16> to <i32>
          ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:64:11: note: see current operation: %32 = handshake.extui %26#1 {handshake.bb = 2 : ui32, handshake.name = "extui1"} : <i16> to <i32>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:66:11: warning: TimingDatabase::getLatency: no timing model for op
    %34 = extui %33 {handshake.bb = 2 : ui32, handshake.name = "extui2"} : <i1> to <i16>
          ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:66:11: note: see current operation: %34 = handshake.extui %33 {handshake.bb = 2 : ui32, handshake.name = "extui2"} : <i1> to <i16>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:68:11: warning: TimingDatabase::getLatency: no timing model for op
    %36 = br %35 {handshake.bb = 2 : ui32, handshake.name = "br10"} : <i1>
          ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:68:11: note: see current operation: %36 = handshake.br %35 {handshake.bb = 2 : ui32, handshake.name = "br10"} : <i1>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:69:11: warning: TimingDatabase::getLatency: no timing model for op
    %37 = br %24#0 {handshake.bb = 2 : ui32, handshake.name = "br11"} : <i32>
          ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:69:11: note: see current operation: %37 = handshake.br %24#0 {handshake.bb = 2 : ui32, handshake.name = "br11"} : <i32>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:70:11: warning: TimingDatabase::getLatency: no timing model for op
    %38 = br %26#0 {handshake.bb = 2 : ui32, handshake.name = "br12"} : <i16>
          ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:70:11: note: see current operation: %38 = handshake.br %26#0 {handshake.bb = 2 : ui32, handshake.name = "br12"} : <i16>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:71:11: warning: TimingDatabase::getLatency: no timing model for op
    %39 = br %28#0 {handshake.bb = 2 : ui32, handshake.name = "br13"} : <i16>
          ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:71:11: note: see current operation: %39 = handshake.br %28#0 {handshake.bb = 2 : ui32, handshake.name = "br13"} : <i16>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:72:11: warning: TimingDatabase::getLatency: no timing model for op
    %40 = br %29 {handshake.bb = 2 : ui32, handshake.name = "br14"} : <i1>
          ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:72:11: note: see current operation: %40 = handshake.br %29 {handshake.bb = 2 : ui32, handshake.name = "br14"} : <i1>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:73:11: warning: TimingDatabase::getLatency: no timing model for op
    %41 = br %30 {handshake.bb = 2 : ui32, handshake.name = "br15"} : <i2>
          ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:73:11: note: see current operation: %41 = handshake.br %30 {handshake.bb = 2 : ui32, handshake.name = "br15"} : <i2>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:74:11: warning: TimingDatabase::getLatency: no timing model for op
    %42 = br %31 {handshake.bb = 2 : ui32, handshake.name = "br16"} : <i16>
          ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:74:11: note: see current operation: %42 = handshake.br %31 {handshake.bb = 2 : ui32, handshake.name = "br16"} : <i16>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:75:11: warning: TimingDatabase::getLatency: no timing model for op
    %43 = br %result_14 {handshake.bb = 2 : ui32, handshake.name = "br17"} : <>
          ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:75:11: note: see current operation: %43 = handshake.br %result_14 {handshake.bb = 2 : ui32, handshake.name = "br17"} : <>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:77:11: warning: TimingDatabase::getLatency: no timing model for op
    %45 = extui %44 {handshake.bb = 3 : ui32, handshake.name = "extui5"} : <i1> to <i2>
          ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:77:11: note: see current operation: %45 = handshake.extui %44 {handshake.bb = 3 : ui32, handshake.name = "extui5"} : <i1> to <i2>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:84:11: warning: TimingDatabase::getLatency: no timing model for op
    %52 = trunci %51#0 {handshake.bb = 3 : ui32, handshake.name = "trunci0"} : <i2> to <i1>
          ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:84:11: note: see current operation: %52 = handshake.trunci %51#0 {handshake.bb = 3 : ui32, handshake.name = "trunci0"} : <i2> to <i1>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:101:11: warning: TimingDatabase::getLatency: no timing model for op
    %57 = trunci %falseResult_29 {handshake.bb = 3 : ui32, handshake.name = "trunci1"} : <i16> to <i1>
          ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:101:11: note: see current operation: %57 = handshake.trunci %falseResult_29 {handshake.bb = 3 : ui32, handshake.name = "trunci1"} : <i16> to <i1>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:108:11: warning: TimingDatabase::getLatency: no timing model for op
    %63 = extui %62 {handshake.bb = 4 : ui32, handshake.name = "extui6"} : <i1> to <i2>
          ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:108:11: note: see current operation: %63 = handshake.extui %62 {handshake.bb = 4 : ui32, handshake.name = "extui6"} : <i1> to <i2>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:109:11: warning: TimingDatabase::getLatency: no timing model for op
    %64 = constant %69 {handshake.bb = 4 : ui32, handshake.name = "constant6", value = 1 : i2} : <>, <i2>
          ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:109:11: note: see current operation: %64 = handshake.constant %69 {handshake.bb = 4 : ui32, handshake.name = "constant6", value = 1 : i2} : <>, <i2>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:112:11: warning: TimingDatabase::getLatency: no timing model for op
    %67 = trunci %66#0 {handshake.bb = 4 : ui32, handshake.name = "trunci2"} : <i16> to <i3>
          ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:112:11: note: see current operation: %67 = handshake.trunci %66#0 {handshake.bb = 4 : ui32, handshake.name = "trunci2"} : <i16> to <i3>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:113:11: warning: TimingDatabase::getLatency: no timing model for op
    %68 = constant %70 {handshake.bb = 4 : ui32, handshake.name = "constant7", value = -3 : i3} : <>, <i3>
          ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:113:11: note: see current operation: %68 = handshake.constant %70 {handshake.bb = 4 : ui32, handshake.name = "constant7", value = -3 : i3} : <>, <i3>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:116:11: warning: TimingDatabase::getLatency: no timing model for op
    %69 = source {handshake.bb = 4 : ui32, handshake.name = "source0"} : <>
          ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:116:11: note: see current operation: %69 = handshake.source {handshake.bb = 4 : ui32, handshake.name = "source0"} : <>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:117:11: warning: TimingDatabase::getLatency: no timing model for op
    %70 = source {handshake.bb = 4 : ui32, handshake.name = "source1"} : <>
          ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:117:11: note: see current operation: %70 = handshake.source {handshake.bb = 4 : ui32, handshake.name = "source1"} : <>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:119:11: warning: TimingDatabase::getLatency: no timing model for op
    %72 = extui %71 {handshake.bb = 4 : ui32, handshake.name = "extui7"} : <i3> to <i16>
          ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:119:11: note: see current operation: %72 = handshake.extui %71 {handshake.bb = 4 : ui32, handshake.name = "extui7"} : <i3> to <i16>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:122:11: warning: TimingDatabase::getLatency: no timing model for op
    %75 = br %74 {handshake.bb = 4 : ui32, handshake.name = "br18"} : <i2>
          ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:122:11: note: see current operation: %75 = handshake.br %74 {handshake.bb = 4 : ui32, handshake.name = "br18"} : <i2>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:123:11: warning: TimingDatabase::getLatency: no timing model for op
    %76 = br %73 {handshake.bb = 4 : ui32, handshake.name = "br19"} : <i16>
          ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:123:11: note: see current operation: %76 = handshake.br %73 {handshake.bb = 4 : ui32, handshake.name = "br19"} : <i16>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:124:11: warning: TimingDatabase::getLatency: no timing model for op
    %77 = br %58 {handshake.bb = 4 : ui32, handshake.name = "br20"} : <i32>
          ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:124:11: note: see current operation: %77 = handshake.br %58 {handshake.bb = 4 : ui32, handshake.name = "br20"} : <i32>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:125:11: warning: TimingDatabase::getLatency: no timing model for op
    %78 = br %59 {handshake.bb = 4 : ui32, handshake.name = "br21"} : <i16>
          ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:125:11: note: see current operation: %78 = handshake.br %59 {handshake.bb = 4 : ui32, handshake.name = "br21"} : <i16>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:126:11: warning: TimingDatabase::getLatency: no timing model for op
    %79 = br %60 {handshake.bb = 4 : ui32, handshake.name = "br22"} : <i16>
          ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:126:11: note: see current operation: %79 = handshake.br %60 {handshake.bb = 4 : ui32, handshake.name = "br22"} : <i16>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:127:11: warning: TimingDatabase::getLatency: no timing model for op
    %80 = br %61 {handshake.bb = 4 : ui32, handshake.name = "br23"} : <i1>
          ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:127:11: note: see current operation: %80 = handshake.br %61 {handshake.bb = 4 : ui32, handshake.name = "br23"} : <i1>
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:128:11: warning: TimingDatabase::getLatency: no timing model for op
    %81 = br %result_32 {handshake.bb = 4 : ui32, handshake.name = "br24"} : <>
          ^
/home/mboeck/dynamatic/build/bin/bug112/out/comp/handshake_transformed.mlir:128:11: note: see current operation: %81 = handshake.br %result_32 {handshake.bb = 4 : ui32, handshake.name = "br24"} : <>
The model is unbounded!
[FATAL] Failed to place smart buffers

Metadata

Metadata

Assignees

No one assigned

    Labels

    compiler-crashThe given code causes the compiler to crashfuzzer-foundBugs found using an automated fuzzer

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions