Make it possible to enable LLVM FastISel
authorfpizlo@apple.com <fpizlo@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 7 Apr 2015 19:41:12 +0000 (19:41 +0000)
committerfpizlo@apple.com <fpizlo@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 7 Apr 2015 19:41:12 +0000 (19:41 +0000)
commite8649f9a80ae224e92bed185f602ed139cf1cfb8
tree116cd4bf51f608f3a06957042ffb24224cc2f8b4
parente96ac3504cc31ce1bb5dc0e1edc45331d5b350be
Make it possible to enable LLVM FastISel
https://bugs.webkit.org/show_bug.cgi?id=143489

Reviewed by Michael Saboff.

The decision to enable FastISel is made by Options.h|cpp, but the LLVM library can disable it if it finds that it is built
against a version of LLVM that doesn't support it. Thereafter, JSC::enableLLVMFastISel is the flag that tells the system
if we should enable it.

* ftl/FTLCompile.cpp:
(JSC::FTL::mmAllocateDataSection):
* llvm/InitializeLLVM.cpp:
(JSC::initializeLLVMImpl):
* llvm/InitializeLLVM.h:
* llvm/InitializeLLVMLinux.cpp:
(JSC::getLLVMInitializerFunction):
(JSC::initializeLLVMImpl): Deleted.
* llvm/InitializeLLVMMac.cpp:
(JSC::getLLVMInitializerFunction):
(JSC::initializeLLVMImpl): Deleted.
* llvm/InitializeLLVMPOSIX.cpp:
(JSC::getLLVMInitializerFunctionPOSIX):
(JSC::initializeLLVMPOSIX): Deleted.
* llvm/InitializeLLVMPOSIX.h:
* llvm/InitializeLLVMWin.cpp:
(JSC::getLLVMInitializerFunction):
(JSC::initializeLLVMImpl): Deleted.
* llvm/LLVMAPI.cpp:
* llvm/LLVMAPI.h:
* llvm/library/LLVMExports.cpp:
(initCommandLine):
(initializeAndGetJSCLLVMAPI):
* runtime/Options.cpp:
(JSC::Options::initialize):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@182483 268f45cc-cd09-0410-ab3c-d52691b4dbfc
13 files changed:
Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/ftl/FTLCompile.cpp
Source/JavaScriptCore/llvm/InitializeLLVM.cpp
Source/JavaScriptCore/llvm/InitializeLLVM.h
Source/JavaScriptCore/llvm/InitializeLLVMLinux.cpp
Source/JavaScriptCore/llvm/InitializeLLVMMac.cpp
Source/JavaScriptCore/llvm/InitializeLLVMPOSIX.cpp
Source/JavaScriptCore/llvm/InitializeLLVMPOSIX.h
Source/JavaScriptCore/llvm/InitializeLLVMWin.cpp
Source/JavaScriptCore/llvm/LLVMAPI.cpp
Source/JavaScriptCore/llvm/LLVMAPI.h
Source/JavaScriptCore/llvm/library/LLVMExports.cpp
Source/JavaScriptCore/runtime/Options.cpp