{"id":16719323,"url":"https://github.com/erikd/ghc-llvm-next","last_synced_at":"2025-03-15T11:13:50.071Z","repository":{"id":66241316,"uuid":"44224241","full_name":"erikd/ghc-llvm-next","owner":"erikd","description":"Build scripts and patches to build GHC git HEAD against LLVM git HEAD (ie next version of llvm)","archived":false,"fork":false,"pushed_at":"2017-05-22T08:28:07.000Z","size":20,"stargazers_count":8,"open_issues_count":0,"forks_count":1,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-01-22T01:44:08.230Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Makefile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/erikd.png","metadata":{"files":{"readme":"Readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2015-10-14T04:38:35.000Z","updated_at":"2020-12-18T13:51:10.000Z","dependencies_parsed_at":"2023-05-22T04:30:17.219Z","dependency_job_id":null,"html_url":"https://github.com/erikd/ghc-llvm-next","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/erikd%2Fghc-llvm-next","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/erikd%2Fghc-llvm-next/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/erikd%2Fghc-llvm-next/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/erikd%2Fghc-llvm-next/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/erikd","download_url":"https://codeload.github.com/erikd/ghc-llvm-next/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243719399,"owners_count":20336607,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":[],"created_at":"2024-10-12T21:41:25.055Z","updated_at":"2025-03-15T11:13:50.037Z","avatar_url":"https://github.com/erikd.png","language":"Makefile","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ghc-llvm-next\n\nA build script (actually a Makefile) and patches to build GHC git HEAD against\nthe HEAD of LLVM.\n\n* Grabs the HEAD revision of the LLVM tools and builds it.\n* Grabs the HEAD revision of GHC.\n* Applies patches using the quilt tool.\n* Builds the patched GHC using the LLVM tools built in the first step.\n\n## Why\n\nGHC has an LLVM backend and for some architectures (Arm and\nAArch64/Arm64/Armv8-a) the LLVM backend is the primary backend. The GHC\ndevelopers therefore have a keen interest in tracking between-release changes\nin LLVM.\n\nGHC use of LLVM is made somewhat more complicated by the fact that GHC generates\nthe text version (there is also a binary format) of LLVM Intermediate\nRepresentation (IR) language which it then passes through the LLVM `llc` and\n`opt` tools to generate native assembler.\n\nUnfortunately, the LLVM developers do not guaranteed that the IR language will\nremain unchanged across major releases. It should also be obvious that the GHC\ndevelopers should not wait for the actual release of a new LLVM version before\ntesting it. This project has therefore been set up to make test the development\nversion of GHC against the development version of LLVM.\n\n## How to use it\n\nCurrently this only builds on Linux (patches accepted to fix that). You will\nalso need the following tool which should be available in most Linux distros:\n\n* ghc (a version that can build git HEAD, currently ghc \u003e= 7.8)\n* The standard build tools needed to build ghc.\n* gcc/g++ or clang/clang++ to build LLVM\n* quilt\n* git\n\nAssuming you have all the tools, after checking out this repo, all you need to\ndo is:\n\n    make\n\nTo pull new changes from both GHC and LLVM git just:\n\n    make update\n\nwhich automatically removes some of the stamp files.\n\nToe build everything and run the GHC test suites with the freshly built GHC\njust do:\n\n    make\n\n## Versions\n\nGHC git HEAD currently uses the last stable LLVM reslease, version 3.9. However,\nthe LLVM project has already branched version 4.0 and LLVM git HEAD is now\nmarked as version 3.9.\n\nThe master branch of this repo now builds against LLVM version 4.0.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ferikd%2Fghc-llvm-next","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ferikd%2Fghc-llvm-next","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ferikd%2Fghc-llvm-next/lists"}