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

Upgrade to LLVM9 #548

Merged
merged 27 commits into from Jun 1, 2020
Merged

Upgrade to LLVM9 #548

merged 27 commits into from Jun 1, 2020

Conversation

sklam
Copy link
Member

@sklam sklam commented Jan 31, 2020

  • Upgrades to LLVM9
  • exposes isJIT from target machine creation function

ffi/build.py Outdated
@@ -109,7 +109,7 @@ def main_posix(kind, library_ext):

out = out.decode('latin1')
print(out)
if not (out.startswith('8.0.') or out.startswith('7.0.')
if not (out.startswith('9.0.') or out.startswith('7.0.')

Choose a reason for hiding this comment

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

Suggested change
if not (out.startswith('9.0.') or out.startswith('7.0.')
if not (out.startswith('9.0.') or out.startswith('8.0.') or out.startswith('7.0.')

This will drop support for 8.0 which I assume was not intended.

@sklam sklam marked this pull request as ready for review May 29, 2020 16:02
@sklam
Copy link
Member Author

sklam commented May 29, 2020

how did my PR cause flake8 error on files it didn't change?!

Copy link
Contributor

@stuartarchibald stuartarchibald left a comment

Choose a reason for hiding this comment

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

Thanks for the patch and for working through getting LLVM 9 supported. There's a few things to resolve in the change set but largely seems good! Thanks again!

Comment on lines 21 to 22
@rem Install enum34 for Python < 3.4
if %PYTHON% LSS 3.4 (%CONDA_INSTALL% enum34)
Copy link
Contributor

Choose a reason for hiding this comment

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

Do we need this!?

Copy link
Member Author

Choose a reason for hiding this comment

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

nope, removed

conda-recipes/D47188-svml-VF-llvm9.patch Outdated Show resolved Hide resolved
conda-recipes/llvmdev/meta.yaml Outdated Show resolved Hide resolved
conda-recipes/llvmdev_manylinux1/meta.yaml Outdated Show resolved Hide resolved
ffi/build.py Outdated
Comment on lines 138 to 140
if not (out.startswith('9.0.')
or out.startswith('8.0.')
or out.startswith('7.0.')
Copy link
Contributor

Choose a reason for hiding this comment

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

If llvmlite continues to support 7 and 8, but in prod everything moves to 9, how do we know if 7 and 8 got accidentally broken by some incoming change? I think all supported platforms work on 9 so it's not like we've got a spread of LLVM possibilities running to track this. Perhaps this should just be a move to 9 or comment about 7 and 8 likely to work but out of support?

Copy link
Contributor

Choose a reason for hiding this comment

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

Also think the docs and README will need a patch for whatever changes are determined?

Copy link
Member Author

Choose a reason for hiding this comment

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

let's just move to llvm9. we won't be testing llvm 8, 7 anymore.

Copy link
Contributor

Choose a reason for hiding this comment

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

Agree. There's a few references to 7 and 8 in the source that need patching.

docs/source/user-guide/ir/index.rst:<http://llvm.org/releases/7.0.0/docs/LangRef.html>`_.
docs/source/admin-guide/install.rst:#. Download the `LLVM 7.0.0 source code <http://releases.llvm.org/7.0.0/llvm-7.0.0.src.tar.xz>`_.
docs/source/admin-guide/install.rst:   or `LLVM 8.0.0 source code <http://releases.llvm.org/8.0.0/llvm-8.0.0.src.tar.xz>`_
docs/source/conf.py:    'llvm': ('http://llvm.org/releases/8.0.0/docs', None),

ffi/build.py Outdated Show resolved Hide resolved
@stuartarchibald stuartarchibald added this to the Version 0.33.0 milestone May 29, 2020
@sklam
Copy link
Member Author

sklam commented May 29, 2020

smoking at llvmdev_4

@stuartarchibald
Copy link
Contributor

llvmdev_4 seems ok with the exception of armv7l which appears to be having trouble that might not be related to this PR, am rerunning that build.

Copy link
Contributor

@stuartarchibald stuartarchibald left a comment

Choose a reason for hiding this comment

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

Thanks for working all this out and slogging through the challenges that this always present, great to see this done!

@stuartarchibald stuartarchibald merged commit 4bebc60 into numba:master Jun 1, 2020
@sklam sklam deleted the enh/llvm9 branch June 1, 2020 19:30
@stuartarchibald
Copy link
Contributor

Wheel failure will be dealt with separately.

This was referenced Jun 1, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants