-
Notifications
You must be signed in to change notification settings - Fork 42
Open
Description
Hello,
with the following synthesis commands and the program (myfunc) below,
set-clock-period 8
compile --sharing --buffer-algorithm fpl22
write-hdl --hdl verilog
I get the following error:
Performance analysis available, share functional units as much as possible while maintaining the performance...
dot: graph is too large for cairo-renderer bitmaps. Scaling by 0.373315 to fit
LLVM ERROR: SmallVector unable to grow. Requested capacity (4294967296) is larger than maximum value for size type (4294967295)
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0. Program arguments: /data//workspace/dynamatic/bin/dynamatic-opt /home//turboturtle/fuzzing/run_20260112123806/run_20260112123806_design_0000/synth/../out/comp/handshake_export.mlir --lower-handshake-to-hw
The program:
// var_0,var_1,var_2_a,var_3_a,var_4_a,var_5_a
char myfunc(int var_0, unsigned char var_1, unsigned long long int var_2_a, unsigned long int var_3_a, char var_4_a, int var_5_a) {
unsigned char arr_6_a[256] = { (unsigned char) var_2_a };
unsigned long long int var_7 = (unsigned long long int) var_0;
char var_8 = (char) var_1;
unsigned char var_9 = (unsigned char) var_1;
unsigned long int var_10 = (unsigned long int) var_1;
char var_11 = (char) var_1;
unsigned long int var_12_a = (unsigned long int) var_4_a;
unsigned long int var_13 = (unsigned long int) var_1;
unsigned long int var_14_a = (unsigned long int) var_2_a;
unsigned long long int var_15 = (unsigned long long int) var_0;
unsigned long int var_16_a = (unsigned long int) var_4_a;
int var_17 = (int) var_0;
char var_18 = (char) var_0;
unsigned char var_19_a = (unsigned char) var_3_a;
char var_20 = (char) var_1;
unsigned long long int var_21_a = (unsigned long long int) var_2_a;
unsigned long int var_22 = (unsigned long int) var_1;
unsigned long int var_23 = (unsigned long int) var_0;
char var_24_a = (char) var_2_a;
char var_25 = (char) var_0;
unsigned long int var_26_a = (unsigned long int) var_5_a;
char var_27 = (char) var_0;
int var_28 = (int) var_0;
unsigned long int var_29 = (unsigned long int) var_1;
unsigned long long int var_30_a = (unsigned long long int) var_2_a;
unsigned long long int var_31 = (unsigned long long int) var_1;
char var_32 = (char) var_0;
unsigned long long int var_33 = (unsigned long long int) var_1;
unsigned long long int var_34 = (unsigned long long int) var_0;
unsigned char var_35_a = (unsigned char) var_5_a;
unsigned char var_36_a = (unsigned char) var_4_a;
char var_37 = (char) var_0;
unsigned char var_38 = (unsigned char) var_1;
unsigned char var_39_a = (unsigned char) var_5_a;
int var_40 = (int) var_0;
char var_41_a = (char) var_5_a;
int var_42 = (int) var_1;
char var_43_a = (char) var_2_a;
char var_44 = (char) var_1;
int var_45_a = (int) var_4_a;
char var_46_a = (char) var_2_a;
unsigned long int var_47_a = (unsigned long int) var_2_a;
char var_48_a = (char) var_4_a;
int var_49 = (int) var_0;
unsigned char var_50_a = (unsigned char) var_3_a;
unsigned long long int var_51 = (unsigned long long int) var_1;
unsigned char var_52 = (unsigned char) var_0;
char var_53 = (char) var_1;
unsigned long long int var_54 = (unsigned long long int) var_1;
unsigned long int var_55_a = (unsigned long int) var_4_a;
unsigned char var_56 = (unsigned char) var_1;
unsigned long long int var_57 = (unsigned long long int) var_0;
unsigned long int var_58 = (unsigned long int) var_1;
unsigned char var_59_a = (unsigned char) var_4_a;
unsigned char var_60 = (unsigned char) var_0;
unsigned char var_61 = (unsigned char) var_1;
unsigned long int var_62 = (unsigned long int) var_1;
int var_63 = (int) var_0;
unsigned char var_64_a = (unsigned char) var_4_a;
unsigned char var_65 = (unsigned char) var_0;
unsigned char var_66 = (unsigned char) var_1;
int var_67 = (int) var_1;
unsigned char var_68 = (unsigned char) var_1;
unsigned char var_69_a = (unsigned char) var_2_a;
unsigned long long int var_70 = (unsigned long long int) var_1;
unsigned long long int var_71 = (unsigned long long int) var_0;
int var_72_a = (int) var_5_a;
unsigned char var_73 = (unsigned char) var_0;
unsigned long long int var_74 = (unsigned long long int) var_0;
char var_75_a = (char) var_4_a;
unsigned long long int var_76 = (unsigned long long int) var_1;
unsigned long long int var_77 = (unsigned long long int) var_1;
unsigned char var_78 = (unsigned char) var_1;
unsigned long long int var_79 = (unsigned long long int) var_0;
int var_80_a = (int) var_3_a;
unsigned long int var_81_a = (unsigned long int) var_4_a;
var_17 = 0;
while (var_17 < 10)
{
if (var_17 < var_0)
break;
var_17++;
}
arr_6_a[((int) var_1)] = (unsigned char) (var_4_a);
arr_6_a[((int) var_1)] = var_1 ^ arr_6_a[((int) var_1)];
var_78 = 0;
while (var_78 < 14)
{
arr_6_a[((int) var_1)] = var_1 & arr_6_a[((int) var_1)];
if (var_78 < var_1)
break;
var_78++;
}
arr_6_a[((int) var_1)] = var_1 * arr_6_a[((int) var_1)];
arr_6_a[((int) var_1)] = var_1 | arr_6_a[((int) var_1)];
arr_6_a[((int) var_1)] = var_78 & arr_6_a[((int) var_1)];
arr_6_a[((int) var_78)] = var_78 << arr_6_a[((int) var_1)];
arr_6_a[((int) var_1)] = var_1 + arr_6_a[((int) var_1)];
arr_6_a[((int) var_1)] = (unsigned char) (var_2_a);
arr_6_a[((int) var_78)] = (unsigned char) (var_3_a);
var_9 = var_1 | var_78;
arr_6_a[((int) var_1)] = var_9 >> arr_6_a[((int) var_78)];
arr_6_a[((int) var_1)] = var_9 & arr_6_a[((int) var_78)];
arr_6_a[((int) var_1)] = var_9 & arr_6_a[((int) var_1)];
var_45_a = var_17 & var_5_a;
var_42 = var_17 & var_0;
arr_6_a[((int) var_1)] = var_78 & arr_6_a[((int) var_1)];
arr_6_a[((int) var_78)] = (unsigned char) (var_4_a);
arr_6_a[((int) var_78)] = var_9 << arr_6_a[((int) var_1)];
var_66 = var_9 * var_1;
arr_6_a[((int) var_66)] = var_78 * arr_6_a[((int) var_1)];
arr_6_a[((int) var_1)] = var_78 | arr_6_a[((int) var_1)];
var_65 = var_1 | var_9;
arr_6_a[((int) var_1)] = var_1 & arr_6_a[((int) var_1)];
arr_6_a[((int) var_1)] = var_9 * arr_6_a[((int) var_1)];
arr_6_a[((int) var_1)] = var_9 * arr_6_a[((int) var_1)];
var_56 = var_9 ^ var_1;
arr_6_a[((int) var_1)] = var_78 | arr_6_a[((int) var_78)];
arr_6_a[((int) var_1)] = var_9 ^ arr_6_a[((int) var_1)];
for_loop_2: for (var_61 = 0; var_61 < 7; var_61++)
{
if (var_61 < var_66)
break;
}
arr_6_a[((int) var_66)] = var_78 * arr_6_a[((int) var_1)];
arr_6_a[((int) var_78)] = var_65 << arr_6_a[((int) var_1)];
var_72_a = var_45_a | var_5_a;
var_36_a = var_1 + arr_6_a[((int) var_1)];
arr_6_a[((int) var_1)] = arr_6_a[((int) var_1)] + var_36_a;
arr_6_a[((int) var_61)] = arr_6_a[((int) var_1)] << var_36_a;
arr_6_a[((int) var_1)] = arr_6_a[((int) var_1)] << var_36_a;
switch (var_65)
{
case 12:
;
var_39_a = arr_6_a[((int) var_1)] & var_36_a;
break;
default:
;
arr_6_a[((int) var_78)] = var_65 | arr_6_a[((int) var_78)];
arr_6_a[((int) var_9)] = arr_6_a[((int) var_1)] << var_36_a;
arr_6_a[((int) var_1)] = arr_6_a[((int) var_66)] | var_39_a;
arr_6_a[((int) var_9)] = arr_6_a[((int) var_1)] ^ var_39_a;
arr_6_a[((int) var_61)] = arr_6_a[((int) var_1)] | var_39_a;
arr_6_a[((int) var_9)] = arr_6_a[((int) var_1)] | var_36_a;
arr_6_a[((int) var_1)] = var_78 | arr_6_a[((int) var_9)];
}
arr_6_a[((int) var_1)] = arr_6_a[((int) var_9)] | var_36_a;
for_loop_3: for (var_63 = 0; var_63 < 11; var_63++)
{
arr_6_a[((int) var_1)] = arr_6_a[((int) var_1)] * var_36_a;
arr_6_a[((int) var_61)] = arr_6_a[((int) var_1)] - var_36_a;
arr_6_a[((int) var_1)] = arr_6_a[((int) var_1)] & var_36_a;
arr_6_a[((int) var_1)] = arr_6_a[((int) var_1)] | var_39_a;
if (var_63 < var_17)
break;
}
arr_6_a[((int) var_1)] = arr_6_a[((int) var_1)] | var_36_a;
arr_6_a[((int) var_61)] = var_9 & arr_6_a[((int) var_1)];
arr_6_a[((int) var_78)] = arr_6_a[((int) var_66)] & var_39_a;
arr_6_a[((int) var_78)] = var_56 * arr_6_a[((int) var_1)];
var_69_a = arr_6_a[((int) var_61)] >> var_36_a;
arr_6_a[((int) var_66)] = arr_6_a[((int) var_61)] >> var_36_a;
return (char) (var_0) + (char) (var_1) + (char) (var_2_a) + (char) (var_3_a) + (char) (var_4_a) + (char) (var_5_a) + (char) (arr_6_a[((int) var_1)]) + (char) (arr_6_a[((int) var_1)]) + (char) (arr_6_a[((int) var_1)]) + (char) (arr_6_a[((int) var_9)]) + (char) (arr_6_a[((int) var_1)]) + (char) (arr_6_a[((int) var_61)]) + (char) (arr_6_a[((int) var_9)]) + (char) (arr_6_a[((int) var_9)]) + (char) (arr_6_a[((int) var_1)]) + (char) (arr_6_a[((int) var_1)]) + (char) (arr_6_a[((int) var_1)]) + (char) (arr_6_a[((int) var_1)]) + (char) (arr_6_a[((int) var_1)]) + (char) (arr_6_a[((int) var_1)]) + (char) (arr_6_a[((int) var_78)]) + (char) (arr_6_a[((int) var_1)]) + (char) (arr_6_a[((int) var_38)]) + (char) (arr_6_a[((int) var_1)]) + (char) (arr_6_a[((int) var_1)]) + (char) (arr_6_a[((int) var_78)]) + (char) (arr_6_a[((int) var_78)]) + (char) (arr_6_a[((int) var_1)]) + (char) (arr_6_a[((int) var_1)]) + (char) (arr_6_a[((int) var_78)]) + (char) (arr_6_a[((int) var_1)]) + (char) (arr_6_a[((int) var_66)]) + (char) (arr_6_a[((int) var_1)]) + (char) (arr_6_a[((int) var_61)]) + (char) (arr_6_a[((int) var_61)]) + (char) (arr_6_a[((int) var_61)]) + (char) (arr_6_a[((int) var_1)]) + (char) (arr_6_a[((int) var_1)]) + (char) (arr_6_a[((int) var_78)]) + (char) (arr_6_a[((int) var_78)]) + (char) (arr_6_a[((int) var_1)]) + (char) (arr_6_a[((int) var_1)]) + (char) (arr_6_a[((int) var_66)]) + (char) (arr_6_a[((int) var_1)]) + (char) (arr_6_a[((int) var_78)]) + (char) (arr_6_a[((int) var_1)]) + (char) (arr_6_a[((int) var_78)]) + (char) (arr_6_a[((int) var_1)]) + (char) (arr_6_a[((int) var_1)]) + (char) (arr_6_a[((int) var_1)]) + (char) (arr_6_a[((int) var_66)]) + (char) (arr_6_a[((int) var_1)]) + (char) (var_9) + (char) (var_17) + (char) (var_36_a) + (char) (var_39_a) + (char) (var_42) + (char) (var_45_a) + (char) (var_56) + (char) (var_61) + (char) (var_63) + (char) (var_65) + (char) (var_66) + (char) (var_69_a) + (char) (var_72_a) + (char) (var_78);
}
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
srand(time(NULL));
for (int i = 0; i < 10; i++) {
int var_0 = rand();
unsigned char var_1 = rand() % 256;
unsigned long long int var_2_a = rand();
unsigned long int var_3_a = rand();
char var_4_a = rand() % 256;
int var_5_a = rand();
char result = myfunc(var_0, var_1, var_2_a, var_3_a, var_4_a, var_5_a);
printf("Call %d: result = %d\n", i + 1, result);
}
return 0;
}
Metadata
Metadata
Assignees
Labels
No labels