{"id":28233169,"url":"https://github.com/optimisan/llvm-mips-backend","last_synced_at":"2026-04-29T01:05:34.924Z","repository":{"id":293311407,"uuid":"943948455","full_name":"optimisan/llvm-mips-backend","owner":"optimisan","description":"Tutorial for writing an LLVM backend","archived":false,"fork":false,"pushed_at":"2025-05-19T10:55:34.000Z","size":8120,"stargazers_count":22,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-05-23T00:26:01.626Z","etag":null,"topics":["compiler","llvm"],"latest_commit_sha":null,"homepage":"https://llvm-to-mips.netlify.app","language":"MDX","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/optimisan.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-03-06T14:32:34.000Z","updated_at":"2025-05-21T21:49:30.000Z","dependencies_parsed_at":"2025-05-14T18:54:22.825Z","dependency_job_id":null,"html_url":"https://github.com/optimisan/llvm-mips-backend","commit_stats":null,"previous_names":["optimisan/llvm-mips-backend"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/optimisan/llvm-mips-backend","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optimisan%2Fllvm-mips-backend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optimisan%2Fllvm-mips-backend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optimisan%2Fllvm-mips-backend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optimisan%2Fllvm-mips-backend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/optimisan","download_url":"https://codeload.github.com/optimisan/llvm-mips-backend/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/optimisan%2Fllvm-mips-backend/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32405905,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-28T19:38:08.556Z","status":"ssl_error","status_checked_at":"2026-04-28T19:37:55.688Z","response_time":56,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["compiler","llvm"],"created_at":"2025-05-18T21:09:17.689Z","updated_at":"2026-04-29T01:05:34.919Z","avatar_url":"https://github.com/optimisan.png","language":"MDX","funding_links":[],"categories":[],"sub_categories":[],"readme":"# LLVM to MIPS\n\nThis repository contains the source for the tutorial series on writing a \nbackend for LLVM that compiles to MIPS Release 1 assembly.\n\nThis serves as a guide to anyone interested in developing a backend for LLVM.\n\nThe name of this backend is `Nova`, just to distinguish from the already existing\n`Mips` backend. (Most of the code is derived from that)\n\n[![Built with Starlight](https://astro.badg.es/v2/built-with-starlight/tiny.svg)](https://starlight.astro.build)\n\n## Running locally\nThe code snippets for the pages are extracted and embedded into\nthe webpage source by reading code enclosed within special\nsnippet comments in the LLVM source.\n\nThis repository has currently checked in the `snippets.json` file\nthat stores all these extracted snippets, but this might change later.\n(in fact, probably *should* change later)\n\nYou can skip steps 1 and 4 if you just want to build and develop the \nwebsite content without changing the code for the Nova backend.\n\n1. Clone the llvm-project directory.\n```bash\ncd llvm-mips-tutorial # or whatever you name this\n                      # book-tutorial-project's directory\ngit clone --single-branch --branch nova-backend https://github.com/optimisan/llvm-project.git\n```\n\n2. Clone this repository.\n```bash\ncd llvm-mips-tutorial\ngit clone https://github.com/optimisan/llvm-mips-backend.git\n```\n\n3. Copy (or move) the `.env.example` to `.env`.\n```bash\ncd llvm-mips-tutorial/llvm-mips-backend # cd into this project\ncp .env.example .env\nopen_with_editor .env\n```\n\nEnter the absolute path to the `llvm-project` folder, for example, like this:\n```env\n# in file .env\nLLVM_ROOT_DIR=/home/username/llvm-mips-tutorial/llvm-project\n```\n\n4. Build the snippets. Requires python and the `python-dotenv` package.\n```bash\n# optional: pip3 install python-dotenv \n./build-snippets\n```\n\n5. Build and view the website!\n```bash\nnpm install\nnpm run dev\n```\n\nOpen `localhost:4321` in your browser.\n\n## Snippets\nLook at [tools/snippet-parser/README.md](tools/snippet-parser/README.md) for the snippets syntax.\n\n## Other stuff that Astro added to this README\n| Command                   | Action                                           |\n| :------------------------ | :----------------------------------------------- |\n| `npm install`             | Installs dependencies                            |\n| `npm run dev`             | Starts local dev server at `localhost:4321`      |\n| `npm run build`           | Build your production site to `./dist/`          |\n| `npm run preview`         | Preview your build locally, before deploying     |\n| `npm run astro ...`       | Run CLI commands like `astro add`, `astro check` |\n| `npm run astro -- --help` | Get help using the Astro CLI                     |\n\n## 👀 Want to learn more?\n\nCheck out [Starlight’s docs](https://starlight.astro.build/), read [the Astro documentation](https://docs.astro.build), or jump into the [Astro Discord server](https://astro.build/chat).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foptimisan%2Fllvm-mips-backend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foptimisan%2Fllvm-mips-backend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foptimisan%2Fllvm-mips-backend/lists"}