Hacker News new | past | comments | ask | show | jobs | submit login
My First LLVM Compiler (2015) (wilfred.me.uk)
87 points by lrsjng on Sept 11, 2019 | hide | past | favorite | 7 comments



I recently wrote a brainfuck compiler using Rust [0], but I targeted x86-64 asm directly. I implemented some very basic optimization (as you show at the bottom of your post), but I'd imagine llvm is able to take things much further. I'd be curious to see a performance comparison.

[0]: https://github.com/JoshMcguigan/nerve


State of the art compilers are ridiculously clever sometimes, so I imagine quite a lot.

I wonder how good they are at extracting information from code generated from BF however.


So why did he use gcc to link the program at the end?


I imagine it is because gcc -o is a convenient way to call the linker such that it correctly links the binary and libc. Doing this manually with ld would require several (non-portable) command line arguments that would be distracting from the main point of the post.


GCC is a front-end: in this case, it should just call ld.


Because he wrote a compiler but not a linker?


gcc is probably used to call the platforms linker




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: