-
-
Notifications
You must be signed in to change notification settings - Fork 5.7k
bump LLVM BB version and use assertion builds on CI #27182
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
.travis.yml
Outdated
| brew install -v --only-dependencies --HEAD julia; | ||
| brew install -v staticfloat/juliadeps/libgfortran; | ||
| BUILDOPTS="-j3 USECLANG=1 USECCACHE=1 BINARYBUILDER_TRIPLET=x86_64-apple-darwin14"; | ||
| BUILDOPTS="-j3 USECLANG=1 USECCACHE=1 BINARYBUILDER_TRIPLET=x86_64-apple-darwin14 BINARYBUILDER_LLVM_DEBUG=1"; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does this use a full Debug build of LLVM, or just enable assertions? Debug builds would probably be too slow for CI.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It uses a RelWithDebInfo build + Assertions, my intention was to make assertions give us a bit more useful information, but you are right it might be to slow for CI.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh ok. I don't think I've ever used a RelWithDebInfo build. I would guess it's probably much faster than a full Debug build though.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah I use that as my daily driver and it allows me to have reasonable speeds while being able to debug LLVM code. You can set LLVM_DEBUG=Release in your Make.user to get that.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should call it BINARYBUILDER_LLVM_RELWITHDEBINFO=1 then; so that we're not mixing metaphors.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hm that is a lot to write..., a full debug build is not really useful in any case.
|
@iblis17 Looks like FreeBSD doesn't clean properly and as such is sticky to patches? The current recommendation is to use |
|
I'm going to try |
|
Oh, I got it. There is an option |
|
@vchuravy But in case of this CI build (https://freebsdci.julialang.org/#/builders/1/builds/9574),
|
|
I manually tuned the patch diff --git a/deps/patches/llvm-rL332682.patch b/deps/patches/llvm-rL332682.patch
index b6a15c29b0..7bfe1e420f 100644
--- a/deps/patches/llvm-rL332682.patch
+++ b/deps/patches/llvm-rL332682.patch
@@ -24,7 +24,7 @@ Index: llvm/trunk/lib/Target/X86/X86DomainReassignment.cpp
for (RegDomain D : LegalDstDomainList)
LegalDstDomains.set(D);
}
-@@ -328,6 +333,27 @@
+@@ -328,6 +333,10 @@
return Instrs;
}
@@ -69,7 +69,7 @@ Index: llvm/trunk/lib/Target/X86/X86DomainReassignment.cpp
for (unsigned Idx = 0; Idx < MRI->getNumVirtRegs(); ++Idx) {
unsigned Reg = TargetRegisterInfo::index2VirtReg(Idx);
-@@ -717,20 +744,22 @@
+@@ -717,20 +744,21 @@
continue;
// Calculate closure starting with Reg.
Then, the error message changed. It's from |
|
Thanks! There is also an issue with the patch. I was noticed in the patch
notes that it looks like it was double applying a patch, which had a
different name in a different PR, that why I was referencing the stickyness
of the build.
…On Mon, May 21, 2018, 02:02 Iblis Lin ***@***.***> wrote:
I manually tuned the patch llvm-rL332682.patch
diff --git a/deps/patches/llvm-rL332682.patch b/deps/patches/llvm-rL332682.patch
index b6a15c29b0..7bfe1e420f 100644--- a/deps/patches/llvm-rL332682.patch+++ b/deps/patches/llvm-rL332682.patch@@ -24,7 +24,7 @@ Index: llvm/trunk/lib/Target/X86/X86DomainReassignment.cpp
for (RegDomain D : LegalDstDomainList)
LegalDstDomains.set(D);
}-@@ -328,6 +333,27 @@+@@ -328,6 +333,10 @@
return Instrs;
}
@@ -69,7 +69,7 @@ Index: llvm/trunk/lib/Target/X86/X86DomainReassignment.cpp
for (unsigned Idx = 0; Idx < MRI->getNumVirtRegs(); ++Idx) {
unsigned Reg = TargetRegisterInfo::index2VirtReg(Idx);
-@@ -717,20 +744,22 @@+@@ -717,20 +744,21 @@
continue;
// Calculate closure starting with Reg.
Then, the error message changed. It's from llvm-rL332302.patch now. Any
idea?
Hmm... Looks like a unified diff to me...
The text leading up to this was:
--------------------------
|Index: llvm/trunk/lib/Transforms/InstCombine/InstructionCombining.cpp
|===================================================================
|--- a/lib/Transforms/InstCombine/InstructionCombining.cpp (revision 332301)
|+++ b/lib/Transforms/InstCombine/InstructionCombining.cpp (revision 332302)
--------------------------
Patching file lib/Transforms/InstCombine/InstructionCombining.cpp using Plan A...
Hunk #1 failed at 1.
1 out of 1 hunks failed--saving rejects to lib/Transforms/InstCombine/InstructionCombining.cpp.rej
Hmm... The next patch looks like a unified diff to me...
The text leading up to this was:
--------------------------
|Index: llvm/trunk/test/Transforms/InstCombine/gep-addrspace.ll
|===================================================================
|--- a/test/Transforms/InstCombine/gep-addrspace.ll (revision 332301)
|+++ b/test/Transforms/InstCombine/gep-addrspace.ll (revision 332302)
--------------------------
Patching file test/Transforms/InstCombine/gep-addrspace.ll using Plan A...
Hunk #1 succeeded at 1.
done
gmake[1]: *** [/data/iblis/git/julia/deps/llvm.mk:493: /data/iblis/git/julia/deps/srccache/llvm-6.0.0/llvm-rL332302.patch-applied] Error 1
gmake: *** [Makefile:60: julia-deps] Error 2
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#27182 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAI3aovX_46d3_yi2w45ir5gQZcjlCefks5t0lhWgaJpZM4UGMQA>
.
|
|
Ok let's try this again, I had to rewrite your patch @JeffBezanson and I created a new LLVMBuilder release. |
Keno
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, but I do agree that we should change the flag name, since LLVM_DEBUG=1 is the debug build. If you want to shorted it, I think BB_LLVM_REL_DBG=1 would be fine.
|
Address review comments and rebased.
…On Tue, May 22, 2018, 14:26 Keno Fischer ***@***.***> wrote:
***@***.**** approved this pull request.
LGTM, but I do agree that we should change the flag name, since
LLVM_DEBUG=1 is the debug build. If you want to shorted it, I think
BB_LLVM_REL_DBG=1 would be fine.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#27182 (review)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAI3amyiPJRs-5vF61Q7pp_pIzcV8iQBks5t1Fg8gaJpZM4UGMQA>
.
|
|
Seems to be missing AppVeyor CI? |
|
Appveyor seems to have timed out after 2h, what is our normal time on AV? |
|
Timed out again after 2h I hope that #27222, helps otherwise I will try and use the non-debug build on AV. |
|
@Keno What should the output be for: in the domain-reassignment test? |
|
You may be missing llvm-mirror/llvm@f5e705e? llvm-mc should not error |
|
No I have that one, but I need to pass |
2c78a29 to
5be5329
Compare
|
Bump! There've been two issues filed in the last 24 hours for issues fixed by this PR. |
|
Working on it. I want to make sure that LLVM passes tests properly with
LLVMBuilder.
…On Thu, May 31, 2018, 10:39 Keno Fischer ***@***.***> wrote:
Bump! There've been two issues filed in the last 24 hours for issues fixed
by this PR.
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
<#27182 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAI3ajgSkZYs3ZwC1bcWW3v1oD0wDwomks5t4ACkgaJpZM4UGMQA>
.
|
|
It turns out that in the original trial I didn't set a flag correctly and didn't actually build a RelWithDebInfo build. Those are about 2GB and I think therefore unfeasable for CI. |
|
@Keno genuine assertion error on Windows: |
|
First a straight flush and then a spurious merge conflict on a file that this PR doesn't touch... |
Adds patches for: