diff options
author | Yann Herklotz <ymh15@ic.ac.uk> | 2021-04-04 21:03:01 +0000 |
---|---|---|
committer | overleaf <overleaf@localhost> | 2021-04-05 12:44:36 +0000 |
commit | 6a7ebeb13cd708e5b9e2a09400255ccbd3f0242a (patch) | |
tree | 33565de568589a583c91e462c734da2e7e9d07bd /method.tex | |
parent | 62a127dfb009b8ffe94ac348ecafb7f596406cbd (diff) | |
download | fccm21_esrhls-6a7ebeb13cd708e5b9e2a09400255ccbd3f0242a.tar.gz fccm21_esrhls-6a7ebeb13cd708e5b9e2a09400255ccbd3f0242a.zip |
Update on Overleaf.
Diffstat (limited to 'method.tex')
-rw-r--r-- | method.tex | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -122,7 +122,7 @@ We avoid floating-point numbers since these often involve external libraries or To prepare the programs generated by Csmith for HLS testing, we modify them in two ways. First, we inject random HLS directives, which instruct the HLS tool to perform certain optimisations, including: loop pipelining, loop unrolling, loop flattening, loop merging, expression balancing, function pipelining, function-level loop merging, function inlining, array mapping, array partitioning, and array reshaping. Some directives can be applied via a separate configuration file (.tcl), some require us to add labels to the C program (e.g. to identify loops), and some require placing pragmas at particular locations in the C program. -%\AD{Did any reduced test-case involve these HLS-specific features?} \JW{The LegUp bug in Figure 4 requires NO\_INLINE -- does that count? If so, perhaps we could append to the Figure 4 caption: `thus vindicating our strategy of adding random HLS directives to our test-cases'.} +%rstrst\AD{Did any reduced test-case involve these HLS-specific features?} \JW{The LegUp bug in Figure 4 requires NO\_INLINE -- does that count? If so, perhaps we could append to the Figure 4 caption: `thus vindicating our strategy of adding random HLS directives to our test-cases'.} The second modification has to do with the top-level function. Each program generated by Csmith ends its execution by printing a hash of all its variables' values, hoping that miscompilations will be exposed through this hash value. Csmith's built-in hash function leads to infeasibly long synthesis times, so we replace it with a simple XOR-based one. |