Commit 3b521a90 authored by Jaikrishnan Menon's avatar Jaikrishnan Menon

CPU: Enable an initial set of target features for Eigen

parent 4ab74ea4
master v0.29.0-rc.0 v0.28.0-rc.1 v0.28.0-rc.0 v0.27.1-rc.3 v0.27.1-rc.2 v0.27.1-rc.1 v0.27.1-rc.0 v0.27.0-rc.1 v0.27.0-rc.0 v0.26.1-rc.0 v0.26.0 v0.26.0-rc.8 v0.26.0-rc.7 v0.26.0-rc.6 v0.26.0-rc.5 v0.26.0-rc.4 v0.26.0-rc.3 v0.26.0-rc.2 v0.26.0-rc.0 v0.25.1-rc.11 v0.25.1-rc.10 v0.25.1-rc.9 v0.25.1-rc.8 v0.25.1-rc.7 v0.25.1-rc.6 v0.25.1-rc.5 v0.25.1-rc.4 v0.25.1-rc.3 v0.25.1-rc.2 v0.25.1-rc.1 v0.25.1-rc.0 v0.25.0 v0.25.0-rc.3 v0.25.0-rc.2 v0.25.0-rc.1 v0.25.0-rc.0 v0.25.0-dev.0 v0.24.0 v0.24.0-rc.3 v0.24.0-rc.2 v0.24.0-rc.1 v0.24.0-rc.0 v0.23.0-rc.7 v0.23.0-rc.6 v0.23.0-rc.5 v0.23.0-rc.4 v0.23.0-rc.3 v0.23.0-rc.2 v0.23.0-rc.1 v0.23.0-rc.0 v0.22.2-rc.0 v0.22.1 v0.22.1-rc.0 v0.22.0 v0.22.0-rc.2 v0.22.0-rc.0 v0.21.0 v0.21.0-rc.1 v0.21.0-rc.0 v0.20.1-rc.4 v0.20.1-rc.3 v0.20.1-rc.2 v0.20.1-rc.1 v0.20.1-rc.0 v0.20.0-rc.2 v0.20.0-rc.1 v0.20.0-rc.0 v0.20.0-dev.0 v0.19.1 v0.19.1-rc.0 v0.19.0 v0.19.0-rc.5 v0.19.0-rc.4 v0.19.0-rc.3 v0.19.0-rc.2 v0.19.0-rc.1 v0.19.0-rc.0 v0.18.1 v0.18.1-rc.1 v0.18.1-rc.0 v0.18.0 v0.18.0-rc.2 v0.18.0-rc.1 v0.18.0-rc.0 v0.17.0-rc.1 v0.17.0-rc.0 v0.16.0-rc.3 v0.16.0-rc.2 v0.16.0-rc.1 v0.16.0-rc.0 v0.15.1-rc.2 v0.15.1-rc.1 v0.15.0 v0.15.0-rc.2 v0.15.0-rc.1 v0.15.0-rc.0 v0.14.0 v0.14.0-rc.1 v0.14.0-rc.0 v0.13.0 v0.12.0 v0.12.0-rc.2 v0.12.0-rc.1 v0.12.0-rc.0 v0.11.1 v0.11.0 v0.11.0-rc.1 v0.11.0-rc.0 v0.10.1 v0.10.0 v0.10.0-rc.6 v0.10.0-rc.5 v0.10.0-rc.4 v0.10.0-rc.3 v0.10.0-rc.2 v0.10.0-rc.1 v0.10.0-rc.0 v0.9.1 v0.9.1-rc.0 v0.9.0 v0.9.0-rc.5 v0.9.0-rc.4 v0.9.0-rc.3 v0.9.0-rc.2 v0.9.0-rc.1 v0.9.0-rc.0 v0.8.2-rc.0 v0.8.1 v0.8.1-rc.0 v0.8.0 v0.8.0-rc.2 v0.8.0-rc.1 v0.8.0-rc.0 v0.7.0 v0.6.0 v0.6.0rc0 v0.6.0-rc.0 v0.6.0-rc0 v0.5.0 v0.4.0 v0.3.0 v0.2.1 v0.2.1-rc0 v0.2.0 v0.2.0-rc1 v0.2.0-rc0 v0.1.0 v0.1.0-rc2 v0.1.0-rc1 v0.1.0-rc0 v0.0.0
No related merge requests found
......@@ -139,6 +139,9 @@ std::unique_ptr<llvm::Module> execution_state::compile(const string& source, con
LO->CXXExceptions = 1;
LO->WChar = 1;
LO->RTTI = 1;
// Enable OpenMP for Eigen
LO->OpenMP = 1;
LO->OpenMPUseTLS = 1;
if (debuginfo_enabled)
{
......@@ -155,6 +158,15 @@ std::unique_ptr<llvm::Module> execution_state::compile(const string& source, con
PPO.DisablePCHValidation = 1;
}
// Enable various target features
// Most of these are for Eigen
auto &TO = Clang->getInvocation().getTargetOpts();
TO.FeaturesAsWritten.emplace_back("+sse4.1");
TO.FeaturesAsWritten.emplace_back("+sse4.2");
TO.FeaturesAsWritten.emplace_back("+avx");
TO.FeaturesAsWritten.emplace_back("+avx2");
TO.FeaturesAsWritten.emplace_back("+fma");
// Map code filename to a memoryBuffer
StringRef source_ref(source);
unique_ptr<MemoryBuffer> buffer = MemoryBuffer::getMemBufferCopy(source_ref);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment