Skip to content
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

Add ScalarEvolutionExpander patch. #14830

Merged
merged 1 commit into from
Jan 29, 2016
Merged

Add ScalarEvolutionExpander patch. #14830

merged 1 commit into from
Jan 29, 2016

Conversation

blakejohnson
Copy link
Contributor

Adds @carnaval and @vtjnash's ScalarEvolutionExpander patch, which fixes #14704.

@@ -670,6 +670,7 @@ $(eval $(call LLVM_PATCH,llvm-3.7.1))
else ifeq ($(LLVM_VER),3.7.1)
$(eval $(call LLVM_PATCH,llvm-3.7.1))
$(eval $(call LLVM_PATCH,llvm-3.7.1_2))
$(eval $(call LLVM_PATCH,llvm-3.7.1_3))
$(LLVM_SRC_DIR)/llvm-3.7.1_2.patch-applied: $(LLVM_SRC_DIR)/llvm-3.7.1.patch-applied
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd don't have enough Makefile-fu to understand why this line exists. So, I didn't know if I should update the target to $(LLVM_SRC_DIR)/llvm-3.7.1_3.patch-applied.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

IIUC this extra dependency is needed since the two patch updates the same file. Should be fine if the third patch is independent with the other two.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If I understand the code correctly, this ensures the patches are applied in the correct order. This doesn't make any difference if they don't touch the same files, so adding another line may not be needed here.

@blakejohnson
Copy link
Contributor Author

Well, that doesn't look good (from AppVeyor x86_64):

Assertion failed!
Program: C:\projects\julia\usr\bin\julia.exe
File: C:/projects/julia/src/gc.c, Line 607
Expression: maybe && "find_region failed"

@nalimilan
Copy link
Member

I think that error happened before for other PRs.

@vtjnash
Copy link
Member

vtjnash commented Jan 28, 2016

lgtm

@blakejohnson
Copy link
Contributor Author

I'll try restarting AppVeyor, then.

blakejohnson added a commit that referenced this pull request Jan 29, 2016
@blakejohnson blakejohnson merged commit cf93d6f into master Jan 29, 2016
@blakejohnson blakejohnson deleted the brj/llvm-see-patch branch January 29, 2016 02:19
@tkelman
Copy link
Contributor

tkelman commented Jan 29, 2016

Should we rebuild the Windows (and OSX if Travis were running all the tests there) LLVM binaries then add the reduced test case for this?

@blakejohnson
Copy link
Contributor Author

@tkelman we should definitely rebuild the LLVM binaries. I'm still not sure what it is exactly about the test case from #14704 that triggers the problem, other than having somewhat complicated control flow. But, we could certainly add it.

@bicycle1885
Copy link
Member

+1 for rebuilding the LLVM binaries if it will solve Travis-CI failures I encountered due to the bug.

tkelman added a commit to staticfloat/homebrew-julia that referenced this pull request Jan 29, 2016
@tkelman
Copy link
Contributor

tkelman commented Jan 29, 2016

I'm referring to the binaries of just llvm itself, that only get used for OSX Travis (homebrew-julia bottles) and AppVeyor testing of Julia base. The nightly binaries of Julia get rebuilt continuously from a source build, so those should pick up this change automatically as long as buildbot status is all okay. See status.julialang.org for the age/commit of the latest nightlies.

@bicycle1885
Copy link
Member

I see. Thank you!

@tkelman
Copy link
Contributor

tkelman commented Jan 31, 2016

This patch is now included on both appveyor and the homebrew bottle, so we can add any tests that depend on it. Maybe we should key off of whether a system LLVM is used somehow, and only run the test when we know we're using our own LLVM build.

@nalimilan
Copy link
Member

Maybe we should key off of whether a system LLVM is used somehow, and only run the test when we know we're using our own LLVM build.

On the other hand, not checking for known-buggy behavior isn't great. I know I'll (try to) ship that patch in Fedora rather than failing, and I think we'd rather have other maintainers do the same. If they really can't, they can still disable the tests. Cc: @JuliaLang/distro-packagers

@blakejohnson Do you plan to make a PR to add tests?

@tkelman
Copy link
Contributor

tkelman commented Feb 1, 2016

Annoyingly no one upstream has reviewed http://reviews.llvm.org/D16505 yet.

tkelman pushed a commit to tkelman/julia that referenced this pull request Mar 7, 2016
@tkelman
Copy link
Contributor

tkelman commented Apr 12, 2016

This did get reviewed upstream but needs to add a test case there. Let's try not to carry this patch forever if we can get it merged upstream.

@Keno
Copy link
Member

Keno commented Jul 13, 2016

Patch committed upstream as http://reviews.llvm.org/rL275239.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Invalid BoundsError in Brim.jl test
7 participants