Spent too long chasing virtual register chains to see that the underlying problem is an ordering issue... phis happen simultaneously, and I can make the emulator cheat less with its upsilon/phi implementation to avoid failing here, but will have to sort out unraveling this for actual code generation. Time to read a bit more, as I'm sure this is a well explored problem.

10 = phi 2, 11
8 = phi 1, 10
5 = phi 3, 15
4 = phi 0, 14

#Projects #Compiler

๐Ÿš€ Ohm's #PEG-to-WASM Compiler: because everyone needs a #parsing #tool that's 50x #faster to parse things nobody asked for! ๐Ÿ˜‚ Forget about improving your lifeโ€”just make #parsing 0.02 seconds quicker. Is it a bird? Is it a plane? No, it's an #unnecessary #compiler update! ๐Ÿ™„
https://ohmjs.org/blog/2026/03/12/peg-to-wasm #update #speed #improvement #tool #coding #humor #HackerNews #ngated
Inside Ohm's PEG-to-Wasm compiler | Ohm

Ohm is a user-friendly parsing toolkit for JavaScript and TypeScript. You can use it to parse custom file formats or quickly build parsers, interpreters, and compilers for programming languages. Learn more

Inside Ohm's PEG-to-Wasm compiler | Ohm

Ohm is a user-friendly parsing toolkit for JavaScript and TypeScript. You can use it to parse custom file formats or quickly build parsers, interpreters, and compilers for programming languages. Learn more

Inside Ohm's PEG-to-Wasm compiler | Ohm

Ohm is a user-friendly parsing toolkit for JavaScript and TypeScript. You can use it to parse custom file formats or quickly build parsers, interpreters, and compilers for programming languages. Learn more

So I'm writing a #compiler. No LLMs just my squishy brain and textbooks for the language #Oberon and docs for #llvm

This is a path well travelled but my trick is I'm keeping Professor Wirth's freely licensed original source and replacing only the code generation parts with calls to the llvm-c api.

So I guess I'm not even writing the compiler, I'm adapting it.

Huge thanks to obnc which translates oberon to c. When the translated compiler can compile itself I'll just stop using the translator.

[CPython 3.15์˜ JIT, ๋‹ค์‹œ ๊ถค๋„์— ์˜ค๋ฅด๋‹ค

CPython 3.15์˜ JIT๊ฐ€ macOS AArch64์—์„œ ํ…Œ์ผ ์ฝœ๋ง ์ธํ„ฐํ”„๋ฆฌํ„ฐ ๋Œ€๋น„ 11~12%, x86_64 Linux์—์„œ 5~6% ๋นจ๋ผ์ง€๋ฉฐ ์„ฑ๋Šฅ ๋ชฉํ‘œ๋ฅผ ์กฐ๊ธฐ ๋‹ฌ์„ฑํ–ˆ๋‹ค. ์ฃผ์š” ์Šคํฐ์„œ ์ฒ ์ˆ˜ ์ดํ›„์—๋„ ์ปค๋ฎค๋‹ˆํ‹ฐ ์ฃผ๋„ ๋ฐฉ์‹์œผ๋กœ ์ „ํ™˜ํ•ด ์‹ ๊ทœ ๊ธฐ์—ฌ์ž๋ฅผ ๋Š˜๋ฆฌ๊ณ  ๋ฒ„์Šค ํŒฉํ„ฐ๋ฅผ ๋‚ฎ์ท„์œผ๋ฉฐ, ์„ธ๋ถ€ ์ž‘์—… ๋ถ„ํ•ด์™€ ์ธก์ • ์ธํ”„๋ผ(doesjitgobrrr.com)๊ฐ€ ๊ฐœ๋ฐœ ์†๋„์™€ ํ’ˆ์งˆ ๊ฐœ์„ ์— ํฌ๊ฒŒ ๊ธฐ์—ฌํ–ˆ๋‹ค. ๋˜ํ•œ ํŠธ๋ ˆ์ด์Šค ๋ ˆ์ฝ”๋”ฉ, ์ฐธ์กฐ ์นด์šดํŠธ ์ œ๊ฑฐ, ๋“€์–ผ ๋””์ŠคํŒจ์น˜ ๊ฐ™์€ ์„ค๊ณ„ ์„ ํƒ์ด JIT ์„ฑ๋Šฅ ํ–ฅ์ƒ์˜ ํ•ต์‹ฌ ์š”์ธ์œผ๋กœ ์ž‘์šฉํ–ˆ๊ณ , ํ”„๋ฆฌ ์Šค๋ ˆ๋”ฉ์€ 3.15/3.16์„ ๋ชฉํ‘œ๋กœ ๊ณ„์† ์ง„ํ–‰ ์ค‘์ด๋‹ค.

https://news.hada.io/topic?id=27971

#cpython #python #jit #performance #compiler

CPython 3.15์˜ JIT, ๋‹ค์‹œ ๊ถค๋„์— ์˜ค๋ฅด๋‹ค | GeekNews

ํ•ต์‹ฌ ์„ฑ๊ณผํ”Œ๋žซํผJIT ์„ฑ๋Šฅ ํ–ฅ์ƒ (vs ํ…Œ์ผ ์ฝœ๋ง ์ธํ„ฐํ”„๋ฆฌํ„ฐ)macOS AArch64+11~12%x86_64 Linux+5~6%๋ฒค์น˜๋งˆํฌ ๋ฒ”์œ„: 20% ๋А๋ ค์ง€๋Š” ๊ฒฝ์šฐ๋ถ€ํ„ฐ 100% ์ด์ƒ ๋นจ๋ผ์ง€๋Š” ๊ฒฝ์šฐ๊นŒ์ง€ ๋‹ค์–‘ (unpack_sequence ๋งˆ์ดํฌ๋กœ๋ฒค์น˜๋งˆํฌ ์ œ์™ธ)๋ชฉํ‘œ ๋‹ฌ์„ฑ: 3.15 ๋ชฉํ‘œ(5% ํ–ฅ์ƒ)๋ฅผ 1๋…„ ์ด์ƒ ์กฐ๊ธฐ ๋‹ฌ์„ฑํ”„๋ฆฌ ์Šค๋ ˆ๋”ฉ ์ง€์›: ์•„์ง ๋ฏธ์™„์„ฑ, 3.1

GeekNews

Portable BASIC cross compiler: BASSM

Jens Henschel writes: "What began as an 'agentic development' experiment is now a nearly usable product. BASSM is an IDE for Windows and Linux that allows you to build games for an Amiga with an OCS/ECS chipset and 512 KB of RAM. The IDE and the transpiler are built in JavaScript and the Electron framework and are therefore fully portable. Further details:

https://www.amiga-news.de/en/news/AN-2026-03-00127-EN.html

#Amiga #Basic #compiler #Windows #Linux #retrocomputing

amiga-news.de - Portable BASIC cross compiler: BASSM

test/1900-md5.spl is paying off nicely. What a glorious mess of virtual registers to unsnarl in the IR for md5_step()

#Projects #Compiler

Whee. Compiler stage3 now passes all tests that stage1 and stage2 do, when running the tests via the IR emulator.

Time to start improving the IR, allocating registers, and implementing a backend to generate "real" code from the IR.

I am now a ways past where this project was when I restarted it because the original approach was becoming too much of a mess. Very happy with the state of things now.

#Projects #Compiler

๐ŸŽฉ๐Ÿค– Oh, look! A magical unicorn that turns hardware code into a #video #game ๐ŸŽฎ. Because who wouldn't want to run a #RISC-V #CPU on a factory-building simulator? ๐Ÿ™ƒ Next up: a #compiler that makes coffee while debugging your existential crisis. โ˜•๏ธ
https://github.com/ben-j-c/verilog2factorio #magicalunicorn #hardwarecode #factorysimulator #HackerNews #ngated
GitHub - ben-j-c/verilog2factorio

Contribute to ben-j-c/verilog2factorio development by creating an account on GitHub.

GitHub