summaryrefslogtreecommitdiffstats
path: root/method.tex
diff options
context:
space:
mode:
authorYann Herklotz <ymh15@ic.ac.uk>2021-04-04 21:03:01 +0000
committeroverleaf <overleaf@localhost>2021-04-05 12:44:36 +0000
commit6a7ebeb13cd708e5b9e2a09400255ccbd3f0242a (patch)
tree33565de568589a583c91e462c734da2e7e9d07bd /method.tex
parent62a127dfb009b8ffe94ac348ecafb7f596406cbd (diff)
downloadfccm21_esrhls-6a7ebeb13cd708e5b9e2a09400255ccbd3f0242a.tar.gz
fccm21_esrhls-6a7ebeb13cd708e5b9e2a09400255ccbd3f0242a.zip
Update on Overleaf.
Diffstat (limited to 'method.tex')
-rw-r--r--method.tex2
1 files changed, 1 insertions, 1 deletions
diff --git a/method.tex b/method.tex
index c377c3e..d5fb319 100644
--- a/method.tex
+++ b/method.tex
@@ -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.