Description
With the current push for SIMD intrinsics, nigthly Rust already relies on a bunch of intrinsics that are only available in LLVM 5, 6, and some which are only bug-free on LLVM 7. Stable features like target_feature
/cfg_target_feature
also don't really work properly with older LLVMs (they require at least LLVM 6 IIRC, cc @alexcrichton).
These are the release dates of the most recent LLVM versions:
16 May 2018 | LLVM 5.0.2
8 Mar 2018 | LLVM 6.0.0
21 Dec 2017 | LLVM 5.0.1
07 Sep 2017 | LLVM 5.0.0
04 Jul 2017 | LLVM 4.0.1
13 Mar 2017 | LLVM 4.0.0
Supporting an LLVM that is at least two releases old appears reasonable to me: with LLVM 7 being released in August this would mean that maybe we can bump the minimum version to LLVM 5.0.x.
I'd like to ask stakeholders to please chime in and mention which LLVM versions they are currently shipping Rust with, and what would be the minimum version that it would make sense for them.