summaryrefslogtreecommitdiff
path: root/src/rewrites.ml
diff options
context:
space:
mode:
authorAlasdair2019-10-26 04:59:49 +0100
committerAlasdair2019-10-28 13:38:10 +0000
commit7f9371921cfcec819d9e0c778f8b817fb1566bce (patch)
tree0bdf7c59c3192884f0e706baa46805abcece6fb3 /src/rewrites.ml
parent5bcbe357c72382c1076ea7fd7c3ca6ea9f2f035c (diff)
Some C backend refactoring
Make it so that jib_compile.ml never relies on specific string encodings for various constructs in C. Previously this happened when monomorphisation occured for union constructors and fields, i.e. x.foo -> x.zfoo_bitsz632z7 Now identifiers that can be modified are represented as (id, ctyp list) tuples, so we can keep the types x.foo -> x.foo::<bits(32)> This then enables us to do jib IR -> jib IR rewrites that modify types In particular there is now a rewrite that removes tuples as an IR->IR pass rather than doing it ad-hoc in the C code generation, although this is not on by default Note that this change seems to have triggered an Ott bug so jib.lem is now checked in and not generated from Ott
Diffstat (limited to 'src/rewrites.ml')
0 files changed, 0 insertions, 0 deletions