about summary refs log tree commit diff
path: root/src/librustc_codegen_llvm/back
diff options
context:
space:
mode:
authorMichael Woerister <michaelwoerister@posteo>2018-07-16 08:59:10 +0200
committerMichael Woerister <michaelwoerister@posteo>2018-07-16 08:59:10 +0200
commitd992090a702dff976a6d05a9b53b0d7b82199d14 (patch)
treeed0091cc4d92cab8a3f3fb5162b26d80fdfaf99c /src/librustc_codegen_llvm/back
parent5c0110f44bc830960ce3c89607a9f9012aa7adb3 (diff)
downloadrust-d992090a702dff976a6d05a9b53b0d7b82199d14.tar.gz
rust-d992090a702dff976a6d05a9b53b0d7b82199d14.zip
Revert "Provide a way of accessing the ThinLTO module import map in rustc."
This reverts commit 9df56ca0eea1a8f5af945df25ce23e276b1d48a7.
Diffstat (limited to 'src/librustc_codegen_llvm/back')
-rw-r--r--src/librustc_codegen_llvm/back/lto.rs69
1 files changed, 1 insertions, 68 deletions
diff --git a/src/librustc_codegen_llvm/back/lto.rs b/src/librustc_codegen_llvm/back/lto.rs
index 28b9d2e7afa..a33f8b569d0 100644
--- a/src/librustc_codegen_llvm/back/lto.rs
+++ b/src/librustc_codegen_llvm/back/lto.rs
@@ -20,13 +20,12 @@ use rustc::hir::def_id::LOCAL_CRATE;
 use rustc::middle::exported_symbols::SymbolExportLevel;
 use rustc::session::config::{self, Lto};
 use rustc::util::common::time_ext;
-use rustc_data_structures::fx::FxHashMap;
 use time_graph::Timeline;
 use {ModuleCodegen, ModuleLlvm, ModuleKind, ModuleSource};
 
 use libc;
 
-use std::ffi::{CString, CStr};
+use std::ffi::CString;
 use std::ptr;
 use std::slice;
 use std::sync::Arc;
@@ -777,69 +776,3 @@ impl ThinModule {
         Ok(module)
     }
 }
-
-
-#[derive(Debug)]
-pub struct ThinLTOImports {
-    // key = llvm name of importing module, value = list of modules it imports from
-    imports: FxHashMap<String, Vec<String>>,
-}
-
-impl ThinLTOImports {
-
-    /// Load the ThinLTO import map from ThinLTOData.
-    unsafe fn from_thin_lto_data(data: *const llvm::ThinLTOData) -> ThinLTOImports {
-        let raw_data: *const llvm::ThinLTOModuleImports =
-            llvm::LLVMRustGetThinLTOModuleImports(data);
-
-        assert!(!raw_data.is_null());
-
-        let mut imports = FxHashMap();
-        let mut module_ptr = raw_data;
-        let mut module_index = 0;
-
-        loop {
-            let mut entry_ptr: *const llvm::ThinLTOModuleName = *module_ptr;
-
-            if entry_ptr.is_null() {
-                break;
-            }
-
-            let importing_module_name = CStr::from_ptr(*entry_ptr)
-                .to_str()
-                .expect("Non-utf8 LLVM module name encountered")
-                .to_owned();
-
-            entry_ptr = entry_ptr.offset(1);
-
-            let mut imported_modules = vec![];
-
-            loop {
-                let imported_module_name = *entry_ptr;
-
-                if imported_module_name.is_null() {
-                    break
-                }
-
-                let imported_module_name = CStr::from_ptr(imported_module_name)
-                    .to_str()
-                    .expect("Non-utf8 LLVM module name encountered")
-                    .to_owned();
-
-                imported_modules.push(imported_module_name);
-                entry_ptr = entry_ptr.offset(1);
-            }
-
-            imports.insert(importing_module_name, imported_modules);
-
-            module_ptr = module_ptr.offset(1);
-            module_index += 1;
-        }
-
-        assert_eq!(module_index, imports.len());
-
-        ThinLTOImports {
-            imports
-        }
-    }
-}