Update LLVM commit, use small code model

This commit is contained in:
Nekotekina 2018-05-12 22:56:18 +03:00
parent be5c18cc85
commit a77896c1b6
3 changed files with 5 additions and 3 deletions

View File

@ -435,6 +435,7 @@ jit_compiler::jit_compiler(const std::unordered_map<std::string, u64>& _link, co
// Auxiliary JIT (does not use custom memory manager, only writes the objects)
m_engine.reset(llvm::EngineBuilder(std::make_unique<llvm::Module>("null_", m_context))
.setErrorStr(&result)
.setEngineKind(llvm::EngineKind::JIT)
.setOptLevel(llvm::CodeGenOpt::Aggressive)
.setCodeModel(large ? llvm::CodeModel::Large : llvm::CodeModel::Small)
.setMCPU(m_cpu)
@ -448,6 +449,7 @@ jit_compiler::jit_compiler(const std::unordered_map<std::string, u64>& _link, co
m_engine.reset(llvm::EngineBuilder(std::make_unique<llvm::Module>("null", m_context))
.setErrorStr(&result)
.setEngineKind(llvm::EngineKind::JIT)
.setMCJITMemoryManager(std::move(mem))
.setOptLevel(llvm::CodeGenOpt::Aggressive)
.setCodeModel(large ? llvm::CodeModel::Large : llvm::CodeModel::Small)

2
llvm

@ -1 +1 @@
Subproject commit 6154c0dcaf1a5a105afffa106ea3298b3020dffb
Subproject commit 17ec6d78a7371d8ddf7af9dc658d113c4cbf28c3

View File

@ -841,8 +841,8 @@ class spu_llvm_runtime
// All dispatchers
std::array<atomic_t<spu_function_t>, 0x10000> m_dispatcher;
// JIT instance (TODO: use small code model)
jit_compiler m_jit{{}, jit_compiler::cpu(g_cfg.core.llvm_cpu), true};
// JIT instance
jit_compiler m_jit{{}, jit_compiler::cpu(g_cfg.core.llvm_cpu)};
// Debug module output location
std::string m_cache_path;