[LLVM] Ditch LLVM mirror (#1761)

Using a full https URL for now. Open to change if it breaks anyone.
This commit is contained in:
John Demme 2021-09-10 14:23:28 -07:00 committed by GitHub
parent 826df736d5
commit 3bd4c0c311
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 1 additions and 49 deletions

2
.gitmodules vendored
View File

@ -1,4 +1,4 @@
[submodule "llvm"]
path = llvm
url = ../../circt/llvm.git
url = https://github.com/llvm/llvm-project.git
shallow = true

View File

@ -198,51 +198,3 @@ When your review converges and your patch is approved, do the following:
2) rebase your changes with `git pull --rebase`
3) retest your patch with `ninja check-mlir` (or whatever other target makes sense)
4) push your changes with `git push`
### Updating the staging version of LLVM / MLIR
The 'staging' tree at git@github.com:circt/llvm.git is only intended to be a
temporary location for patches which have not yet been accepted upstream. The
patches here should not be long lived and the branches in that tree may be
rebased without warning. The 'correct' version of LLVM is referenced by its git
hash as a submodule of the main circt repository. It may be necessary to pull
changes from LLVM, in which case it is appropriate to rebase this tree.
```
$ cd llvm
$ git remote add llvm git@github.com:llvm/llvm-project.git
$ git pull --rebase llvm main
$ cd build
$ ninja
$ ninja check-mlir
```
At this point we have built and tested our changes with any upstream changes and
resolved any conflicts. Note that we rebase instead of merging in order to
ensure that our patches remain current, since they should get pushed to LLVM at
some point. Now we can update `circt/llvm` and push a new reference to LLVM for
everyone else to use.
```
$ git push -f origin HEAD:staging
```
However, we're still not done at this point. `circt/circt` still points at the
old git hash for the llvm submodule.
```
$ cd circt/build
$ ninja
$ ninja check-circt
```
Now we have fixed any changes to circuit, so those changes can be committed and
pushed.
```
$ cd ..
$ git commit .
$ git push origin HEAD:main
```
You should see that the changes include an update to the submodule hash.