<feed xmlns='http://www.w3.org/2005/Atom'>
<title>sail/test/mono/pass, branch sail2</title>
<subtitle>Formal specification language for ISAs</subtitle>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/sail/'/>
<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>Some almost-forgotten mono tests</title>
<updated>2019-11-04T17:03:42+00:00</updated>
<author>
<name>Brian Campbell</name>
</author>
<published>2019-11-04T17:03:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/sail/commit/?id=6adffb527511e1cec333b292d93e6ae6748b2c47'/>
<id>6adffb527511e1cec333b292d93e6ae6748b2c47</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Monomorphisation improvements for aarch64_small</title>
<updated>2019-06-19T10:23:49+00:00</updated>
<author>
<name>Brian Campbell</name>
</author>
<published>2019-06-18T15:57:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/sail/commit/?id=061c7da3c0629d5fc6cc4a9a91bf4b251b61863d'/>
<id>061c7da3c0629d5fc6cc4a9a91bf4b251b61863d</id>
<content type='text'>
- additional rewrites (signed extend of subrange@zeros, subrange assignment,
  variants with casts)
- drop # from new top-level type variables (e.g., n_times_8) so that the
  rewriter knows that they're safe to include in casts
- add casts in else-branches when only one possible value for a size is left
- add casts when assertions force a size to be a particular value
- don't use types to detect set constraints in analysis because we won't
  know which part of the assertion should be replaced
- also use non-top-level type variables when simplifying sizes in analysis
  (useful when it can from pattern matching on an ast)
- cope with repeated int('n) in a pattern match (!)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- additional rewrites (signed extend of subrange@zeros, subrange assignment,
  variants with casts)
- drop # from new top-level type variables (e.g., n_times_8) so that the
  rewriter knows that they're safe to include in casts
- add casts in else-branches when only one possible value for a size is left
- add casts when assertions force a size to be a particular value
- don't use types to detect set constraints in analysis because we won't
  know which part of the assertion should be replaced
- also use non-top-level type variables when simplifying sizes in analysis
  (useful when it can from pattern matching on an ast)
- cope with repeated int('n) in a pattern match (!)
</pre>
</div>
</content>
</entry>
<entry>
<title>Handle type variables generated while inferring applications in monomorphisation</title>
<updated>2019-05-06T15:36:45+00:00</updated>
<author>
<name>Brian Campbell</name>
</author>
<published>2019-05-06T15:36:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/sail/commit/?id=5e78fee9b215e7663f6fcf36673b36cce00aca04'/>
<id>5e78fee9b215e7663f6fcf36673b36cce00aca04</id>
<content type='text'>
Also handle any type variables from assignments and degrade gracefully
during constant propagation when unification is not possible.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Also handle any type variables from assignments and degrade gracefully
during constant propagation when unification is not possible.
</pre>
</div>
</content>
</entry>
<entry>
<title>More constructor monomorphisation support</title>
<updated>2019-04-26T11:17:04+00:00</updated>
<author>
<name>Brian Campbell</name>
</author>
<published>2019-04-26T11:17:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/sail/commit/?id=383bf94704813ad3f417b6eaf59d329388ff5af6'/>
<id>383bf94704813ad3f417b6eaf59d329388ff5af6</id>
<content type='text'>
- handle multiple bitvector length variables
- more fine-grained unnecessary cast insertion checks
- add tuple matching support to constant propagation (for the test)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- handle multiple bitvector length variables
- more fine-grained unnecessary cast insertion checks
- add tuple matching support to constant propagation (for the test)
</pre>
</div>
</content>
</entry>
<entry>
<title>Get basic constructor monomorphisation working again</title>
<updated>2019-04-25T16:12:37+00:00</updated>
<author>
<name>Brian Campbell</name>
</author>
<published>2019-04-25T16:12:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/sail/commit/?id=d750f3e9256bba43d2eca33f0a4e9ad52e33e72e'/>
<id>d750f3e9256bba43d2eca33f0a4e9ad52e33e72e</id>
<content type='text'>
- updates for type checking changes
- handle a little more pattern matching in constant propagation
- fix bug where false positive warnings were produced
- ensure bitvectors in tuples are always monomorphised (to catch the case
  where the bitvectors only appear alone with a constant size)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- updates for type checking changes
- handle a little more pattern matching in constant propagation
- fix bug where false positive warnings were produced
- ensure bitvectors in tuples are always monomorphised (to catch the case
  where the bitvectors only appear alone with a constant size)
</pre>
</div>
</content>
</entry>
<entry>
<title>Monomorphisation: improve cast insertion and nexp rewriting on variants</title>
<updated>2019-01-31T11:14:52+00:00</updated>
<author>
<name>Brian Campbell</name>
</author>
<published>2019-01-31T11:14:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/sail/commit/?id=e62896cecd575134a85def6815fe552f3154ea01'/>
<id>e62896cecd575134a85def6815fe552f3154ea01</id>
<content type='text'>
It now pushes casts into lets and constructor applications, and so
supports the case needed for RISC-V.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It now pushes casts into lets and constructor applications, and so
supports the case needed for RISC-V.
</pre>
</div>
</content>
</entry>
<entry>
<title>Support case splitting on variables as well as sizeof in cast introduction</title>
<updated>2019-01-31T10:30:48+00:00</updated>
<author>
<name>Brian Campbell</name>
</author>
<published>2019-01-29T16:54:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/sail/commit/?id=20334e0f8d1115bf7f70226f5020df180d5d7f89'/>
<id>20334e0f8d1115bf7f70226f5020df180d5d7f89</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Move monomorphisation after mapping rewrites</title>
<updated>2018-07-24T16:38:18+00:00</updated>
<author>
<name>Brian Campbell</name>
</author>
<published>2018-07-24T16:38:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/sail/commit/?id=8b1bbeed703da7ba78dfe2728c99b0ec9088cf47'/>
<id>8b1bbeed703da7ba78dfe2728c99b0ec9088cf47</id>
<content type='text'>
Fixes monomorphisation on files using mappings.
Also extended constant propagation to handle pattern matches on
bitvector expressions (because an earlier rewrite replaces the literals).
Also moved L_undef rewriting because monomorphisation can handle them
but not the replacement functions.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes monomorphisation on files using mappings.
Also extended constant propagation to handle pattern matches on
bitvector expressions (because an earlier rewrite replaces the literals).
Also moved L_undef rewriting because monomorphisation can handle them
but not the replacement functions.
</pre>
</div>
</content>
</entry>
<entry>
<title>Enable mono builtins test, tweak test output</title>
<updated>2018-04-17T16:52:47+00:00</updated>
<author>
<name>Brian Campbell</name>
</author>
<published>2018-04-17T16:52:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/sail/commit/?id=71f2f7875235621ce155c8c7d7326fabdbc63b35'/>
<id>71f2f7875235621ce155c8c7d7326fabdbc63b35</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
