<feed xmlns='http://www.w3.org/2005/Atom'>
<title>sail/test/mono, branch sail2</title>
<subtitle>Formal specification language for ISAs</subtitle>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/sail/'/>
<entry>
<title>Make mono rewrites be more careful to produce constant-sized types</title>
<updated>2020-11-19T13:53:14+00:00</updated>
<author>
<name>Brian Campbell</name>
</author>
<published>2020-11-19T13:53:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/sail/commit/?id=3d526b799eeb699fab913994e0739959688e9963'/>
<id>3d526b799eeb699fab913994e0739959688e9963</id>
<content type='text'>
While the backends will usually manage to find the constant size anyway,
this ensures that implicit arguments will be filled in with the constant
value too.  (For example, this was affecting isla execution in one corner
case because the slice_mask primitive didn't see that the size was
constant.)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
While the backends will usually manage to find the constant size anyway,
this ensures that implicit arguments will be filled in with the constant
value too.  (For example, this was affecting isla execution in one corner
case because the slice_mask primitive didn't see that the size was
constant.)
</pre>
</div>
</content>
</entry>
<entry>
<title>tests: Move copy-pasted code into a shared helper .sh</title>
<updated>2020-09-25T11:30:09+00:00</updated>
<author>
<name>Alex Richardson</name>
</author>
<published>2020-09-25T09:12:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/sail/commit/?id=782d3860eb0134c81d4a4204b7caab72cda3bd1d'/>
<id>782d3860eb0134c81d4a4204b7caab72cda3bd1d</id>
<content type='text'>
Also fix a few shellcheck warnings related to printf while doing so.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Also fix a few shellcheck warnings related to printf while doing so.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge some of the gitignore files</title>
<updated>2020-09-12T21:00:19+00:00</updated>
<author>
<name>Columbus240</name>
</author>
<published>2020-08-24T17:27:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/sail/commit/?id=a8be1e2551bc4fbda9c45792c0dad5743c18fefd'/>
<id>a8be1e2551bc4fbda9c45792c0dad5743c18fefd</id>
<content type='text'>
Both /.gitignore and /lib/coq/.gitignore ignored some files in /lib/coq.
This commit removes /lib/coq/.gitignore and moves all ignore-statements
to /.gitignore . This should simplify the maintenance of gitignore files.

The situation with /test/mono/.gitignore is analogous.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Both /.gitignore and /lib/coq/.gitignore ignored some files in /lib/coq.
This commit removes /lib/coq/.gitignore and moves all ignore-statements
to /.gitignore . This should simplify the maintenance of gitignore files.

The situation with /test/mono/.gitignore is analogous.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix typo a mono_rewrites definition</title>
<updated>2020-09-07T12:40:24+00:00</updated>
<author>
<name>Brian Campbell</name>
</author>
<published>2020-09-07T10:40:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/sail/commit/?id=19573d9ce8448f8296195fe1990a6d88593b57f1'/>
<id>19573d9ce8448f8296195fe1990a6d88593b57f1</id>
<content type='text'>
- add tests for a couple of related rewrites
- accept same range of constants for sign extension in the rewrite as for
  the zero extension version (to make the test simpler)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- add tests for a couple of related rewrites
- accept same range of constants for sign extension in the rewrite as for
  the zero extension version (to make the test simpler)
</pre>
</div>
</content>
</entry>
<entry>
<title>Mono: Try to fix bug in inter-procedural analysis</title>
<updated>2020-05-04T20:22:53+00:00</updated>
<author>
<name>Thomas Bauereiss</name>
</author>
<published>2020-05-04T16:57:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/sail/commit/?id=dc674a7320e4684e4dbe3ccf618c644bd83796ca'/>
<id>dc674a7320e4684e4dbe3ccf618c644bd83796ca</id>
<content type='text'>
The monomorphisation analysis decides whether to split function
arguments in the callee or in callers.  The code previously used a
datastructure that can hold results of either the one case or the other,
but there might be functions that are called in different contexts
leading to different decisions.  This patch changes the datastructure to
support storing all instances of either case.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The monomorphisation analysis decides whether to split function
arguments in the callee or in callers.  The code previously used a
datastructure that can hold results of either the one case or the other,
but there might be functions that are called in different contexts
leading to different decisions.  This patch changes the datastructure to
support storing all instances of either case.
</pre>
</div>
</content>
</entry>
<entry>
<title>Try to fix bug in size parameter rewriting</title>
<updated>2020-05-04T19:54:42+00:00</updated>
<author>
<name>Thomas Bauereiss</name>
</author>
<published>2020-05-04T16:53:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/sail/commit/?id=929469c81d863703aa5817bbbd92c697eca3af26'/>
<id>929469c81d863703aa5817bbbd92c697eca3af26</id>
<content type='text'>
If we call a function where some arguments need to be rewritten, we
might need to rewrite those parameters in the caller as well.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If we call a function where some arguments need to be rewritten, we
might need to rewrite those parameters in the caller as well.
</pre>
</div>
</content>
</entry>
<entry>
<title>Take kid synonyms into account when propagating constants</title>
<updated>2020-04-21T13:02:39+00:00</updated>
<author>
<name>Thomas Bauereiss</name>
</author>
<published>2020-04-12T22:42:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/sail/commit/?id=5963b1fddba11309c8a3efa9efa866530473c42d'/>
<id>5963b1fddba11309c8a3efa9efa866530473c42d</id>
<content type='text'>
For example, in

  let datasize = e in ...

the typechecker will generate a kid '_datasize if e has an existential
type (with one kid), and in

  let 'datasize = e in ...

the typechecker will bind both 'datasize and '_datasize.  If we
substitute one as part of constant propagation, this patch will make
constant propagation also substitute the other.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
For example, in

  let datasize = e in ...

the typechecker will generate a kid '_datasize if e has an existential
type (with one kid), and in

  let 'datasize = e in ...

the typechecker will bind both 'datasize and '_datasize.  If we
substitute one as part of constant propagation, this patch will make
constant propagation also substitute the other.
</pre>
</div>
</content>
</entry>
<entry>
<title>Mono: Check for non-constant calls to make_the_value</title>
<updated>2020-04-21T13:02:39+00:00</updated>
<author>
<name>Thomas Bauereiss</name>
</author>
<published>2020-04-12T20:36:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/sail/commit/?id=dda95db0f6c2c739e2ba7c29150f8f4a1eb3f403'/>
<id>dda95db0f6c2c739e2ba7c29150f8f4a1eb3f403</id>
<content type='text'>
... and try to resolve them using constant propagation.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
... and try to resolve them using constant propagation.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add tests for monomorphisation improvement in eb0e17f2</title>
<updated>2019-11-22T22:12:24+00:00</updated>
<author>
<name>Brian Campbell</name>
</author>
<published>2019-11-22T22:12:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/sail/commit/?id=10f5ed7acd431a9bf605d38be8d48e1e407934f6'/>
<id>10f5ed7acd431a9bf605d38be8d48e1e407934f6</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Make the world a slightly more sane and consistent place</title>
<updated>2019-11-07T18:31:27+00:00</updated>
<author>
<name>Alasdair Armstrong</name>
</author>
<published>2019-11-07T18:31:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/sail/commit/?id=90a5dcd4bfb2f414cda201d1c7e3c6a0e6f173de'/>
<id>90a5dcd4bfb2f414cda201d1c7e3c6a0e6f173de</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
