diff options
| author | DevJPM <jean-pierre.muench@web.de> | 2020-10-26 08:15:23 +0100 |
|---|---|---|
| committer | DevJPM <jean-pierre.muench@web.de> | 2020-10-26 08:36:14 +0100 |
| commit | 3daa93f555f4dab102da2a8d05cc38c4087166af (patch) | |
| tree | 890729ebc92c6e8e6085156c67914b1bd23209db /compiler/rustc_codegen_llvm/src | |
| parent | cd95e939bb9bef598be54067e93ac712d43fba71 (diff) | |
| download | rust-3daa93f555f4dab102da2a8d05cc38c4087166af.tar.gz rust-3daa93f555f4dab102da2a8d05cc38c4087166af.zip | |
Updated documentation, x86 feature detection testing, and removed LLVM 9 exclusive features
Updated the added documentation in llvm_util.rs to note which copies of LLVM need to be inspected. Removed avx512bf16 and avx512vp2intersect because they are unsupported before LLVM 9 with the build with external LLVM 8 being supported Re-introduced detection testing previously removed for un-requestable features tsc and mmx
Diffstat (limited to 'compiler/rustc_codegen_llvm/src')
| -rw-r--r-- | compiler/rustc_codegen_llvm/src/llvm_util.rs | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/compiler/rustc_codegen_llvm/src/llvm_util.rs b/compiler/rustc_codegen_llvm/src/llvm_util.rs index 2cc2825cf32..91686d27442 100644 --- a/compiler/rustc_codegen_llvm/src/llvm_util.rs +++ b/compiler/rustc_codegen_llvm/src/llvm_util.rs @@ -139,6 +139,11 @@ pub fn time_trace_profiler_finish(file_name: &str) { // array, leading to crashes. // To find a list of LLVM's names, check llvm-project/llvm/include/llvm/Support/*TargetParser.def // where the * matches the architecture's name +// Beware to not use the llvm github project for this, but check the git submodule +// found in src/llvm-project +// Though note that Rust can also be build with an external precompiled version of LLVM +// which might lead to failures if the oldest tested / supported LLVM version +// doesn't yet support the relevant intrinsics pub fn to_llvm_feature<'a>(sess: &Session, s: &'a str) -> &'a str { let arch = if sess.target.arch == "x86_64" { "x86" } else { &*sess.target.arch }; match (arch, s) { |
