<feed xmlns='http://www.w3.org/2005/Atom'>
<title>antcc/ssa.c, branch trunk</title>
<subtitle>A little C compiler</subtitle>
<id>https://git.lemon.rip/antcc/atom?h=trunk</id>
<link rel='self' href='https://git.lemon.rip/antcc/atom?h=trunk'/>
<link rel='alternate' type='text/html' href='https://git.lemon.rip/antcc/'/>
<updated>2025-10-19T06:09:09+00:00</updated>
<entry>
<title>Organize source files into directories</title>
<updated>2025-10-19T06:09:09+00:00</updated>
<author>
<name>lemon</name>
<email>lsof@mailbox.org</email>
</author>
<published>2025-10-19T06:09:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lemon.rip/antcc/commit/?id=dea8fd171acb54b6d9685422d5e391fb55074008'/>
<id>urn:sha1:dea8fd171acb54b6d9685422d5e391fb55074008</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fixes, delnops</title>
<updated>2025-09-09T08:46:18+00:00</updated>
<author>
<name>lemon</name>
<email>lsof@mailbox.org</email>
</author>
<published>2025-09-09T08:46:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lemon.rip/antcc/commit/?id=3bac8a6bc4f04ed9d302896264809b191477e11b'/>
<id>urn:sha1:3bac8a6bc4f04ed9d302896264809b191477e11b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix copyopt</title>
<updated>2023-07-06T18:48:27+00:00</updated>
<author>
<name>lemon</name>
<email>lsof@mailbox.org</email>
</author>
<published>2023-07-06T18:48:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lemon.rip/antcc/commit/?id=cc426d72bf14199050a8eb6f357b2d98d67e321f'/>
<id>urn:sha1:cc426d72bf14199050a8eb6f357b2d98d67e321f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix some warnings</title>
<updated>2023-06-25T10:00:25+00:00</updated>
<author>
<name>lemon</name>
<email>lsof@mailbox.org</email>
</author>
<published>2023-06-25T10:00:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lemon.rip/antcc/commit/?id=a113dd7da2f86883e43c88785b2c82a976fba30f'/>
<id>urn:sha1:a113dd7da2f86883e43c88785b2c82a976fba30f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>backend: don't mixup float and int temps</title>
<updated>2023-06-24T20:49:48+00:00</updated>
<author>
<name>lemon</name>
<email>lsof@mailbox.org</email>
</author>
<published>2023-06-24T20:49:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lemon.rip/antcc/commit/?id=2c9174841434e39ba0a9675946efe25be0d8a168'/>
<id>urn:sha1:2c9174841434e39ba0a9675946efe25be0d8a168</id>
<content type='text'>
copy propagation only happens when dataclasses match, register allocator
ignores hints if hint register class and instruction class differ, also
add mov between int and float regs in amd64/emit
</content>
</entry>
<entry>
<title>backend: fix regalloc to work with more complex dataflow</title>
<updated>2023-06-24T16:47:05+00:00</updated>
<author>
<name>lemon</name>
<email>lsof@mailbox.org</email>
</author>
<published>2023-06-24T16:47:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lemon.rip/antcc/commit/?id=19bbdfa3c7ae05f4694ce5e434d9855c6f2c3682'/>
<id>urn:sha1:19bbdfa3c7ae05f4694ce5e434d9855c6f2c3682</id>
<content type='text'>
basically an allocation map at the beginning (in) and end (out) of each
block is kept and after the first allocation pass another pass is ran to
resolve allocation conflicts between each edge, plus another pass to
finish lowering phi functions.
also introduced `regset` and plenty of other miscellaneous fixes
</content>
</entry>
<entry>
<title>change RMORE -&gt; RADDR; use RXXX (RNONE) for special args,also undef</title>
<updated>2023-06-22T19:54:08+00:00</updated>
<author>
<name>lemon</name>
<email>lsof@mailbox.org</email>
</author>
<published>2023-06-22T19:54:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lemon.rip/antcc/commit/?id=d313c6e49bfb32ae24745e90eebe833da20efa1a'/>
<id>urn:sha1:d313c6e49bfb32ae24745e90eebe833da20efa1a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>mem2reg: implement ssa construction; this breaks regalloc right now</title>
<updated>2023-06-21T21:52:23+00:00</updated>
<author>
<name>lemon</name>
<email>lsof@mailbox.org</email>
</author>
<published>2023-06-21T21:52:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lemon.rip/antcc/commit/?id=3f2221dfb9ab33b7ac44bbf822a78753a0357d25'/>
<id>urn:sha1:3f2221dfb9ab33b7ac44bbf822a78753a0357d25</id>
<content type='text'>
</content>
</entry>
<entry>
<title>explicitly store predecessors in each block</title>
<updated>2023-06-21T10:32:32+00:00</updated>
<author>
<name>lemon</name>
<email>lsof@mailbox.org</email>
</author>
<published>2023-06-21T10:32:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lemon.rip/antcc/commit/?id=995fd23ecd5de710a6f587d29af2874b1fb4756d'/>
<id>urn:sha1:995fd23ecd5de710a6f587d29af2874b1fb4756d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>add basic mem2reg</title>
<updated>2023-06-20T17:11:15+00:00</updated>
<author>
<name>lemon</name>
<email>lsof@mailbox.org</email>
</author>
<published>2023-06-20T17:11:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lemon.rip/antcc/commit/?id=8cea6c2e91641b06921b4e358c73c60981ba366d'/>
<id>urn:sha1:8cea6c2e91641b06921b4e358c73c60981ba366d</id>
<content type='text'>
promotes uniform stack slots to temporaries

currently only for immutable variables, next thing to implement is ssa
construction
</content>
</entry>
</feed>
