Commit 69f2535a by Chris Forbes

Jettison android subzero support entirely

Pastel proved that the LLVM path works well for all the architectures we care about for Android. Converted all aspects of the build to Android.bp Bug: b/139147241 Change-Id: I8ad8c2cc816fbb313feaf4a0c4d3dcf40cff37af Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/35168 Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by: 's avatarBen Clayton <bclayton@google.com> Reviewed-by: 's avatarNicolas Capens <nicolascapens@google.com> Tested-by: 's avatarChris Forbes <chrisforbes@google.com>
parent ae0f7506
...@@ -75,21 +75,6 @@ cc_defaults { ...@@ -75,21 +75,6 @@ cc_defaults {
], ],
} }
cc_defaults {
name: "swiftshader_subzero",
cflags: [
"-DALLOW_DUMP=0",
"-DALLOW_TIMERS=0",
"-DALLOW_LLVM_CL=0",
"-DALLOW_LLVM_IR=0",
"-DALLOW_LLVM_IR_AS_INPUT=0",
"-DALLOW_MINIMAL_BUILD=0",
"-DALLOW_WASM=0",
"-DICE_THREAD_LOCAL_HACK=1",
],
}
cc_library_headers { cc_library_headers {
name: "swiftshader_platform_headers", name: "swiftshader_platform_headers",
host_supported: true, host_supported: true,
...@@ -104,10 +89,3 @@ cc_library_headers { ...@@ -104,10 +89,3 @@ cc_library_headers {
host_supported: true, host_supported: true,
export_include_dirs: ["include/Android"], export_include_dirs: ["include/Android"],
} }
subdirs = [
"src",
"third_party/llvm-subzero",
"third_party/llvm-7.0",
"third_party/subzero",
]
#
# Copyright 2015 The Android Open-Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
LOCAL_PATH := $(call my-dir)
swiftshader_root := $(LOCAL_PATH)
# Subzero is an alternative JIT compiler. It is smaller and generally slower.
REACTOR_USE_SUBZERO := false
# SwiftShader requires C++11.
# Full C++11 support is only available from Marshmallow and up.
ifeq ($(shell test $(PLATFORM_SDK_VERSION) -lt 23 && echo PreMarshmallow),PreMarshmallow)
swiftshader_unsupported_build := true
endif
# Check whether $(TARGET_ARCH) is supported.
ifneq ($(TARGET_ARCH),$(filter $(TARGET_ARCH),x86 x86_64 arm arm64))
swiftshader_unsupported_build := true
endif
ifneq ($(swiftshader_unsupported_build),true)
include $(swiftshader_root)/src/Android.mk
include $(swiftshader_root)/tests/GLESUnitTests/Android.mk
include $(swiftshader_root)/third_party/llvm-7.0/Android.mk
endif
...@@ -16,10 +16,8 @@ ...@@ -16,10 +16,8 @@
cc_defaults { cc_defaults {
name: "libswiftshader", name: "libswiftshader",
device_supported: false,
host_supported: true,
vendor: true, vendor: true,
host_supported: true,
defaults: [ "swiftshader_common" ], defaults: [ "swiftshader_common" ],
...@@ -49,6 +47,7 @@ cc_defaults { ...@@ -49,6 +47,7 @@ cc_defaults {
relative_install_path: "hw", relative_install_path: "hw",
header_libs: [ header_libs: [
"swiftshader_platform_headers", "swiftshader_platform_headers",
"libnativebase_headers",
], ],
shared_libs: [ shared_libs: [
"libnativewindow", "libnativewindow",
...@@ -56,6 +55,7 @@ cc_defaults { ...@@ -56,6 +55,7 @@ cc_defaults {
"libcutils", "libcutils",
"libsync", "libsync",
"liblog", "liblog",
"libui",
], ],
}, },
...@@ -63,6 +63,7 @@ cc_defaults { ...@@ -63,6 +63,7 @@ cc_defaults {
header_libs: [ header_libs: [
"swiftshader_host_headers", "swiftshader_host_headers",
"swiftshader_platform_headers", "swiftshader_platform_headers",
"libnativebase_headers",
], ],
// Pretend to build for Android // Pretend to build for Android
...@@ -121,6 +122,7 @@ cc_defaults { ...@@ -121,6 +122,7 @@ cc_defaults {
"Common/Socket.cpp", "Common/Socket.cpp",
"Common/Thread.cpp", "Common/Thread.cpp",
"Common/Timer.cpp", "Common/Timer.cpp",
"Common/SharedLibrary.cpp",
"Main/Config.cpp", "Main/Config.cpp",
"Main/FrameBuffer.cpp", "Main/FrameBuffer.cpp",
"Main/FrameBufferAndroid.cpp", "Main/FrameBufferAndroid.cpp",
...@@ -214,25 +216,6 @@ cc_defaults { ...@@ -214,25 +216,6 @@ cc_defaults {
} }
cc_defaults { cc_defaults {
name: "libswiftshader_subzero_defaults",
defaults: [ "libswiftshader_common_defaults", "swiftshader_subzero" ],
device_supported: false,
srcs: [
"Reactor/Reactor.cpp",
"Reactor/SubzeroReactor.cpp",
"Reactor/Optimizer.cpp",
"Reactor/Debug.cpp",
],
static_libs: [
"libLLVMSupport_subzero",
"libsubzero",
],
}
cc_defaults {
name: "libswiftshader_common", name: "libswiftshader_common",
defaults: [ "libswiftshader_release", "libswiftshader_common_defaults" ], defaults: [ "libswiftshader_release", "libswiftshader_common_defaults" ],
...@@ -248,50 +231,26 @@ cc_defaults { ...@@ -248,50 +231,26 @@ cc_defaults {
cc_library_static { cc_library_static {
name: "libswiftshader_llvm", name: "libswiftshader_llvm",
defaults: [ "libswiftshader_common", "libswiftshader_llvm_defaults" ], defaults: [ "libswiftshader_common", "libswiftshader_llvm_defaults" ],
device_supported: false,
} }
cc_library_static { cc_library_static {
name: "libswiftshader_llvm_debug", name: "libswiftshader_llvm_debug",
device_supported: false,
defaults: [ "libswiftshader_common_debug", "libswiftshader_llvm_defaults" ], defaults: [ "libswiftshader_common_debug", "libswiftshader_llvm_defaults" ],
} }
cc_library_static { cc_library_static {
name: "libswiftshadervk_llvm", name: "libswiftshadervk_llvm",
device_supported: true,
host_supported: false,
vendor: true, vendor: true,
defaults: [ "libswiftshadervk_llvm_defaults" ], defaults: [ "libswiftshadervk_llvm_defaults" ],
} }
cc_library_static { cc_library_static {
name: "libswiftshadervk_llvm_debug", name: "libswiftshadervk_llvm_debug",
device_supported: true,
host_supported: false,
vendor: true, vendor: true,
defaults: [ "libswiftshadervk_llvm_defaults" ], defaults: [ "libswiftshadervk_llvm_defaults" ],
} }
cc_library_static {
name: "libswiftshader_subzero",
defaults: [ "libswiftshader_common", "libswiftshader_subzero_defaults" ],
device_supported: false,
}
cc_library_static {
name: "libswiftshader_subzero_debug",
device_supported: false,
defaults: [ "libswiftshader_common_debug", "libswiftshader_subzero_defaults" ],
}
// compiler libraries // compiler libraries
cc_defaults { cc_defaults {
...@@ -356,63 +315,23 @@ cc_library_static { ...@@ -356,63 +315,23 @@ cc_library_static {
// libEGL libraries // libEGL libraries
cc_defaults { cc_defaults {
name: "swiftshader_client_libraries_subzero_or_llvm", name: "swiftshader_client_libraries",
defaults: [ "libswiftshader_release" ], defaults: [ "libswiftshader_release" ],
target: {
android_arm: {
static_libs: [
"libswiftshader_subzero",
"libsubzero",
"libLLVMSupport_subzero",
],
},
android: {
static_libs: [
"libswiftshader_llvm",
"libLLVM7_swiftshader",
],
},
host: {
static_libs: [ static_libs: [
"libswiftshader_llvm", "libswiftshader_llvm",
"libLLVM7_swiftshader", "libLLVM7_swiftshader",
], ],
},
},
} }
cc_defaults { cc_defaults {
name: "swiftshader_client_libraries_subzero_or_llvm_debug", name: "swiftshader_client_libraries_debug",
defaults: [ "libswiftshader_debug" ], defaults: [ "libswiftshader_debug" ],
target: {
android_arm: {
static_libs: [
"libswiftshader_subzero_debug",
"libsubzero",
"libLLVMSupport_subzero",
],
},
android: {
static_libs: [ static_libs: [
"libswiftshader_llvm_debug", "libswiftshader_llvm_debug",
"libLLVM7_swiftshader", "libLLVM7_swiftshader",
], ],
},
host: {
static_libs: [
"libswiftshader_llvm_debug",
"libLLVM7_swiftshader",
],
},
},
} }
cc_defaults { cc_defaults {
...@@ -443,9 +362,8 @@ cc_library_shared { ...@@ -443,9 +362,8 @@ cc_library_shared {
defaults: [ defaults: [
"libEGL_swiftshader_defaults", "libEGL_swiftshader_defaults",
"swiftshader_client_libraries_subzero_or_llvm", "swiftshader_client_libraries",
], ],
device_supported: false,
} }
cc_library_shared { cc_library_shared {
...@@ -453,9 +371,8 @@ cc_library_shared { ...@@ -453,9 +371,8 @@ cc_library_shared {
defaults: [ defaults: [
"libEGL_swiftshader_defaults", "libEGL_swiftshader_defaults",
"swiftshader_client_libraries_subzero_or_llvm_debug", "swiftshader_client_libraries_debug",
], ],
device_supported: false,
} }
// libGLESv1_CM libraries // libGLESv1_CM libraries
...@@ -497,9 +414,8 @@ cc_library_shared { ...@@ -497,9 +414,8 @@ cc_library_shared {
defaults: [ defaults: [
"libGLESv1_CM_swiftshader_defaults", "libGLESv1_CM_swiftshader_defaults",
"swiftshader_client_libraries_subzero_or_llvm", "swiftshader_client_libraries",
], ],
device_supported: false,
} }
cc_library_shared { cc_library_shared {
...@@ -507,9 +423,8 @@ cc_library_shared { ...@@ -507,9 +423,8 @@ cc_library_shared {
defaults: [ defaults: [
"libGLESv1_CM_swiftshader_defaults", "libGLESv1_CM_swiftshader_defaults",
"swiftshader_client_libraries_subzero_or_llvm_debug", "swiftshader_client_libraries_debug",
], ],
device_supported: false,
} }
// libGLESv2 libraries // libGLESv2 libraries
...@@ -518,7 +433,6 @@ cc_defaults { ...@@ -518,7 +433,6 @@ cc_defaults {
name: "libGLESv2_swiftshader_defaults", name: "libGLESv2_swiftshader_defaults",
defaults: [ "libswiftshader" ], defaults: [ "libswiftshader" ],
device_supported: false,
cflags: [ cflags: [
"-DLOG_TAG=\"libGLESv2_swiftshader\"", "-DLOG_TAG=\"libGLESv2_swiftshader\"",
...@@ -560,9 +474,8 @@ cc_library_shared { ...@@ -560,9 +474,8 @@ cc_library_shared {
defaults: [ defaults: [
"libGLESv2_swiftshader_defaults", "libGLESv2_swiftshader_defaults",
"swiftshader_client_libraries_subzero_or_llvm", "swiftshader_client_libraries",
], ],
device_supported: false,
static_libs: [ "libswiftshader_compiler" ], static_libs: [ "libswiftshader_compiler" ],
} }
...@@ -572,9 +485,8 @@ cc_library_shared { ...@@ -572,9 +485,8 @@ cc_library_shared {
defaults: [ defaults: [
"libGLESv2_swiftshader_defaults", "libGLESv2_swiftshader_defaults",
"swiftshader_client_libraries_subzero_or_llvm_debug", "swiftshader_client_libraries_debug",
], ],
device_supported: false,
static_libs: [ "libswiftshader_compiler_debug" ], static_libs: [ "libswiftshader_compiler_debug" ],
} }
...@@ -613,9 +525,6 @@ cc_library_static { ...@@ -613,9 +525,6 @@ cc_library_static {
cc_defaults { cc_defaults {
name: "libvk_swiftshader_defaults", name: "libvk_swiftshader_defaults",
device_supported: true,
host_supported: false,
vendor: true, vendor: true,
defaults: [ "swiftshader_common" ], defaults: [ "swiftshader_common" ],
...@@ -704,8 +613,6 @@ cc_library_shared { ...@@ -704,8 +613,6 @@ cc_library_shared {
"libyarn", "libyarn",
], ],
host_supported: false,
defaults: [ defaults: [
"libvk_swiftshader_common_defaults", "libvk_swiftshader_common_defaults",
"libvk_swiftshader_defaults" "libvk_swiftshader_defaults"
...@@ -721,8 +628,6 @@ cc_library_shared { ...@@ -721,8 +628,6 @@ cc_library_shared {
"libyarn", "libyarn",
], ],
host_supported: false,
cflags: [ cflags: [
"-UNDEBUG", "-UNDEBUG",
"-g", "-g",
......
LOCAL_PATH := $(call my-dir)
swiftshader_src_root := $(LOCAL_PATH)
COMMON_C_INCLUDES += \
bionic \
$(LOCAL_PATH)/../include \
$(LOCAL_PATH)/OpenGL/ \
$(LOCAL_PATH)
ifeq ($(REACTOR_USE_SUBZERO),true)
COMMON_C_INCLUDES += \
$(LOCAL_PATH)/../third_party/subzero/ \
$(LOCAL_PATH)/../third_party/llvm-subzero/include/ \
$(LOCAL_PATH)/../third_party/llvm-subzero/build/Android/include/ \
$(LOCAL_PATH)/../third_party/subzero/pnacl-llvm/include/
else
COMMON_C_INCLUDES += \
$(LOCAL_PATH)/../third_party/llvm-7.0/llvm/include \
$(LOCAL_PATH)/../third_party/llvm-7.0/configs/android/include \
$(LOCAL_PATH)/../third_party/llvm-7.0/configs/common/include
endif
# Project Treble is introduced from Oreo MR1
ifeq ($(shell test $(PLATFORM_SDK_VERSION) -ge 27 && echo OreoMR1),OreoMR1)
COMMON_SHARED_LIBRARIES := libnativewindow liblog
COMMON_HEADER_LIBRARIES := libhardware_headers libnativebase_headers
COMMON_STATIC_LIBRARIES := libarect
endif
# Marshmallow does not have stlport, but comes with libc++ by default
ifeq ($(shell test $(PLATFORM_SDK_VERSION) -lt 23 && echo PreMarshmallow),PreMarshmallow)
COMMON_C_INCLUDES += external/stlport/stlport
endif
COMMON_SRC_FILES := \
Common/CPUID.cpp \
Common/Configurator.cpp \
Common/DebugAndroid.cpp \
Common/GrallocAndroid.cpp \
Common/Half.cpp \
Common/Math.cpp \
Common/Memory.cpp \
Common/Resource.cpp \
Common/Socket.cpp \
Common/Thread.cpp \
Common/Timer.cpp
COMMON_SRC_FILES += \
Main/Config.cpp \
Main/FrameBuffer.cpp \
Main/FrameBufferAndroid.cpp \
Main/SwiftConfig.cpp
COMMON_SRC_FILES += \
Reactor/Reactor.cpp \
Reactor/Debug.cpp \
Reactor/DebugAndroid.cpp \
Reactor/ExecutableMemory.cpp
ifeq ($(REACTOR_USE_SUBZERO),true)
COMMON_SRC_FILES += \
Reactor/SubzeroReactor.cpp \
Reactor/Optimizer.cpp
else
COMMON_SRC_FILES += \
Reactor/LLVMReactor.cpp \
Reactor/CPUID.cpp
endif
COMMON_SRC_FILES += \
Renderer/Blitter.cpp \
Renderer/Clipper.cpp \
Renderer/Color.cpp \
Renderer/Context.cpp \
Renderer/ETC_Decoder.cpp \
Renderer/Matrix.cpp \
Renderer/PixelProcessor.cpp \
Renderer/Plane.cpp \
Renderer/Point.cpp \
Renderer/QuadRasterizer.cpp \
Renderer/Renderer.cpp \
Renderer/Sampler.cpp \
Renderer/SetupProcessor.cpp \
Renderer/Surface.cpp \
Renderer/TextureStage.cpp \
Renderer/Vector.cpp \
Renderer/VertexProcessor.cpp \
COMMON_SRC_FILES += \
Shader/Constants.cpp \
Shader/PixelPipeline.cpp \
Shader/PixelProgram.cpp \
Shader/PixelRoutine.cpp \
Shader/PixelShader.cpp \
Shader/SamplerCore.cpp \
Shader/SetupRoutine.cpp \
Shader/Shader.cpp \
Shader/ShaderCore.cpp \
Shader/VertexPipeline.cpp \
Shader/VertexProgram.cpp \
Shader/VertexRoutine.cpp \
Shader/VertexShader.cpp \
COMMON_SRC_FILES += \
OpenGL/common/Image.cpp \
OpenGL/common/Object.cpp \
OpenGL/common/MatrixStack.cpp \
COMMON_CFLAGS := \
-DLOG_TAG=\"swiftshader\" \
-Wall \
-Werror \
-Wno-format \
-Wno-switch \
-Wno-unused-local-typedef \
-Wno-unused-parameter \
-Wno-unused-value \
-Wno-unused-variable \
-Wno-implicit-exception-spec-mismatch \
-Wno-implicit-fallthrough \
-Wno-overloaded-virtual \
-Wno-non-virtual-dtor \
-Wno-attributes \
-Wno-unknown-attributes \
-Wno-unknown-warning-option \
-fno-operator-names \
-msse2 \
-D__STDC_CONSTANT_MACROS \
-D__STDC_LIMIT_MACROS \
-DANDROID_PLATFORM_SDK_VERSION=$(PLATFORM_SDK_VERSION) \
-std=c++11 \
-DNO_SANITIZE_FUNCTION=
ifneq (16,${PLATFORM_SDK_VERSION})
COMMON_CFLAGS += -Xclang -fuse-init-array
else
COMMON_CFLAGS += -D__STDC_INT64__
endif
# gralloc1 is introduced from N MR1
ifeq ($(shell test $(PLATFORM_SDK_VERSION) -ge 25 && echo NMR1),NMR1)
COMMON_CFLAGS += -DHAVE_GRALLOC1
COMMON_C_INCLUDES += \
system/core/libsync/include \
system/core/libsync
endif
# Common Subzero defines
COMMON_CFLAGS += -DALLOW_DUMP=0 -DALLOW_TIMERS=0 -DALLOW_LLVM_CL=0 -DALLOW_LLVM_IR=0 -DALLOW_LLVM_IR_AS_INPUT=0 -DALLOW_MINIMAL_BUILD=0 -DALLOW_WASM=0 -DICE_THREAD_LOCAL_HACK=1
# Subzero target
LOCAL_CFLAGS_x86 += -DSZTARGET=X8632
LOCAL_CFLAGS_x86_64 += -DSZTARGET=X8664
LOCAL_CFLAGS_arm += -DSZTARGET=ARM32
include $(CLEAR_VARS)
LOCAL_CLANG := true
LOCAL_MODULE := swiftshader_top_release
LOCAL_VENDOR_MODULE := true
LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES := $(COMMON_SRC_FILES)
LOCAL_CFLAGS := $(COMMON_CFLAGS) -fomit-frame-pointer -ffunction-sections -fdata-sections -DANGLE_DISABLE_TRACE
LOCAL_C_INCLUDES := $(COMMON_C_INCLUDES)
LOCAL_SHARED_LIBRARIES := $(COMMON_SHARED_LIBRARIES)
LOCAL_HEADER_LIBRARIES := $(COMMON_HEADER_LIBRARIES)
LOCAL_STATIC_LIBRARIES := $(COMMON_STATIC_LIBRARIES)
include $(BUILD_STATIC_LIBRARY)
include $(CLEAR_VARS)
LOCAL_CLANG := true
LOCAL_MODULE := swiftshader_top_debug
LOCAL_VENDOR_MODULE := true
LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES := $(COMMON_SRC_FILES)
LOCAL_CFLAGS := $(COMMON_CFLAGS) -UNDEBUG -g -O0 -DDEFAULT_THREAD_COUNT=1
LOCAL_C_INCLUDES := $(COMMON_C_INCLUDES)
LOCAL_SHARED_LIBRARIES := $(COMMON_SHARED_LIBRARIES)
LOCAL_HEADER_LIBRARIES := $(COMMON_HEADER_LIBRARIES)
LOCAL_STATIC_LIBRARIES := $(COMMON_STATIC_LIBRARIES)
include $(BUILD_STATIC_LIBRARY)
include $(swiftshader_src_root)/Reactor/Android.mk
include $(swiftshader_src_root)/OpenGL/libGLESv2/Android.mk
include $(swiftshader_src_root)/OpenGL/libGLES_CM/Android.mk
include $(swiftshader_src_root)/OpenGL/libEGL/Android.mk
include $(swiftshader_src_root)/OpenGL/compiler/Android.mk
LOCAL_PATH:= $(call my-dir)
COMMON_C_INCLUDES := \
bionic \
$(LOCAL_PATH)/../../../include \
$(LOCAL_PATH)/../ \
$(LOCAL_PATH)/../../ \
$(LOCAL_PATH)/../../Renderer/ \
$(LOCAL_PATH)/../../Common/ \
$(LOCAL_PATH)/../../Shader/ \
$(LOCAL_PATH)/../../Main/
# Marshmallow does not have stlport, but comes with libc++ by default
ifeq ($(shell test $(PLATFORM_SDK_VERSION) -lt 23 && echo PreMarshmallow),PreMarshmallow)
COMMON_C_INCLUDES += \
$(LOCAL_PATH)/../../../third_party/stlport-cpp11-extension/ \
external/stlport/stlport/ \
external/stlport/
endif
COMMON_CFLAGS := \
-DLOG_TAG=\"swiftshader_compiler\" \
-Wall \
-Werror \
-Wno-format \
-Wno-sign-compare \
-Wno-unneeded-internal-declaration \
-Wno-unused-const-variable \
-Wno-unused-parameter \
-Wno-unused-variable \
-Wno-implicit-exception-spec-mismatch \
-Wno-implicit-fallthrough \
-Wno-overloaded-virtual \
-Wno-attributes \
-Wno-unknown-attributes \
-Wno-unknown-warning-option \
-fno-operator-names \
-msse2 \
-D__STDC_CONSTANT_MACROS \
-D__STDC_LIMIT_MACROS \
-std=c++11 \
-DANDROID_PLATFORM_SDK_VERSION=$(PLATFORM_SDK_VERSION)
ifneq (16,${PLATFORM_SDK_VERSION})
COMMON_CFLAGS += -Xclang -fuse-init-array
else
COMMON_CFLAGS += -D__STDC_INT64__
endif
COMMON_SRC_FILES := \
preprocessor/DiagnosticsBase.cpp \
preprocessor/DirectiveHandlerBase.cpp \
preprocessor/DirectiveParser.cpp \
preprocessor/ExpressionParser.cpp \
preprocessor/Input.cpp \
preprocessor/Lexer.cpp \
preprocessor/Macro.cpp \
preprocessor/MacroExpander.cpp \
preprocessor/Preprocessor.cpp \
preprocessor/Token.cpp \
preprocessor/Tokenizer.cpp \
AnalyzeCallDepth.cpp \
Compiler.cpp \
debug.cpp \
Diagnostics.cpp \
DirectiveHandler.cpp \
glslang_lex.cpp \
glslang_tab.cpp \
InfoSink.cpp \
Initialize.cpp \
InitializeParseContext.cpp \
IntermTraverse.cpp \
Intermediate.cpp \
intermOut.cpp \
ossource_posix.cpp \
OutputASM.cpp \
parseConst.cpp \
ParseHelper.cpp \
PoolAlloc.cpp \
SymbolTable.cpp \
TranslatorASM.cpp \
util.cpp \
ValidateLimitations.cpp \
ValidateSwitch.cpp \
# liblog_headers is introduced from O MR1
ifeq ($(shell test $(PLATFORM_SDK_VERSION) -ge 27 && echo OMR1),OMR1)
COMMON_HEADER_LIBRARIES := liblog_headers
else
COMMON_HEADER_LIBRARIES :=
endif
include $(CLEAR_VARS)
LOCAL_CLANG := true
LOCAL_MODULE := swiftshader_compiler_release
LOCAL_MODULE_TAGS := optional
LOCAL_VENDOR_MODULE := true
LOCAL_SRC_FILES := $(COMMON_SRC_FILES)
LOCAL_CFLAGS += \
$(COMMON_CFLAGS) \
-ffunction-sections \
-fdata-sections \
-DANGLE_DISABLE_TRACE
LOCAL_C_INCLUDES := $(COMMON_C_INCLUDES)
LOCAL_SHARED_LIBRARIES := libcutils
LOCAL_HEADER_LIBRARIES := $(COMMON_HEADER_LIBRARIES)
include $(BUILD_STATIC_LIBRARY)
include $(CLEAR_VARS)
LOCAL_CLANG := true
LOCAL_MODULE := swiftshader_compiler_debug
LOCAL_MODULE_TAGS := optional
LOCAL_VENDOR_MODULE := true
LOCAL_SRC_FILES := $(COMMON_SRC_FILES)
LOCAL_CFLAGS += \
$(COMMON_CFLAGS) \
-UNDEBUG \
-g \
-O0
LOCAL_C_INCLUDES := $(COMMON_C_INCLUDES)
LOCAL_SHARED_LIBRARIES := libcutils
LOCAL_HEADER_LIBRARIES := $(COMMON_HEADER_LIBRARIES)
include $(BUILD_STATIC_LIBRARY)
...@@ -1266,7 +1266,7 @@ namespace glsl ...@@ -1266,7 +1266,7 @@ namespace glsl
TIntermTyped *result = node; TIntermTyped *result = node;
const TType &resultType = node->getType(); const TType &resultType = node->getType();
TIntermSequence &arg = node->getSequence(); TIntermSequence &arg = node->getSequence();
size_t argumentCount = arg.size(); int argumentCount = static_cast<int>(arg.size());
switch(node->getOp()) switch(node->getOp())
{ {
...@@ -1339,7 +1339,7 @@ namespace glsl ...@@ -1339,7 +1339,7 @@ namespace glsl
TIntermSequence &arguments = *function->arg; TIntermSequence &arguments = *function->arg;
for(size_t i = 0; i < argumentCount; i++) for(int i = 0; i < argumentCount; i++)
{ {
TIntermTyped *in = arguments[i]->getAsTyped(); TIntermTyped *in = arguments[i]->getAsTyped();
...@@ -1360,7 +1360,7 @@ namespace glsl ...@@ -1360,7 +1360,7 @@ namespace glsl
copy(result, function->ret); copy(result, function->ret);
} }
for(size_t i = 0; i < argumentCount; i++) for(int i = 0; i < argumentCount; i++)
{ {
TIntermTyped *argument = arguments[i]->getAsTyped(); TIntermTyped *argument = arguments[i]->getAsTyped();
TIntermTyped *out = arg[i]->getAsTyped(); TIntermTyped *out = arg[i]->getAsTyped();
...@@ -1500,7 +1500,7 @@ namespace glsl ...@@ -1500,7 +1500,7 @@ namespace glsl
int component = 0; int component = 0;
int arrayMaxIndex = result->isArray() ? result->getArraySize() - 1 : 0; int arrayMaxIndex = result->isArray() ? result->getArraySize() - 1 : 0;
int arrayComponents = result->getType().getElementSize(); int arrayComponents = result->getType().getElementSize();
for(size_t i = 0; i < argumentCount; i++) for(int i = 0; i < argumentCount; i++)
{ {
TIntermTyped *argi = arg[i]->getAsTyped(); TIntermTyped *argi = arg[i]->getAsTyped();
int size = argi->getNominalSize(); int size = argi->getNominalSize();
...@@ -1616,7 +1616,7 @@ namespace glsl ...@@ -1616,7 +1616,7 @@ namespace glsl
int column = 0; int column = 0;
int row = 0; int row = 0;
for(size_t i = 0; i < argumentCount; i++) for(int i = 0; i < argumentCount; i++)
{ {
TIntermTyped *argi = arg[i]->getAsTyped(); TIntermTyped *argi = arg[i]->getAsTyped();
int size = argi->getNominalSize(); int size = argi->getNominalSize();
...@@ -1641,7 +1641,7 @@ namespace glsl ...@@ -1641,7 +1641,7 @@ namespace glsl
if(visit == PostVisit) if(visit == PostVisit)
{ {
int offset = 0; int offset = 0;
for(size_t i = 0; i < argumentCount; i++) for(int i = 0; i < argumentCount; i++)
{ {
TIntermTyped *argi = arg[i]->getAsTyped(); TIntermTyped *argi = arg[i]->getAsTyped();
int size = argi->totalRegisterCount(); int size = argi->totalRegisterCount();
......
LOCAL_PATH:= $(call my-dir)
COMMON_SWIFTSHADER_RELATIVE_PATH := $(if $(BOARD_SWIFTSHADER_RELATIVE_PATH),$(BOARD_SWIFTSHADER_RELATIVE_PATH),egl)
COMMON_CFLAGS := \
-DLOG_TAG=\"libEGL_swiftshader\" \
-std=c++11 \
-DEGLAPI= \
-DEGL_EGLEXT_PROTOTYPES \
-Wall \
-Werror \
-Wno-format \
-Wno-unused-function \
-Wno-unused-parameter \
-Wno-implicit-exception-spec-mismatch \
-Wno-implicit-fallthrough \
-Wno-overloaded-virtual \
-Wno-attributes \
-Wno-unknown-attributes \
-Wno-unknown-warning-option \
-DANDROID_PLATFORM_SDK_VERSION=$(PLATFORM_SDK_VERSION) \
-DNO_SANITIZE_FUNCTION=
ifneq (16,${PLATFORM_SDK_VERSION})
COMMON_CFLAGS += -Xclang -fuse-init-array
else
COMMON_CFLAGS += -D__STDC_INT64__
endif
COMMON_SRC_FILES := \
Config.cpp \
Display.cpp \
Surface.cpp \
libEGL.cpp \
main.cpp \
../../Common/SharedLibrary.cpp
COMMON_C_INCLUDES := \
bionic \
$(LOCAL_PATH)/../../../include \
$(LOCAL_PATH)/../ \
$(LOCAL_PATH)/../../
COMMON_SHARED_LIBRARIES := \
libdl \
liblog \
libcutils \
libhardware
# Project Treble is introduced from Oreo MR1
ifeq ($(shell test $(PLATFORM_SDK_VERSION) -ge 27 && echo OreoMR1),OreoMR1)
COMMON_SHARED_LIBRARIES += libnativewindow
COMMON_STATIC_LIBRARIES += libarect
COMMON_HEADER_LIBRARIES += libnativebase_headers
endif
# gralloc1 is introduced from N MR1
ifeq ($(shell test $(PLATFORM_SDK_VERSION) -ge 25 && echo NMR1),NMR1)
COMMON_CFLAGS += -DHAVE_GRALLOC1
COMMON_SHARED_LIBRARIES += libsync
endif
# Marshmallow does not have stlport, but comes with libc++ by default
ifeq ($(shell test $(PLATFORM_SDK_VERSION) -lt 23 && echo PreMarshmallow),PreMarshmallow)
COMMON_SHARED_LIBRARIES += libstlport
COMMON_C_INCLUDES += external/stlport/stlport
endif
COMMON_LDFLAGS := \
-Wl,--version-script=$(LOCAL_PATH)/libEGL.lds \
-Wl,--gc-sections \
-Wl,--hash-style=sysv
include $(CLEAR_VARS)
LOCAL_MODULE := libEGL_swiftshader_debug
ifeq ($(TARGET_TRANSLATE_2ND_ARCH),true)
LOCAL_MULTILIB := first
endif
ifeq (HasRelativePath,$(shell test $(PLATFORM_SDK_VERSION) -ge 21 && echo HasRelativePath))
LOCAL_MODULE_RELATIVE_PATH := $(COMMON_SWIFTSHADER_RELATIVE_PATH)
else
LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/$(COMMON_SWIFTSHADER_RELATIVE_PATH)
endif
LOCAL_VENDOR_MODULE := true
LOCAL_MODULE_TAGS := optional
LOCAL_CLANG := true
LOCAL_SRC_FILES := $(COMMON_SRC_FILES)
LOCAL_C_INCLUDES += $(COMMON_C_INCLUDES)
LOCAL_STATIC_LIBRARIES += swiftshader_top_debug $(COMMON_STATIC_LIBRARIES)
LOCAL_SHARED_LIBRARIES += $(COMMON_SHARED_LIBRARIES)
LOCAL_HEADER_LIBRARIES := $(COMMON_HEADER_LIBRARIES)
LOCAL_LDFLAGS += $(COMMON_LDFLAGS)
LOCAL_CFLAGS += $(COMMON_CFLAGS) -UNDEBUG -g -O0
include $(BUILD_SHARED_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := libEGL_swiftshader
ifeq ($(TARGET_TRANSLATE_2ND_ARCH),true)
LOCAL_MULTILIB := first
endif
ifeq (HasRelativePath,$(shell test $(PLATFORM_SDK_VERSION) -ge 21 && echo HasRelativePath))
LOCAL_MODULE_RELATIVE_PATH := $(COMMON_SWIFTSHADER_RELATIVE_PATH)
else
LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/$(COMMON_SWIFTSHADER_RELATIVE_PATH)
endif
LOCAL_VENDOR_MODULE := true
LOCAL_MODULE_TAGS := optional
LOCAL_CLANG := true
LOCAL_SRC_FILES := $(COMMON_SRC_FILES)
LOCAL_C_INCLUDES += $(COMMON_C_INCLUDES)
LOCAL_STATIC_LIBRARIES += swiftshader_top_release $(COMMON_STATIC_LIBRARIES)
LOCAL_SHARED_LIBRARIES += $(COMMON_SHARED_LIBRARIES)
LOCAL_HEADER_LIBRARIES := $(COMMON_HEADER_LIBRARIES)
LOCAL_LDFLAGS += $(COMMON_LDFLAGS)
LOCAL_CFLAGS += $(COMMON_CFLAGS) -DANGLE_DISABLE_TRACE
include $(BUILD_SHARED_LIBRARY)
LOCAL_PATH:= $(call my-dir)
COMMON_SWIFTSHADER_RELATIVE_PATH := $(if $(BOARD_SWIFTSHADER_RELATIVE_PATH),$(BOARD_SWIFTSHADER_RELATIVE_PATH),egl)
COMMON_CFLAGS := \
-DLOG_TAG=\"libGLES_CM_swiftshader\" \
-std=c++11 \
-fno-operator-names \
-msse2 \
-D__STDC_CONSTANT_MACROS \
-D__STDC_LIMIT_MACROS \
-DEGLAPI= \
-DGL_API= \
-DGL_APICALL= \
-DGL_GLEXT_PROTOTYPES \
-Wall \
-Werror \
-Wno-format \
-Wno-format-extra-args \
-Wno-unused-parameter \
-Wno-unused-variable \
-Wno-implicit-exception-spec-mismatch \
-Wno-implicit-fallthrough \
-Wno-overloaded-virtual \
-Wno-attributes \
-Wno-unknown-attributes \
-Wno-unknown-warning-option \
-DANDROID_PLATFORM_SDK_VERSION=$(PLATFORM_SDK_VERSION)
ifneq (16,${PLATFORM_SDK_VERSION})
COMMON_CFLAGS += -Xclang -fuse-init-array
else
COMMON_CFLAGS += -D__STDC_INT64__
endif
COMMON_SRC_FILES := \
Buffer.cpp \
Context.cpp \
Device.cpp \
Framebuffer.cpp \
IndexDataManager.cpp \
libGLES_CM.cpp \
main.cpp \
Renderbuffer.cpp \
ResourceManager.cpp \
Texture.cpp \
utilities.cpp \
VertexDataManager.cpp \
../../Common/SharedLibrary.cpp
COMMON_C_INCLUDES := \
bionic \
$(LOCAL_PATH)/../../../include \
$(LOCAL_PATH)/../ \
$(LOCAL_PATH)/../../ \
$(LOCAL_PATH)/../../Renderer/ \
$(LOCAL_PATH)/../../Common/ \
$(LOCAL_PATH)/../../Shader/ \
$(LOCAL_PATH)/../../Main/
ifeq ($(REACTOR_USE_SUBZERO),true)
COMMON_STATIC_LIBRARIES := libsubzero
else
COMMON_STATIC_LIBRARIES := libLLVM7_swiftshader
endif
COMMON_SHARED_LIBRARIES := \
libdl \
liblog \
libcutils \
libhardware
# Project Treble is introduced from Oreo MR1
ifeq ($(shell test $(PLATFORM_SDK_VERSION) -ge 27 && echo OreoMR1),OreoMR1)
COMMON_SHARED_LIBRARIES += libnativewindow
COMMON_STATIC_LIBRARIES += libarect
COMMON_HEADER_LIBRARIES := libnativebase_headers
endif
# gralloc1 is introduced from N MR1
ifeq ($(shell test $(PLATFORM_SDK_VERSION) -ge 25 && echo NMR1),NMR1)
COMMON_CFLAGS += -DHAVE_GRALLOC1
COMMON_SHARED_LIBRARIES += libsync
endif
# Marshmallow does not have stlport, but comes with libc++ by default
ifeq ($(shell test $(PLATFORM_SDK_VERSION) -lt 23 && echo PreMarshmallow),PreMarshmallow)
COMMON_SHARED_LIBRARIES += libstlport
COMMON_C_INCLUDES += external/stlport/stlport
endif
COMMON_LDFLAGS := \
-Wl,--version-script=$(LOCAL_PATH)/libGLES_CM.lds \
-Wl,--gc-sections \
-Wl,--hash-style=sysv
include $(CLEAR_VARS)
LOCAL_MODULE := libGLESv1_CM_swiftshader_debug
ifeq ($(TARGET_TRANSLATE_2ND_ARCH),true)
LOCAL_MULTILIB := first
endif
ifeq (HasRelativePath,$(shell test $(PLATFORM_SDK_VERSION) -ge 21 && echo HasRelativePath))
LOCAL_MODULE_RELATIVE_PATH := $(COMMON_SWIFTSHADER_RELATIVE_PATH)
else
LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/$(COMMON_SWIFTSHADER_RELATIVE_PATH)
endif
LOCAL_VENDOR_MODULE := true
LOCAL_MODULE_TAGS := optional
LOCAL_CLANG := true
LOCAL_SRC_FILES += $(COMMON_SRC_FILES)
LOCAL_C_INCLUDES += $(COMMON_C_INCLUDES)
LOCAL_STATIC_LIBRARIES += swiftshader_top_debug $(COMMON_STATIC_LIBRARIES)
LOCAL_SHARED_LIBRARIES += $(COMMON_SHARED_LIBRARIES)
LOCAL_HEADER_LIBRARIES := $(COMMON_HEADER_LIBRARIES)
LOCAL_LDFLAGS += $(COMMON_LDFLAGS)
LOCAL_CFLAGS += $(COMMON_CFLAGS) -UNDEBUG -g -O0
include $(BUILD_SHARED_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := libGLESv1_CM_swiftshader
ifeq ($(TARGET_TRANSLATE_2ND_ARCH),true)
LOCAL_MULTILIB := first
endif
ifeq (HasRelativePath,$(shell test $(PLATFORM_SDK_VERSION) -ge 21 && echo HasRelativePath))
LOCAL_MODULE_RELATIVE_PATH := $(COMMON_SWIFTSHADER_RELATIVE_PATH)
else
LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/$(COMMON_SWIFTSHADER_RELATIVE_PATH)
endif
LOCAL_VENDOR_MODULE := true
LOCAL_MODULE_TAGS := optional
LOCAL_CLANG := true
LOCAL_SRC_FILES += $(COMMON_SRC_FILES)
LOCAL_C_INCLUDES += $(COMMON_C_INCLUDES)
LOCAL_STATIC_LIBRARIES += swiftshader_top_release $(COMMON_STATIC_LIBRARIES)
LOCAL_SHARED_LIBRARIES += $(COMMON_SHARED_LIBRARIES)
LOCAL_HEADER_LIBRARIES := $(COMMON_HEADER_LIBRARIES)
LOCAL_LDFLAGS += $(COMMON_LDFLAGS)
LOCAL_CFLAGS += \
$(COMMON_CFLAGS) \
-fomit-frame-pointer \
-ffunction-sections \
-fdata-sections \
-DANGLE_DISABLE_TRACE
include $(BUILD_SHARED_LIBRARY)
LOCAL_PATH:= $(call my-dir)
COMMON_SWIFTSHADER_RELATIVE_PATH := $(if $(BOARD_SWIFTSHADER_RELATIVE_PATH),$(BOARD_SWIFTSHADER_RELATIVE_PATH),egl)
COMMON_CFLAGS := \
-DLOG_TAG=\"libGLESv2_swiftshader\" \
-fno-operator-names \
-msse2 \
-D__STDC_CONSTANT_MACROS \
-D__STDC_LIMIT_MACROS \
-std=c++11 \
-DGL_API= \
-DGL_APICALL= \
-DGL_GLEXT_PROTOTYPES \
-Wall \
-Werror \
-Wno-format \
-Wno-sign-compare \
-Wno-unused-parameter \
-Wno-unused-private-field \
-Wno-unused-variable \
-Wno-implicit-exception-spec-mismatch \
-Wno-implicit-fallthrough \
-Wno-overloaded-virtual \
-Wno-attributes \
-Wno-unknown-attributes \
-Wno-unknown-warning-option \
-DANDROID_PLATFORM_SDK_VERSION=$(PLATFORM_SDK_VERSION) \
-DNO_SANITIZE_FUNCTION=
ifneq (16,${PLATFORM_SDK_VERSION})
COMMON_CFLAGS += -Xclang -fuse-init-array
else
COMMON_CFLAGS += -D__STDC_INT64__
endif
COMMON_SRC_FILES := \
Buffer.cpp \
Context.cpp \
Device.cpp \
Fence.cpp \
Framebuffer.cpp \
IndexDataManager.cpp \
libGLESv2.cpp \
libGLESv3.cpp \
main.cpp \
entry_points.cpp \
Program.cpp \
Query.cpp \
Renderbuffer.cpp \
ResourceManager.cpp \
Shader.cpp \
Texture.cpp \
TransformFeedback.cpp \
utilities.cpp \
VertexArray.cpp \
VertexDataManager.cpp \
../../Common/SharedLibrary.cpp
COMMON_C_INCLUDES := \
bionic \
$(LOCAL_PATH)/../../../include \
$(LOCAL_PATH)/../ \
$(LOCAL_PATH)/../../ \
$(LOCAL_PATH)/../../Renderer/ \
$(LOCAL_PATH)/../../Common/ \
$(LOCAL_PATH)/../../Shader/ \
$(LOCAL_PATH)/../../Main/
ifeq ($(REACTOR_USE_SUBZERO),true)
COMMON_STATIC_LIBRARIES := libsubzero
else
COMMON_STATIC_LIBRARIES := libLLVM7_swiftshader
endif
COMMON_SHARED_LIBRARIES := \
libdl \
liblog \
libcutils \
libhardware
# Project Treble is introduced from Oreo MR1
ifeq ($(shell test $(PLATFORM_SDK_VERSION) -ge 27 && echo OreoMR1),OreoMR1)
COMMON_SHARED_LIBRARIES += libnativewindow
COMMON_STATIC_LIBRARIES += libarect
COMMON_HEADER_LIBRARIES := libnativebase_headers
endif
# gralloc1 is introduced from N MR1
ifeq ($(shell test $(PLATFORM_SDK_VERSION) -ge 25 && echo NMR1),NMR1)
COMMON_CFLAGS += -DHAVE_GRALLOC1
COMMON_SHARED_LIBRARIES += libsync
endif
# Marshmallow does not have stlport, but comes with libc++ by default
ifeq ($(shell test $(PLATFORM_SDK_VERSION) -lt 23 && echo PreMarshmallow),PreMarshmallow)
COMMON_SHARED_LIBRARIES += libstlport
COMMON_C_INCLUDES += external/stlport/stlport
endif
COMMON_LDFLAGS := \
-Wl,--version-script=$(LOCAL_PATH)/libGLESv2.lds \
-Wl,--gc-sections \
-Wl,--hash-style=sysv
include $(CLEAR_VARS)
LOCAL_MODULE := libGLESv2_swiftshader_debug
ifeq ($(TARGET_TRANSLATE_2ND_ARCH),true)
LOCAL_MULTILIB := first
endif
ifeq (HasRelativePath,$(shell test $(PLATFORM_SDK_VERSION) -ge 21 && echo HasRelativePath))
LOCAL_MODULE_RELATIVE_PATH := $(COMMON_SWIFTSHADER_RELATIVE_PATH)
else
LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/$(COMMON_SWIFTSHADER_RELATIVE_PATH)
endif
LOCAL_VENDOR_MODULE := true
LOCAL_MODULE_TAGS := optional
LOCAL_CLANG := true
LOCAL_SRC_FILES += $(COMMON_SRC_FILES)
LOCAL_C_INCLUDES += $(COMMON_C_INCLUDES)
LOCAL_STATIC_LIBRARIES += swiftshader_compiler_debug swiftshader_top_debug $(COMMON_STATIC_LIBRARIES)
LOCAL_SHARED_LIBRARIES += $(COMMON_SHARED_LIBRARIES)
LOCAL_HEADER_LIBRARIES := $(COMMON_HEADER_LIBRARIES)
LOCAL_LDFLAGS += $(COMMON_LDFLAGS)
LOCAL_CFLAGS += $(COMMON_CFLAGS) -UNDEBUG -g -O0
include $(BUILD_SHARED_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := libGLESv2_swiftshader
ifeq ($(TARGET_TRANSLATE_2ND_ARCH),true)
LOCAL_MULTILIB := first
endif
ifeq (HasRelativePath,$(shell test $(PLATFORM_SDK_VERSION) -ge 21 && echo HasRelativePath))
LOCAL_MODULE_RELATIVE_PATH := $(COMMON_SWIFTSHADER_RELATIVE_PATH)
else
LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/$(COMMON_SWIFTSHADER_RELATIVE_PATH)
endif
LOCAL_VENDOR_MODULE := true
LOCAL_MODULE_TAGS := optional
LOCAL_CLANG := true
LOCAL_SRC_FILES += $(COMMON_SRC_FILES)
LOCAL_C_INCLUDES += $(COMMON_C_INCLUDES)
LOCAL_STATIC_LIBRARIES += swiftshader_compiler_release swiftshader_top_release $(COMMON_STATIC_LIBRARIES)
LOCAL_SHARED_LIBRARIES += $(COMMON_SHARED_LIBRARIES)
LOCAL_HEADER_LIBRARIES := $(COMMON_HEADER_LIBRARIES)
LOCAL_LDFLAGS += $(COMMON_LDFLAGS)
LOCAL_CFLAGS += \
$(COMMON_CFLAGS) \
-fomit-frame-pointer \
-ffunction-sections \
-fdata-sections \
-DANGLE_DISABLE_TRACE
include $(BUILD_SHARED_LIBRARY)
#
# Copyright 2016 The Android Open-Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_CLANG := true
LOCAL_MODULE := libsubzero
LOCAL_MODULE_TAGS := optional
LOCAL_VENDOR_MODULE := true
SUBZERO_PATH := ../../third_party/subzero
LLVMDEPENDENCIES_PATH := ../../third_party/llvm-subzero
LOCAL_SRC_FILES := \
$(SUBZERO_PATH)/src/IceAssembler.cpp \
$(SUBZERO_PATH)/src/IceCfg.cpp \
$(SUBZERO_PATH)/src/IceCfgNode.cpp \
$(SUBZERO_PATH)/src/IceClFlags.cpp \
$(SUBZERO_PATH)/src/IceELFObjectWriter.cpp \
$(SUBZERO_PATH)/src/IceELFSection.cpp \
$(SUBZERO_PATH)/src/IceFixups.cpp \
$(SUBZERO_PATH)/src/IceGlobalContext.cpp \
$(SUBZERO_PATH)/src/IceGlobalInits.cpp \
$(SUBZERO_PATH)/src/IceInst.cpp \
$(SUBZERO_PATH)/src/IceInstrumentation.cpp \
$(SUBZERO_PATH)/src/IceIntrinsics.cpp \
$(SUBZERO_PATH)/src/IceLiveness.cpp \
$(SUBZERO_PATH)/src/IceLoopAnalyzer.cpp \
$(SUBZERO_PATH)/src/IceMangling.cpp \
$(SUBZERO_PATH)/src/IceMemory.cpp \
$(SUBZERO_PATH)/src/IceOperand.cpp \
$(SUBZERO_PATH)/src/IceRangeSpec.cpp \
$(SUBZERO_PATH)/src/IceRegAlloc.cpp \
$(SUBZERO_PATH)/src/IceRevision.cpp \
$(SUBZERO_PATH)/src/IceRNG.cpp \
$(SUBZERO_PATH)/src/IceSwitchLowering.cpp \
$(SUBZERO_PATH)/src/IceTargetLowering.cpp \
$(SUBZERO_PATH)/src/IceThreading.cpp \
$(SUBZERO_PATH)/src/IceTimerTree.cpp \
$(SUBZERO_PATH)/src/IceTypes.cpp \
$(SUBZERO_PATH)/src/IceVariableSplitting.cpp
LOCAL_SRC_FILES_x86 += \
$(SUBZERO_PATH)/src/IceInstX8632.cpp \
$(SUBZERO_PATH)/src/IceTargetLoweringX8632.cpp
LOCAL_SRC_FILES_x86_64 += \
$(SUBZERO_PATH)/src/IceInstX8664.cpp \
$(SUBZERO_PATH)/src/IceTargetLoweringX8664.cpp
LOCAL_SRC_FILES_arm += \
$(SUBZERO_PATH)/src/IceAssemblerARM32.cpp \
$(SUBZERO_PATH)/src/IceTargetLoweringARM32.cpp \
$(SUBZERO_PATH)/src/IceInstARM32.cpp
LOCAL_SRC_FILES += \
$(LLVMDEPENDENCIES_PATH)/lib/Support/APInt.cpp \
$(LLVMDEPENDENCIES_PATH)/lib/Support/Atomic.cpp \
$(LLVMDEPENDENCIES_PATH)/lib/Support/circular_raw_ostream.cpp \
$(LLVMDEPENDENCIES_PATH)/lib/Support/CommandLine.cpp \
$(LLVMDEPENDENCIES_PATH)/lib/Support/ConvertUTF.cpp \
$(LLVMDEPENDENCIES_PATH)/lib/Support/ConvertUTFWrapper.cpp \
$(LLVMDEPENDENCIES_PATH)/lib/Support/Debug.cpp \
$(LLVMDEPENDENCIES_PATH)/lib/Support/ErrorHandling.cpp \
$(LLVMDEPENDENCIES_PATH)/lib/Support/FoldingSet.cpp \
$(LLVMDEPENDENCIES_PATH)/lib/Support/Hashing.cpp \
$(LLVMDEPENDENCIES_PATH)/lib/Support/Host.cpp \
$(LLVMDEPENDENCIES_PATH)/lib/Support/ManagedStatic.cpp \
$(LLVMDEPENDENCIES_PATH)/lib/Support/MemoryBuffer.cpp \
$(LLVMDEPENDENCIES_PATH)/lib/Support/Mutex.cpp \
$(LLVMDEPENDENCIES_PATH)/lib/Support/NativeFormatting.cpp \
$(LLVMDEPENDENCIES_PATH)/lib/Support/Path.cpp \
$(LLVMDEPENDENCIES_PATH)/lib/Support/Process.cpp \
$(LLVMDEPENDENCIES_PATH)/lib/Support/Program.cpp \
$(LLVMDEPENDENCIES_PATH)/lib/Support/raw_ostream.cpp \
$(LLVMDEPENDENCIES_PATH)/lib/Support/raw_os_ostream.cpp \
$(LLVMDEPENDENCIES_PATH)/lib/Support/regcomp.c \
$(LLVMDEPENDENCIES_PATH)/lib/Support/regerror.c \
$(LLVMDEPENDENCIES_PATH)/lib/Support/Regex.cpp \
$(LLVMDEPENDENCIES_PATH)/lib/Support/regexec.c \
$(LLVMDEPENDENCIES_PATH)/lib/Support/regfree.c \
$(LLVMDEPENDENCIES_PATH)/lib/Support/regstrlcpy.c \
$(LLVMDEPENDENCIES_PATH)/lib/Support/Signals.cpp \
$(LLVMDEPENDENCIES_PATH)/lib/Support/SmallPtrSet.cpp \
$(LLVMDEPENDENCIES_PATH)/lib/Support/SmallVector.cpp \
$(LLVMDEPENDENCIES_PATH)/lib/Support/StringExtras.cpp \
$(LLVMDEPENDENCIES_PATH)/lib/Support/StringMap.cpp \
$(LLVMDEPENDENCIES_PATH)/lib/Support/StringRef.cpp \
$(LLVMDEPENDENCIES_PATH)/lib/Support/StringSaver.cpp \
$(LLVMDEPENDENCIES_PATH)/lib/Support/TargetParser.cpp \
$(LLVMDEPENDENCIES_PATH)/lib/Support/Threading.cpp \
$(LLVMDEPENDENCIES_PATH)/lib/Support/Timer.cpp \
$(LLVMDEPENDENCIES_PATH)/lib/Support/Triple.cpp \
$(LLVMDEPENDENCIES_PATH)/lib/Support/Twine.cpp
LOCAL_CPPFLAGS := -std=c++11
LOCAL_CFLAGS += \
-DLOG_TAG=\"libsubzero\" \
-Wall \
-Werror \
-Wno-undefined-var-template \
-Wno-unused-lambda-capture \
-Wno-unused-parameter \
-Wno-implicit-exception-spec-mismatch \
-Wno-implicit-fallthrough \
-Wno-overloaded-virtual \
-Wno-non-virtual-dtor \
-Wno-unknown-warning-option \
-Wno-enum-compare-switch
ifneq (16,${PLATFORM_SDK_VERSION})
LOCAL_CFLAGS += -Xclang -fuse-init-array
else
LOCAL_CFLAGS += -D__STDC_INT64__
endif
LOCAL_CFLAGS += -fomit-frame-pointer -Os -ffunction-sections -fdata-sections
LOCAL_CFLAGS += -fno-operator-names -msse2 -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS
# Common Subzero defines
LOCAL_CFLAGS += -DALLOW_DUMP=0 -DALLOW_TIMERS=0 -DALLOW_LLVM_CL=0 -DALLOW_LLVM_IR=0 -DALLOW_LLVM_IR_AS_INPUT=0 -DALLOW_MINIMAL_BUILD=0 -DALLOW_WASM=0 -DICE_THREAD_LOCAL_HACK=1
# Subzero target
LOCAL_CFLAGS_x86 += -DSZTARGET=X8632
LOCAL_CFLAGS_x86_64 += -DSZTARGET=X8664
LOCAL_CFLAGS_arm += -DSZTARGET=ARM32
# Android's make system also uses NDEBUG, so we need to set/unset it forcefully
# Uncomment for debug ON:
# LOCAL_CFLAGS += -UNDEBUG -g -O0
LOCAL_C_INCLUDES += \
bionic \
$(LOCAL_PATH)/$(SUBZERO_PATH)/ \
$(LOCAL_PATH)/$(LLVMDEPENDENCIES_PATH)/include/ \
$(LOCAL_PATH)/$(LLVMDEPENDENCIES_PATH)/build/Android/include/ \
$(LOCAL_PATH)/$(SUBZERO_PATH)/pnacl-llvm/include/
# Marshmallow does not have stlport, but comes with libc++ by default
ifeq ($(shell test $(PLATFORM_SDK_VERSION) -lt 23 && echo PreMarshmallow),PreMarshmallow)
LOCAL_C_INCLUDES += external/stlport/stlport
endif
include $(BUILD_STATIC_LIBRARY)
#
# Copyright 2018 The Android Open-Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
LOCAL_PATH := $(call my-dir)
ifneq ($(wildcard $(LOCAL_PATH)/../../third_party/googletest/googletest/src/gtest-all.cc),)
include $(CLEAR_VARS)
LOCAL_MODULE := libgtest_all_swiftshader
LOCAL_MODULE_TAGS := optional
LOCAL_VENDOR_MODULE := true
LOCAL_CPP_EXTENSION := .cc
LOCAL_SRC_FILES := \
../../third_party/googletest/googletest/src/gtest-all.cc
LOCAL_C_INCLUDES := \
$(LOCAL_PATH)/../../third_party/googletest/googletest/include/ \
$(LOCAL_PATH)/../../third_party/googletest/googlemock/include/ \
$(LOCAL_PATH)/../../third_party/googletest/googletest/
include $(BUILD_STATIC_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := swiftshader-unittests
LOCAL_MODULE_TAGS := optional
LOCAL_VENDOR_MODULE := true
LOCAL_SRC_FILES := \
main.cpp \
unittests.cpp
LOCAL_C_INCLUDES := \
$(LOCAL_PATH)/../../third_party/googletest/googletest/include/ \
$(LOCAL_PATH)/../../third_party/googletest/googlemock/include/ \
$(LOCAL_PATH)/../../third_party/googletest/googletest/ \
$(LOCAL_PATH)/../../include/
LOCAL_SHARED_LIBRARIES := \
libEGL_swiftshader \
libGLESv2_swiftshader
LOCAL_STATIC_LIBRARIES := \
libgtest_all_swiftshader
include $(BUILD_EXECUTABLE)
endif # gtest-all.cc exists
LOCAL_PATH := $(call my-dir)
SPVTOOLS_OUT_PATH=$(if $(call host-path-is-absolute,$(TARGET_OUT)),$(TARGET_OUT),$(abspath $(TARGET_OUT)))
ifeq ($(SPVHEADERS_LOCAL_PATH),)
SPVHEADERS_LOCAL_PATH := $(LOCAL_PATH)/external/spirv-headers
endif
SPVTOOLS_SRC_FILES := \
source/assembly_grammar.cpp \
source/binary.cpp \
source/diagnostic.cpp \
source/disassemble.cpp \
source/ext_inst.cpp \
source/enum_string_mapping.cpp \
source/extensions.cpp \
source/libspirv.cpp \
source/name_mapper.cpp \
source/opcode.cpp \
source/operand.cpp \
source/parsed_operand.cpp \
source/print.cpp \
source/software_version.cpp \
source/spirv_endian.cpp \
source/spirv_optimizer_options.cpp \
source/spirv_target_env.cpp \
source/spirv_validator_options.cpp \
source/table.cpp \
source/text.cpp \
source/text_handler.cpp \
source/util/bit_vector.cpp \
source/util/parse_number.cpp \
source/util/string_utils.cpp \
source/util/timer.cpp \
source/val/basic_block.cpp \
source/val/construct.cpp \
source/val/function.cpp \
source/val/instruction.cpp \
source/val/validation_state.cpp \
source/val/validate.cpp \
source/val/validate_adjacency.cpp \
source/val/validate_annotation.cpp \
source/val/validate_arithmetics.cpp \
source/val/validate_atomics.cpp \
source/val/validate_barriers.cpp \
source/val/validate_bitwise.cpp \
source/val/validate_builtins.cpp \
source/val/validate_capability.cpp \
source/val/validate_cfg.cpp \
source/val/validate_composites.cpp \
source/val/validate_constants.cpp \
source/val/validate_conversion.cpp \
source/val/validate_datarules.cpp \
source/val/validate_debug.cpp \
source/val/validate_decorations.cpp \
source/val/validate_derivatives.cpp \
source/val/validate_extensions.cpp \
source/val/validate_execution_limitations.cpp \
source/val/validate_function.cpp \
source/val/validate_id.cpp \
source/val/validate_image.cpp \
source/val/validate_interfaces.cpp \
source/val/validate_instruction.cpp \
source/val/validate_memory.cpp \
source/val/validate_memory_semantics.cpp \
source/val/validate_misc.cpp \
source/val/validate_mode_setting.cpp \
source/val/validate_layout.cpp \
source/val/validate_literals.cpp \
source/val/validate_logicals.cpp \
source/val/validate_non_uniform.cpp \
source/val/validate_primitives.cpp \
source/val/validate_scopes.cpp \
source/val/validate_small_type_uses.cpp \
source/val/validate_type.cpp
SPVTOOLS_OPT_SRC_FILES := \
source/opt/aggressive_dead_code_elim_pass.cpp \
source/opt/basic_block.cpp \
source/opt/block_merge_pass.cpp \
source/opt/block_merge_util.cpp \
source/opt/build_module.cpp \
source/opt/cfg.cpp \
source/opt/cfg_cleanup_pass.cpp \
source/opt/ccp_pass.cpp \
source/opt/code_sink.cpp \
source/opt/combine_access_chains.cpp \
source/opt/compact_ids_pass.cpp \
source/opt/composite.cpp \
source/opt/const_folding_rules.cpp \
source/opt/constants.cpp \
source/opt/copy_prop_arrays.cpp \
source/opt/dead_branch_elim_pass.cpp \
source/opt/dead_insert_elim_pass.cpp \
source/opt/dead_variable_elimination.cpp \
source/opt/decompose_initialized_variables_pass.cpp \
source/opt/decoration_manager.cpp \
source/opt/def_use_manager.cpp \
source/opt/dominator_analysis.cpp \
source/opt/dominator_tree.cpp \
source/opt/eliminate_dead_constant_pass.cpp \
source/opt/eliminate_dead_functions_pass.cpp \
source/opt/eliminate_dead_functions_util.cpp \
source/opt/eliminate_dead_members_pass.cpp \
source/opt/feature_manager.cpp \
source/opt/fix_storage_class.cpp \
source/opt/flatten_decoration_pass.cpp \
source/opt/fold.cpp \
source/opt/folding_rules.cpp \
source/opt/fold_spec_constant_op_and_composite_pass.cpp \
source/opt/freeze_spec_constant_value_pass.cpp \
source/opt/function.cpp \
source/opt/generate_webgpu_initializers_pass.cpp \
source/opt/if_conversion.cpp \
source/opt/inline_pass.cpp \
source/opt/inline_exhaustive_pass.cpp \
source/opt/inline_opaque_pass.cpp \
source/opt/inst_bindless_check_pass.cpp \
source/opt/instruction.cpp \
source/opt/instruction_list.cpp \
source/opt/instrument_pass.cpp \
source/opt/ir_context.cpp \
source/opt/ir_loader.cpp \
source/opt/legalize_vector_shuffle_pass.cpp \
source/opt/licm_pass.cpp \
source/opt/local_access_chain_convert_pass.cpp \
source/opt/local_redundancy_elimination.cpp \
source/opt/local_single_block_elim_pass.cpp \
source/opt/local_single_store_elim_pass.cpp \
source/opt/local_ssa_elim_pass.cpp \
source/opt/loop_dependence.cpp \
source/opt/loop_dependence_helpers.cpp \
source/opt/loop_descriptor.cpp \
source/opt/loop_fission.cpp \
source/opt/loop_fusion.cpp \
source/opt/loop_fusion_pass.cpp \
source/opt/loop_peeling.cpp \
source/opt/loop_unroller.cpp \
source/opt/loop_unswitch_pass.cpp \
source/opt/loop_utils.cpp \
source/opt/mem_pass.cpp \
source/opt/merge_return_pass.cpp \
source/opt/module.cpp \
source/opt/optimizer.cpp \
source/opt/pass.cpp \
source/opt/pass_manager.cpp \
source/opt/private_to_local_pass.cpp \
source/opt/process_lines_pass.cpp \
source/opt/propagator.cpp \
source/opt/reduce_load_size.cpp \
source/opt/redundancy_elimination.cpp \
source/opt/register_pressure.cpp \
source/opt/remove_duplicates_pass.cpp \
source/opt/replace_invalid_opc.cpp \
source/opt/scalar_analysis.cpp \
source/opt/scalar_analysis_simplification.cpp \
source/opt/scalar_replacement_pass.cpp \
source/opt/set_spec_constant_default_value_pass.cpp \
source/opt/simplification_pass.cpp \
source/opt/split_invalid_unreachable_pass.cpp \
source/opt/ssa_rewrite_pass.cpp \
source/opt/strength_reduction_pass.cpp \
source/opt/strip_atomic_counter_memory_pass.cpp \
source/opt/strip_debug_info_pass.cpp \
source/opt/strip_reflect_info_pass.cpp \
source/opt/struct_cfg_analysis.cpp \
source/opt/type_manager.cpp \
source/opt/types.cpp \
source/opt/unify_const_pass.cpp \
source/opt/upgrade_memory_model.cpp \
source/opt/value_number_table.cpp \
source/opt/vector_dce.cpp \
source/opt/workaround1209.cpp
# Locations of grammar files.
#
# TODO(dneto): Build a single set of tables that embeds versioning differences on
# a per-item basis. That must happen before SPIR-V 1.4, etc.
# https://github.com/KhronosGroup/SPIRV-Tools/issues/1195
SPV_CORE10_GRAMMAR=$(SPVHEADERS_LOCAL_PATH)/include/spirv/1.0/spirv.core.grammar.json
SPV_CORE11_GRAMMAR=$(SPVHEADERS_LOCAL_PATH)/include/spirv/1.1/spirv.core.grammar.json
SPV_CORE12_GRAMMAR=$(SPVHEADERS_LOCAL_PATH)/include/spirv/1.2/spirv.core.grammar.json
SPV_COREUNIFIED1_GRAMMAR=$(SPVHEADERS_LOCAL_PATH)/include/spirv/unified1/spirv.core.grammar.json
SPV_CORELATEST_GRAMMAR=$(SPV_COREUNIFIED1_GRAMMAR)
SPV_GLSL_GRAMMAR=$(SPVHEADERS_LOCAL_PATH)/include/spirv/1.2/extinst.glsl.std.450.grammar.json
SPV_OPENCL_GRAMMAR=$(SPVHEADERS_LOCAL_PATH)/include/spirv/1.2/extinst.opencl.std.100.grammar.json
# TODO(dneto): I expect the DebugInfo grammar file to eventually migrate to SPIRV-Headers
SPV_DEBUGINFO_GRAMMAR=$(LOCAL_PATH)/source/extinst.debuginfo.grammar.json
define gen_spvtools_grammar_tables
$(call generate-file-dir,$(1)/core.insts-1.0.inc)
$(1)/core.insts-1.0.inc $(1)/operand.kinds-1.0.inc $(1)/glsl.std.450.insts.inc $(1)/opencl.std.insts.inc: \
$(LOCAL_PATH)/utils/generate_grammar_tables.py \
$(SPV_CORE10_GRAMMAR) \
$(SPV_GLSL_GRAMMAR) \
$(SPV_OPENCL_GRAMMAR) \
$(SPV_DEBUGINFO_GRAMMAR)
@$(HOST_PYTHON) $(LOCAL_PATH)/utils/generate_grammar_tables.py \
--spirv-core-grammar=$(SPV_CORE10_GRAMMAR) \
--extinst-glsl-grammar=$(SPV_GLSL_GRAMMAR) \
--extinst-opencl-grammar=$(SPV_OPENCL_GRAMMAR) \
--extinst-debuginfo-grammar=$(SPV_DEBUGINFO_GRAMMAR) \
--core-insts-output=$(1)/core.insts-1.0.inc \
--glsl-insts-output=$(1)/glsl.std.450.insts.inc \
--opencl-insts-output=$(1)/opencl.std.insts.inc \
--operand-kinds-output=$(1)/operand.kinds-1.0.inc
@echo "[$(TARGET_ARCH_ABI)] Grammar v1.0 : instructions & operands <= grammar JSON files"
$(1)/core.insts-1.1.inc $(1)/operand.kinds-1.1.inc: \
$(LOCAL_PATH)/utils/generate_grammar_tables.py \
$(SPV_CORE11_GRAMMAR) \
$(SPV_DEBUGINFO_GRAMMAR)
@$(HOST_PYTHON) $(LOCAL_PATH)/utils/generate_grammar_tables.py \
--spirv-core-grammar=$(SPV_CORE11_GRAMMAR) \
--extinst-debuginfo-grammar=$(SPV_DEBUGINFO_GRAMMAR) \
--core-insts-output=$(1)/core.insts-1.1.inc \
--operand-kinds-output=$(1)/operand.kinds-1.1.inc
@echo "[$(TARGET_ARCH_ABI)] Grammar v1.1 : instructions & operands <= grammar JSON files"
$(1)/core.insts-1.2.inc $(1)/operand.kinds-1.2.inc: \
$(LOCAL_PATH)/utils/generate_grammar_tables.py \
$(SPV_CORE12_GRAMMAR) \
$(SPV_DEBUGINFO_GRAMMAR)
@$(HOST_PYTHON) $(LOCAL_PATH)/utils/generate_grammar_tables.py \
--spirv-core-grammar=$(SPV_CORE12_GRAMMAR) \
--extinst-debuginfo-grammar=$(SPV_DEBUGINFO_GRAMMAR) \
--core-insts-output=$(1)/core.insts-1.2.inc \
--operand-kinds-output=$(1)/operand.kinds-1.2.inc
@echo "[$(TARGET_ARCH_ABI)] Grammar v1.2 : instructions & operands <= grammar JSON files"
$(1)/core.insts-unified1.inc $(1)/operand.kinds-unified1.inc: \
$(LOCAL_PATH)/utils/generate_grammar_tables.py \
$(SPV_COREUNIFIED1_GRAMMAR) \
$(SPV_DEBUGINFO_GRAMMAR)
@$(HOST_PYTHON) $(LOCAL_PATH)/utils/generate_grammar_tables.py \
--spirv-core-grammar=$(SPV_COREUNIFIED1_GRAMMAR) \
--extinst-debuginfo-grammar=$(SPV_DEBUGINFO_GRAMMAR) \
--core-insts-output=$(1)/core.insts-unified1.inc \
--operand-kinds-output=$(1)/operand.kinds-unified1.inc
@echo "[$(TARGET_ARCH_ABI)] Grammar v1.3 (from unified1) : instructions & operands <= grammar JSON files"
$(LOCAL_PATH)/source/opcode.cpp: $(1)/core.insts-1.0.inc $(1)/core.insts-1.1.inc $(1)/core.insts-1.2.inc $(1)/core.insts-unified1.inc
$(LOCAL_PATH)/source/operand.cpp: $(1)/operand.kinds-1.0.inc $(1)/operand.kinds-1.1.inc $(1)/operand.kinds-1.2.inc $(1)/operand.kinds-unified1.inc
$(LOCAL_PATH)/source/ext_inst.cpp: \
$(1)/glsl.std.450.insts.inc \
$(1)/opencl.std.insts.inc \
$(1)/debuginfo.insts.inc \
$(1)/spv-amd-gcn-shader.insts.inc \
$(1)/spv-amd-shader-ballot.insts.inc \
$(1)/spv-amd-shader-explicit-vertex-parameter.insts.inc \
$(1)/spv-amd-shader-trinary-minmax.insts.inc
endef
$(eval $(call gen_spvtools_grammar_tables,$(SPVTOOLS_OUT_PATH)))
define gen_spvtools_lang_headers
# Generate language-specific headers. So far we only generate C headers
# $1 is the output directory.
# $2 is the base name of the header file, e.g. "DebugInfo".
# $3 is the grammar file containing token definitions.
$(call generate-file-dir,$(1)/$(2).h)
$(1)/$(2).h : \
$(LOCAL_PATH)/utils/generate_language_headers.py \
$(3)
@$(HOST_PYTHON) $(LOCAL_PATH)/utils/generate_language_headers.py \
--extinst-name=$(2) \
--extinst-grammar=$(3) \
--extinst-output-base=$(1)/$(2)
@echo "[$(TARGET_ARCH_ABI)] Generate language specific header for $(2): headers <= grammar"
$(LOCAL_PATH)/source/ext_inst.cpp: $(1)/$(2).h
endef
# We generate language-specific headers for DebugInfo
$(eval $(call gen_spvtools_lang_headers,$(SPVTOOLS_OUT_PATH),DebugInfo,$(SPV_DEBUGINFO_GRAMMAR)))
define gen_spvtools_vendor_tables
$(call generate-file-dir,$(1)/$(2).insts.inc)
$(1)/$(2).insts.inc : \
$(LOCAL_PATH)/utils/generate_grammar_tables.py \
$(LOCAL_PATH)/source/extinst.$(2).grammar.json
@$(HOST_PYTHON) $(LOCAL_PATH)/utils/generate_grammar_tables.py \
--extinst-vendor-grammar=$(LOCAL_PATH)/source/extinst.$(2).grammar.json \
--vendor-insts-output=$(1)/$(2).insts.inc
@echo "[$(TARGET_ARCH_ABI)] Vendor extended instruction set: $(2) tables <= grammar"
$(LOCAL_PATH)/source/ext_inst.cpp: $(1)/$(2).insts.inc
endef
# Vendor extended instruction sets, with grammars from SPIRV-Tools source tree.
SPV_NONSTANDARD_EXTINST_GRAMMARS=$(foreach F,$(wildcard $(LOCAL_PATH)/source/extinst.*.grammar.json),$(patsubst extinst.%.grammar.json,%,$(notdir $F)))
$(foreach E,$(SPV_NONSTANDARD_EXTINST_GRAMMARS),$(eval $(call gen_spvtools_vendor_tables,$(SPVTOOLS_OUT_PATH),$E)))
define gen_spvtools_enum_string_mapping
$(call generate-file-dir,$(1)/extension_enum.inc.inc)
$(1)/extension_enum.inc $(1)/enum_string_mapping.inc: \
$(LOCAL_PATH)/utils/generate_grammar_tables.py \
$(SPV_CORELATEST_GRAMMAR)
@$(HOST_PYTHON) $(LOCAL_PATH)/utils/generate_grammar_tables.py \
--spirv-core-grammar=$(SPV_CORELATEST_GRAMMAR) \
--extinst-debuginfo-grammar=$(SPV_DEBUGINFO_GRAMMAR) \
--extension-enum-output=$(1)/extension_enum.inc \
--enum-string-mapping-output=$(1)/enum_string_mapping.inc
@echo "[$(TARGET_ARCH_ABI)] Generate enum<->string mapping <= grammar JSON files"
# Generated header extension_enum.inc is transitively included by table.h, which is
# used pervasively. Capture the pervasive dependency.
$(foreach F,$(SPVTOOLS_SRC_FILES) $(SPVTOOLS_OPT_SRC_FILES),$(LOCAL_PATH)/$F ) \
: $(1)/extension_enum.inc
$(LOCAL_PATH)/source/enum_string_mapping.cpp: $(1)/enum_string_mapping.inc
endef
$(eval $(call gen_spvtools_enum_string_mapping,$(SPVTOOLS_OUT_PATH)))
define gen_spvtools_build_version_inc
$(call generate-file-dir,$(1)/dummy_filename)
$(1)/build-version.inc: \
$(LOCAL_PATH)/utils/update_build_version.py \
$(LOCAL_PATH)/CHANGES
@$(HOST_PYTHON) $(LOCAL_PATH)/utils/update_build_version.py \
$(LOCAL_PATH) $(1)/build-version.inc
@echo "[$(TARGET_ARCH_ABI)] Generate : build-version.inc <= CHANGES"
$(LOCAL_PATH)/source/software_version.cpp: $(1)/build-version.inc
endef
$(eval $(call gen_spvtools_build_version_inc,$(SPVTOOLS_OUT_PATH)))
define gen_spvtools_generators_inc
$(call generate-file-dir,$(1)/dummy_filename)
$(1)/generators.inc: \
$(LOCAL_PATH)/utils/generate_registry_tables.py \
$(SPVHEADERS_LOCAL_PATH)/include/spirv/spir-v.xml
@$(HOST_PYTHON) $(LOCAL_PATH)/utils/generate_registry_tables.py \
--xml=$(SPVHEADERS_LOCAL_PATH)/include/spirv/spir-v.xml \
--generator-output=$(1)/generators.inc
@echo "[$(TARGET_ARCH_ABI)] Generate : generators.inc <= spir-v.xml"
$(LOCAL_PATH)/source/opcode.cpp: $(1)/generators.inc
endef
$(eval $(call gen_spvtools_generators_inc,$(SPVTOOLS_OUT_PATH)))
include $(CLEAR_VARS)
LOCAL_MODULE := SPIRV-Tools
LOCAL_C_INCLUDES := \
$(LOCAL_PATH)/include \
$(SPVHEADERS_LOCAL_PATH)/include \
$(SPVTOOLS_OUT_PATH)
LOCAL_EXPORT_C_INCLUDES := \
$(LOCAL_PATH)/include
LOCAL_CXXFLAGS:=-std=c++11 -fno-exceptions -fno-rtti -Werror
LOCAL_SRC_FILES:= $(SPVTOOLS_SRC_FILES)
include $(BUILD_STATIC_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := SPIRV-Tools-opt
LOCAL_C_INCLUDES := \
$(LOCAL_PATH)/include \
$(LOCAL_PATH)/source \
$(SPVHEADERS_LOCAL_PATH)/include \
$(SPVTOOLS_OUT_PATH)
LOCAL_CXXFLAGS:=-std=c++11 -fno-exceptions -fno-rtti -Werror
LOCAL_STATIC_LIBRARIES:=SPIRV-Tools
LOCAL_SRC_FILES:= $(SPVTOOLS_OPT_SRC_FILES)
include $(BUILD_STATIC_LIBRARY)
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_CPP_EXTENSION := .cc .cpp .cxx
LOCAL_SRC_FILES:=test.cpp
LOCAL_MODULE:=spirvtools_test
LOCAL_LDLIBS:=-landroid
LOCAL_CXXFLAGS:=-std=c++11 -fno-exceptions -fno-rtti -Werror
LOCAL_STATIC_LIBRARIES=SPIRV-Tools SPIRV-Tools-opt
include $(BUILD_SHARED_LIBRARY)
include $(LOCAL_PATH)/../Android.mk
APP_ABI := all
APP_BUILD_SCRIPT := Android.mk
APP_STL := gnustl_static
APP_PLATFORM := android-9
NDK_TOOLCHAIN_VERSION := 4.9
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_CLANG := true
LOCAL_MODULE := libLLVM_swiftshader
LOCAL_MODULE_TAGS := optional
LOCAL_VENDOR_MODULE := true
LOCAL_SRC_FILES := \
llvm/lib/Analysis/AliasAnalysis.cpp \
llvm/lib/Analysis/AliasAnalysisEvaluator.cpp \
llvm/lib/Analysis/AliasAnalysisSummary.cpp \
llvm/lib/Analysis/AliasSetTracker.cpp \
llvm/lib/Analysis/Analysis.cpp \
llvm/lib/Analysis/AssumptionCache.cpp \
llvm/lib/Analysis/BasicAliasAnalysis.cpp \
llvm/lib/Analysis/BlockFrequencyInfo.cpp \
llvm/lib/Analysis/BlockFrequencyInfoImpl.cpp \
llvm/lib/Analysis/BranchProbabilityInfo.cpp \
llvm/lib/Analysis/CFG.cpp \
llvm/lib/Analysis/CFGPrinter.cpp \
llvm/lib/Analysis/CFLAndersAliasAnalysis.cpp \
llvm/lib/Analysis/CFLSteensAliasAnalysis.cpp \
llvm/lib/Analysis/CGSCCPassManager.cpp \
llvm/lib/Analysis/CallGraph.cpp \
llvm/lib/Analysis/CallGraphSCCPass.cpp \
llvm/lib/Analysis/CallPrinter.cpp \
llvm/lib/Analysis/CaptureTracking.cpp \
llvm/lib/Analysis/CmpInstAnalysis.cpp \
llvm/lib/Analysis/CodeMetrics.cpp \
llvm/lib/Analysis/ConstantFolding.cpp \
llvm/lib/Analysis/CostModel.cpp \
llvm/lib/Analysis/Delinearization.cpp \
llvm/lib/Analysis/DemandedBits.cpp \
llvm/lib/Analysis/DependenceAnalysis.cpp \
llvm/lib/Analysis/DivergenceAnalysis.cpp \
llvm/lib/Analysis/DomPrinter.cpp \
llvm/lib/Analysis/DominanceFrontier.cpp \
llvm/lib/Analysis/EHPersonalities.cpp \
llvm/lib/Analysis/GlobalsModRef.cpp \
llvm/lib/Analysis/IVUsers.cpp \
llvm/lib/Analysis/IndirectCallPromotionAnalysis.cpp \
llvm/lib/Analysis/InlineCost.cpp \
llvm/lib/Analysis/InstCount.cpp \
llvm/lib/Analysis/InstructionSimplify.cpp \
llvm/lib/Analysis/Interval.cpp \
llvm/lib/Analysis/IntervalPartition.cpp \
llvm/lib/Analysis/IteratedDominanceFrontier.cpp \
llvm/lib/Analysis/LazyBlockFrequencyInfo.cpp \
llvm/lib/Analysis/LazyBranchProbabilityInfo.cpp \
llvm/lib/Analysis/LazyCallGraph.cpp \
llvm/lib/Analysis/LazyValueInfo.cpp \
llvm/lib/Analysis/Lint.cpp \
llvm/lib/Analysis/Loads.cpp \
llvm/lib/Analysis/LoopAccessAnalysis.cpp \
llvm/lib/Analysis/LoopAnalysisManager.cpp \
llvm/lib/Analysis/LoopInfo.cpp \
llvm/lib/Analysis/LoopPass.cpp \
llvm/lib/Analysis/LoopUnrollAnalyzer.cpp \
llvm/lib/Analysis/MemDepPrinter.cpp \
llvm/lib/Analysis/MemDerefPrinter.cpp \
llvm/lib/Analysis/MemoryBuiltins.cpp \
llvm/lib/Analysis/MemoryDependenceAnalysis.cpp \
llvm/lib/Analysis/MemoryLocation.cpp \
llvm/lib/Analysis/MemorySSA.cpp \
llvm/lib/Analysis/MemorySSAUpdater.cpp \
llvm/lib/Analysis/ModuleDebugInfoPrinter.cpp \
llvm/lib/Analysis/ModuleSummaryAnalysis.cpp \
llvm/lib/Analysis/MustExecute.cpp \
llvm/lib/Analysis/ObjCARCAliasAnalysis.cpp \
llvm/lib/Analysis/ObjCARCAnalysisUtils.cpp \
llvm/lib/Analysis/ObjCARCInstKind.cpp \
llvm/lib/Analysis/OptimizationRemarkEmitter.cpp \
llvm/lib/Analysis/OrderedBasicBlock.cpp \
llvm/lib/Analysis/PHITransAddr.cpp \
llvm/lib/Analysis/PhiValues.cpp \
llvm/lib/Analysis/PostDominators.cpp \
llvm/lib/Analysis/ProfileSummaryInfo.cpp \
llvm/lib/Analysis/PtrUseVisitor.cpp \
llvm/lib/Analysis/RegionInfo.cpp \
llvm/lib/Analysis/RegionPass.cpp \
llvm/lib/Analysis/RegionPrinter.cpp \
llvm/lib/Analysis/ScalarEvolution.cpp \
llvm/lib/Analysis/ScalarEvolutionAliasAnalysis.cpp \
llvm/lib/Analysis/ScalarEvolutionExpander.cpp \
llvm/lib/Analysis/ScalarEvolutionNormalization.cpp \
llvm/lib/Analysis/ScopedNoAliasAA.cpp \
llvm/lib/Analysis/SyntheticCountsUtils.cpp \
llvm/lib/Analysis/TargetLibraryInfo.cpp \
llvm/lib/Analysis/TargetTransformInfo.cpp \
llvm/lib/Analysis/Trace.cpp \
llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp \
llvm/lib/Analysis/TypeMetadataUtils.cpp \
llvm/lib/Analysis/ValueLattice.cpp \
llvm/lib/Analysis/ValueLatticeUtils.cpp \
llvm/lib/Analysis/ValueTracking.cpp \
llvm/lib/Analysis/VectorUtils.cpp \
llvm/lib/BinaryFormat/Dwarf.cpp \
llvm/lib/BinaryFormat/Magic.cpp \
llvm/lib/BinaryFormat/Wasm.cpp \
llvm/lib/Bitcode/Reader/BitReader.cpp \
llvm/lib/Bitcode/Reader/BitcodeReader.cpp \
llvm/lib/Bitcode/Reader/BitstreamReader.cpp \
llvm/lib/Bitcode/Reader/MetadataLoader.cpp \
llvm/lib/Bitcode/Reader/ValueList.cpp \
llvm/lib/Bitcode/Writer/BitWriter.cpp \
llvm/lib/Bitcode/Writer/BitcodeWriter.cpp \
llvm/lib/Bitcode/Writer/BitcodeWriterPass.cpp \
llvm/lib/Bitcode/Writer/ValueEnumerator.cpp \
llvm/lib/CodeGen/AggressiveAntiDepBreaker.cpp \
llvm/lib/CodeGen/AllocationOrder.cpp \
llvm/lib/CodeGen/Analysis.cpp \
llvm/lib/CodeGen/AsmPrinter/ARMException.cpp \
llvm/lib/CodeGen/AsmPrinter/AccelTable.cpp \
llvm/lib/CodeGen/AsmPrinter/AddressPool.cpp \
llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp \
llvm/lib/CodeGen/AsmPrinter/AsmPrinterDwarf.cpp \
llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp \
llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp \
llvm/lib/CodeGen/AsmPrinter/DIE.cpp \
llvm/lib/CodeGen/AsmPrinter/DIEHash.cpp \
llvm/lib/CodeGen/AsmPrinter/DbgValueHistoryCalculator.cpp \
llvm/lib/CodeGen/AsmPrinter/DebugHandlerBase.cpp \
llvm/lib/CodeGen/AsmPrinter/DebugLocStream.cpp \
llvm/lib/CodeGen/AsmPrinter/DwarfCFIException.cpp \
llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp \
llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp \
llvm/lib/CodeGen/AsmPrinter/DwarfExpression.cpp \
llvm/lib/CodeGen/AsmPrinter/DwarfFile.cpp \
llvm/lib/CodeGen/AsmPrinter/DwarfStringPool.cpp \
llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp \
llvm/lib/CodeGen/AsmPrinter/EHStreamer.cpp \
llvm/lib/CodeGen/AsmPrinter/ErlangGCPrinter.cpp \
llvm/lib/CodeGen/AsmPrinter/OcamlGCPrinter.cpp \
llvm/lib/CodeGen/AsmPrinter/WinCFGuard.cpp \
llvm/lib/CodeGen/AsmPrinter/WinException.cpp \
llvm/lib/CodeGen/AtomicExpandPass.cpp \
llvm/lib/CodeGen/BasicTargetTransformInfo.cpp \
llvm/lib/CodeGen/BranchFolding.cpp \
llvm/lib/CodeGen/BranchRelaxation.cpp \
llvm/lib/CodeGen/BreakFalseDeps.cpp \
llvm/lib/CodeGen/BuiltinGCs.cpp \
llvm/lib/CodeGen/CFIInstrInserter.cpp \
llvm/lib/CodeGen/CalcSpillWeights.cpp \
llvm/lib/CodeGen/CallingConvLower.cpp \
llvm/lib/CodeGen/CodeGen.cpp \
llvm/lib/CodeGen/CodeGenPrepare.cpp \
llvm/lib/CodeGen/CriticalAntiDepBreaker.cpp \
llvm/lib/CodeGen/DFAPacketizer.cpp \
llvm/lib/CodeGen/DeadMachineInstructionElim.cpp \
llvm/lib/CodeGen/DetectDeadLanes.cpp \
llvm/lib/CodeGen/DwarfEHPrepare.cpp \
llvm/lib/CodeGen/EarlyIfConversion.cpp \
llvm/lib/CodeGen/EdgeBundles.cpp \
llvm/lib/CodeGen/ExecutionDomainFix.cpp \
llvm/lib/CodeGen/ExpandISelPseudos.cpp \
llvm/lib/CodeGen/ExpandMemCmp.cpp \
llvm/lib/CodeGen/ExpandPostRAPseudos.cpp \
llvm/lib/CodeGen/ExpandReductions.cpp \
llvm/lib/CodeGen/FEntryInserter.cpp \
llvm/lib/CodeGen/FaultMaps.cpp \
llvm/lib/CodeGen/FuncletLayout.cpp \
llvm/lib/CodeGen/GCMetadata.cpp \
llvm/lib/CodeGen/GCMetadataPrinter.cpp \
llvm/lib/CodeGen/GCRootLowering.cpp \
llvm/lib/CodeGen/GCStrategy.cpp \
llvm/lib/CodeGen/GlobalISel/CallLowering.cpp \
llvm/lib/CodeGen/GlobalISel/Combiner.cpp \
llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp \
llvm/lib/CodeGen/GlobalISel/GlobalISel.cpp \
llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp \
llvm/lib/CodeGen/GlobalISel/InstructionSelect.cpp \
llvm/lib/CodeGen/GlobalISel/InstructionSelector.cpp \
llvm/lib/CodeGen/GlobalISel/LegalityPredicates.cpp \
llvm/lib/CodeGen/GlobalISel/LegalizeMutations.cpp \
llvm/lib/CodeGen/GlobalISel/Legalizer.cpp \
llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp \
llvm/lib/CodeGen/GlobalISel/LegalizerInfo.cpp \
llvm/lib/CodeGen/GlobalISel/Localizer.cpp \
llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp \
llvm/lib/CodeGen/GlobalISel/RegBankSelect.cpp \
llvm/lib/CodeGen/GlobalISel/RegisterBank.cpp \
llvm/lib/CodeGen/GlobalISel/RegisterBankInfo.cpp \
llvm/lib/CodeGen/GlobalISel/Utils.cpp \
llvm/lib/CodeGen/GlobalMerge.cpp \
llvm/lib/CodeGen/IfConversion.cpp \
llvm/lib/CodeGen/ImplicitNullChecks.cpp \
llvm/lib/CodeGen/IndirectBrExpandPass.cpp \
llvm/lib/CodeGen/InlineSpiller.cpp \
llvm/lib/CodeGen/InterferenceCache.cpp \
llvm/lib/CodeGen/InterleavedAccessPass.cpp \
llvm/lib/CodeGen/IntrinsicLowering.cpp \
llvm/lib/CodeGen/LLVMTargetMachine.cpp \
llvm/lib/CodeGen/LatencyPriorityQueue.cpp \
llvm/lib/CodeGen/LazyMachineBlockFrequencyInfo.cpp \
llvm/lib/CodeGen/LexicalScopes.cpp \
llvm/lib/CodeGen/LiveDebugValues.cpp \
llvm/lib/CodeGen/LiveDebugVariables.cpp \
llvm/lib/CodeGen/LiveInterval.cpp \
llvm/lib/CodeGen/LiveIntervalUnion.cpp \
llvm/lib/CodeGen/LiveIntervals.cpp \
llvm/lib/CodeGen/LivePhysRegs.cpp \
llvm/lib/CodeGen/LiveRangeCalc.cpp \
llvm/lib/CodeGen/LiveRangeEdit.cpp \
llvm/lib/CodeGen/LiveRangeShrink.cpp \
llvm/lib/CodeGen/LiveRegMatrix.cpp \
llvm/lib/CodeGen/LiveRegUnits.cpp \
llvm/lib/CodeGen/LiveStacks.cpp \
llvm/lib/CodeGen/LiveVariables.cpp \
llvm/lib/CodeGen/LocalStackSlotAllocation.cpp \
llvm/lib/CodeGen/LoopTraversal.cpp \
llvm/lib/CodeGen/LowLevelType.cpp \
llvm/lib/CodeGen/LowerEmuTLS.cpp \
llvm/lib/CodeGen/MIRCanonicalizerPass.cpp \
llvm/lib/CodeGen/MIRPrinter.cpp \
llvm/lib/CodeGen/MIRPrintingPass.cpp \
llvm/lib/CodeGen/MachineBasicBlock.cpp \
llvm/lib/CodeGen/MachineBlockFrequencyInfo.cpp \
llvm/lib/CodeGen/MachineBlockPlacement.cpp \
llvm/lib/CodeGen/MachineBranchProbabilityInfo.cpp \
llvm/lib/CodeGen/MachineCSE.cpp \
llvm/lib/CodeGen/MachineCombiner.cpp \
llvm/lib/CodeGen/MachineCopyPropagation.cpp \
llvm/lib/CodeGen/MachineDominanceFrontier.cpp \
llvm/lib/CodeGen/MachineDominators.cpp \
llvm/lib/CodeGen/MachineFrameInfo.cpp \
llvm/lib/CodeGen/MachineFunction.cpp \
llvm/lib/CodeGen/MachineFunctionPass.cpp \
llvm/lib/CodeGen/MachineFunctionPrinterPass.cpp \
llvm/lib/CodeGen/MachineInstr.cpp \
llvm/lib/CodeGen/MachineInstrBundle.cpp \
llvm/lib/CodeGen/MachineLICM.cpp \
llvm/lib/CodeGen/MachineLoopInfo.cpp \
llvm/lib/CodeGen/MachineModuleInfo.cpp \
llvm/lib/CodeGen/MachineModuleInfoImpls.cpp \
llvm/lib/CodeGen/MachineOperand.cpp \
llvm/lib/CodeGen/MachineOptimizationRemarkEmitter.cpp \
llvm/lib/CodeGen/MachineOutliner.cpp \
llvm/lib/CodeGen/MachinePassRegistry.cpp \
llvm/lib/CodeGen/MachinePipeliner.cpp \
llvm/lib/CodeGen/MachinePostDominators.cpp \
llvm/lib/CodeGen/MachineRegionInfo.cpp \
llvm/lib/CodeGen/MachineRegisterInfo.cpp \
llvm/lib/CodeGen/MachineSSAUpdater.cpp \
llvm/lib/CodeGen/MachineScheduler.cpp \
llvm/lib/CodeGen/MachineSink.cpp \
llvm/lib/CodeGen/MachineTraceMetrics.cpp \
llvm/lib/CodeGen/MachineVerifier.cpp \
llvm/lib/CodeGen/MacroFusion.cpp \
llvm/lib/CodeGen/OptimizePHIs.cpp \
llvm/lib/CodeGen/PHIElimination.cpp \
llvm/lib/CodeGen/PHIEliminationUtils.cpp \
llvm/lib/CodeGen/ParallelCG.cpp \
llvm/lib/CodeGen/PatchableFunction.cpp \
llvm/lib/CodeGen/PeepholeOptimizer.cpp \
llvm/lib/CodeGen/PostRAHazardRecognizer.cpp \
llvm/lib/CodeGen/PostRASchedulerList.cpp \
llvm/lib/CodeGen/PreISelIntrinsicLowering.cpp \
llvm/lib/CodeGen/ProcessImplicitDefs.cpp \
llvm/lib/CodeGen/PrologEpilogInserter.cpp \
llvm/lib/CodeGen/PseudoSourceValue.cpp \
llvm/lib/CodeGen/ReachingDefAnalysis.cpp \
llvm/lib/CodeGen/RegAllocBase.cpp \
llvm/lib/CodeGen/RegAllocBasic.cpp \
llvm/lib/CodeGen/RegAllocFast.cpp \
llvm/lib/CodeGen/RegAllocGreedy.cpp \
llvm/lib/CodeGen/RegAllocPBQP.cpp \
llvm/lib/CodeGen/RegUsageInfoCollector.cpp \
llvm/lib/CodeGen/RegUsageInfoPropagate.cpp \
llvm/lib/CodeGen/RegisterClassInfo.cpp \
llvm/lib/CodeGen/RegisterCoalescer.cpp \
llvm/lib/CodeGen/RegisterPressure.cpp \
llvm/lib/CodeGen/RegisterScavenging.cpp \
llvm/lib/CodeGen/RegisterUsageInfo.cpp \
llvm/lib/CodeGen/RenameIndependentSubregs.cpp \
llvm/lib/CodeGen/ResetMachineFunctionPass.cpp \
llvm/lib/CodeGen/SafeStack.cpp \
llvm/lib/CodeGen/SafeStackColoring.cpp \
llvm/lib/CodeGen/SafeStackLayout.cpp \
llvm/lib/CodeGen/ScalarizeMaskedMemIntrin.cpp \
llvm/lib/CodeGen/ScheduleDAG.cpp \
llvm/lib/CodeGen/ScheduleDAGInstrs.cpp \
llvm/lib/CodeGen/ScheduleDAGPrinter.cpp \
llvm/lib/CodeGen/ScoreboardHazardRecognizer.cpp \
llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp \
llvm/lib/CodeGen/SelectionDAG/FastISel.cpp \
llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp \
llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp \
llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp \
llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp \
llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp \
llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp \
llvm/lib/CodeGen/SelectionDAG/LegalizeTypesGeneric.cpp \
llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp \
llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp \
llvm/lib/CodeGen/SelectionDAG/ResourcePriorityQueue.cpp \
llvm/lib/CodeGen/SelectionDAG/ScheduleDAGFast.cpp \
llvm/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp \
llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp \
llvm/lib/CodeGen/SelectionDAG/ScheduleDAGVLIW.cpp \
llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp \
llvm/lib/CodeGen/SelectionDAG/SelectionDAGAddressAnalysis.cpp \
llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp \
llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp \
llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp \
llvm/lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp \
llvm/lib/CodeGen/SelectionDAG/SelectionDAGTargetInfo.cpp \
llvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp \
llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp \
llvm/lib/CodeGen/ShadowStackGCLowering.cpp \
llvm/lib/CodeGen/ShrinkWrap.cpp \
llvm/lib/CodeGen/SjLjEHPrepare.cpp \
llvm/lib/CodeGen/SlotIndexes.cpp \
llvm/lib/CodeGen/SpillPlacement.cpp \
llvm/lib/CodeGen/SplitKit.cpp \
llvm/lib/CodeGen/StackColoring.cpp \
llvm/lib/CodeGen/StackMapLivenessAnalysis.cpp \
llvm/lib/CodeGen/StackMaps.cpp \
llvm/lib/CodeGen/StackProtector.cpp \
llvm/lib/CodeGen/StackSlotColoring.cpp \
llvm/lib/CodeGen/TailDuplication.cpp \
llvm/lib/CodeGen/TailDuplicator.cpp \
llvm/lib/CodeGen/TargetFrameLoweringImpl.cpp \
llvm/lib/CodeGen/TargetInstrInfo.cpp \
llvm/lib/CodeGen/TargetLoweringBase.cpp \
llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp \
llvm/lib/CodeGen/TargetOptionsImpl.cpp \
llvm/lib/CodeGen/TargetPassConfig.cpp \
llvm/lib/CodeGen/TargetRegisterInfo.cpp \
llvm/lib/CodeGen/TargetSchedule.cpp \
llvm/lib/CodeGen/TargetSubtargetInfo.cpp \
llvm/lib/CodeGen/TwoAddressInstructionPass.cpp \
llvm/lib/CodeGen/UnreachableBlockElim.cpp \
llvm/lib/CodeGen/ValueTypes.cpp \
llvm/lib/CodeGen/VirtRegMap.cpp \
llvm/lib/CodeGen/WasmEHPrepare.cpp \
llvm/lib/CodeGen/WinEHPrepare.cpp \
llvm/lib/CodeGen/XRayInstrumentation.cpp \
llvm/lib/DebugInfo/CodeView/AppendingTypeTableBuilder.cpp \
llvm/lib/DebugInfo/CodeView/CVSymbolVisitor.cpp \
llvm/lib/DebugInfo/CodeView/CVTypeVisitor.cpp \
llvm/lib/DebugInfo/CodeView/CodeViewError.cpp \
llvm/lib/DebugInfo/CodeView/CodeViewRecordIO.cpp \
llvm/lib/DebugInfo/CodeView/ContinuationRecordBuilder.cpp \
llvm/lib/DebugInfo/CodeView/DebugChecksumsSubsection.cpp \
llvm/lib/DebugInfo/CodeView/DebugCrossExSubsection.cpp \
llvm/lib/DebugInfo/CodeView/DebugCrossImpSubsection.cpp \
llvm/lib/DebugInfo/CodeView/DebugFrameDataSubsection.cpp \
llvm/lib/DebugInfo/CodeView/DebugInlineeLinesSubsection.cpp \
llvm/lib/DebugInfo/CodeView/DebugLinesSubsection.cpp \
llvm/lib/DebugInfo/CodeView/DebugStringTableSubsection.cpp \
llvm/lib/DebugInfo/CodeView/DebugSubsection.cpp \
llvm/lib/DebugInfo/CodeView/DebugSubsectionRecord.cpp \
llvm/lib/DebugInfo/CodeView/DebugSubsectionVisitor.cpp \
llvm/lib/DebugInfo/CodeView/DebugSymbolRVASubsection.cpp \
llvm/lib/DebugInfo/CodeView/DebugSymbolsSubsection.cpp \
llvm/lib/DebugInfo/CodeView/EnumTables.cpp \
llvm/lib/DebugInfo/CodeView/Formatters.cpp \
llvm/lib/DebugInfo/CodeView/GlobalTypeTableBuilder.cpp \
llvm/lib/DebugInfo/CodeView/LazyRandomTypeCollection.cpp \
llvm/lib/DebugInfo/CodeView/Line.cpp \
llvm/lib/DebugInfo/CodeView/MergingTypeTableBuilder.cpp \
llvm/lib/DebugInfo/CodeView/RecordName.cpp \
llvm/lib/DebugInfo/CodeView/RecordSerialization.cpp \
llvm/lib/DebugInfo/CodeView/SimpleTypeSerializer.cpp \
llvm/lib/DebugInfo/CodeView/StringsAndChecksums.cpp \
llvm/lib/DebugInfo/CodeView/SymbolDumper.cpp \
llvm/lib/DebugInfo/CodeView/SymbolRecordMapping.cpp \
llvm/lib/DebugInfo/CodeView/SymbolSerializer.cpp \
llvm/lib/DebugInfo/CodeView/TypeDumpVisitor.cpp \
llvm/lib/DebugInfo/CodeView/TypeHashing.cpp \
llvm/lib/DebugInfo/CodeView/TypeIndex.cpp \
llvm/lib/DebugInfo/CodeView/TypeIndexDiscovery.cpp \
llvm/lib/DebugInfo/CodeView/TypeRecordMapping.cpp \
llvm/lib/DebugInfo/CodeView/TypeStreamMerger.cpp \
llvm/lib/DebugInfo/CodeView/TypeTableCollection.cpp \
llvm/lib/ExecutionEngine/ExecutionEngine.cpp \
llvm/lib/ExecutionEngine/ExecutionEngineBindings.cpp \
llvm/lib/ExecutionEngine/GDBRegistrationListener.cpp \
llvm/lib/ExecutionEngine/Orc/CompileOnDemandLayer.cpp \
llvm/lib/ExecutionEngine/Orc/Core.cpp \
llvm/lib/ExecutionEngine/Orc/ExecutionUtils.cpp \
llvm/lib/ExecutionEngine/Orc/IRCompileLayer.cpp \
llvm/lib/ExecutionEngine/Orc/IRTransformLayer.cpp \
llvm/lib/ExecutionEngine/Orc/IndirectionUtils.cpp \
llvm/lib/ExecutionEngine/Orc/LLJIT.cpp \
llvm/lib/ExecutionEngine/Orc/Layer.cpp \
llvm/lib/ExecutionEngine/Orc/Legacy.cpp \
llvm/lib/ExecutionEngine/Orc/NullResolver.cpp \
llvm/lib/ExecutionEngine/Orc/ObjectTransformLayer.cpp \
llvm/lib/ExecutionEngine/Orc/OrcABISupport.cpp \
llvm/lib/ExecutionEngine/Orc/OrcCBindings.cpp \
llvm/lib/ExecutionEngine/Orc/OrcError.cpp \
llvm/lib/ExecutionEngine/Orc/OrcMCJITReplacement.cpp \
llvm/lib/ExecutionEngine/Orc/RPCUtils.cpp \
llvm/lib/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.cpp \
llvm/lib/ExecutionEngine/RuntimeDyld/JITSymbol.cpp \
llvm/lib/ExecutionEngine/RuntimeDyld/RTDyldMemoryManager.cpp \
llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp \
llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldCOFF.cpp \
llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldChecker.cpp \
llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp \
llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.cpp \
llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldELFMips.cpp \
llvm/lib/ExecutionEngine/SectionMemoryManager.cpp \
llvm/lib/ExecutionEngine/TargetSelect.cpp \
llvm/lib/IR/AsmWriter.cpp \
llvm/lib/IR/Attributes.cpp \
llvm/lib/IR/AutoUpgrade.cpp \
llvm/lib/IR/BasicBlock.cpp \
llvm/lib/IR/Comdat.cpp \
llvm/lib/IR/ConstantFold.cpp \
llvm/lib/IR/ConstantRange.cpp \
llvm/lib/IR/Constants.cpp \
llvm/lib/IR/Core.cpp \
llvm/lib/IR/DIBuilder.cpp \
llvm/lib/IR/DataLayout.cpp \
llvm/lib/IR/DebugInfo.cpp \
llvm/lib/IR/DebugInfoMetadata.cpp \
llvm/lib/IR/DebugLoc.cpp \
llvm/lib/IR/DiagnosticHandler.cpp \
llvm/lib/IR/DiagnosticInfo.cpp \
llvm/lib/IR/DiagnosticPrinter.cpp \
llvm/lib/IR/DomTreeUpdater.cpp \
llvm/lib/IR/Dominators.cpp \
llvm/lib/IR/Function.cpp \
llvm/lib/IR/GVMaterializer.cpp \
llvm/lib/IR/Globals.cpp \
llvm/lib/IR/IRBuilder.cpp \
llvm/lib/IR/IRPrintingPasses.cpp \
llvm/lib/IR/InlineAsm.cpp \
llvm/lib/IR/Instruction.cpp \
llvm/lib/IR/Instructions.cpp \
llvm/lib/IR/IntrinsicInst.cpp \
llvm/lib/IR/LLVMContext.cpp \
llvm/lib/IR/LLVMContextImpl.cpp \
llvm/lib/IR/LegacyPassManager.cpp \
llvm/lib/IR/MDBuilder.cpp \
llvm/lib/IR/Mangler.cpp \
llvm/lib/IR/Metadata.cpp \
llvm/lib/IR/Module.cpp \
llvm/lib/IR/ModuleSummaryIndex.cpp \
llvm/lib/IR/Operator.cpp \
llvm/lib/IR/OptBisect.cpp \
llvm/lib/IR/Pass.cpp \
llvm/lib/IR/PassManager.cpp \
llvm/lib/IR/PassRegistry.cpp \
llvm/lib/IR/ProfileSummary.cpp \
llvm/lib/IR/SafepointIRVerifier.cpp \
llvm/lib/IR/Statepoint.cpp \
llvm/lib/IR/Type.cpp \
llvm/lib/IR/TypeFinder.cpp \
llvm/lib/IR/Use.cpp \
llvm/lib/IR/User.cpp \
llvm/lib/IR/Value.cpp \
llvm/lib/IR/ValueSymbolTable.cpp \
llvm/lib/IR/Verifier.cpp \
llvm/lib/IRReader/IRReader.cpp \
llvm/lib/MC/ConstantPools.cpp \
llvm/lib/MC/ELFObjectWriter.cpp \
llvm/lib/MC/MCAsmBackend.cpp \
llvm/lib/MC/MCAsmInfo.cpp \
llvm/lib/MC/MCAsmInfoCOFF.cpp \
llvm/lib/MC/MCAsmInfoDarwin.cpp \
llvm/lib/MC/MCAsmInfoELF.cpp \
llvm/lib/MC/MCAsmInfoWasm.cpp \
llvm/lib/MC/MCAsmMacro.cpp \
llvm/lib/MC/MCAsmStreamer.cpp \
llvm/lib/MC/MCAssembler.cpp \
llvm/lib/MC/MCCodeEmitter.cpp \
llvm/lib/MC/MCCodePadder.cpp \
llvm/lib/MC/MCCodeView.cpp \
llvm/lib/MC/MCContext.cpp \
llvm/lib/MC/MCDisassembler/Disassembler.cpp \
llvm/lib/MC/MCDisassembler/MCDisassembler.cpp \
llvm/lib/MC/MCDisassembler/MCExternalSymbolizer.cpp \
llvm/lib/MC/MCDisassembler/MCRelocationInfo.cpp \
llvm/lib/MC/MCDisassembler/MCSymbolizer.cpp \
llvm/lib/MC/MCDwarf.cpp \
llvm/lib/MC/MCELFObjectTargetWriter.cpp \
llvm/lib/MC/MCELFStreamer.cpp \
llvm/lib/MC/MCExpr.cpp \
llvm/lib/MC/MCFragment.cpp \
llvm/lib/MC/MCInst.cpp \
llvm/lib/MC/MCInstPrinter.cpp \
llvm/lib/MC/MCInstrAnalysis.cpp \
llvm/lib/MC/MCInstrDesc.cpp \
llvm/lib/MC/MCLabel.cpp \
llvm/lib/MC/MCLinkerOptimizationHint.cpp \
llvm/lib/MC/MCMachOStreamer.cpp \
llvm/lib/MC/MCMachObjectTargetWriter.cpp \
llvm/lib/MC/MCNullStreamer.cpp \
llvm/lib/MC/MCObjectFileInfo.cpp \
llvm/lib/MC/MCObjectStreamer.cpp \
llvm/lib/MC/MCObjectWriter.cpp \
llvm/lib/MC/MCParser/AsmLexer.cpp \
llvm/lib/MC/MCParser/AsmParser.cpp \
llvm/lib/MC/MCParser/COFFAsmParser.cpp \
llvm/lib/MC/MCParser/DarwinAsmParser.cpp \
llvm/lib/MC/MCParser/ELFAsmParser.cpp \
llvm/lib/MC/MCParser/MCAsmLexer.cpp \
llvm/lib/MC/MCParser/MCAsmParser.cpp \
llvm/lib/MC/MCParser/MCAsmParserExtension.cpp \
llvm/lib/MC/MCParser/MCTargetAsmParser.cpp \
llvm/lib/MC/MCRegisterInfo.cpp \
llvm/lib/MC/MCSchedule.cpp \
llvm/lib/MC/MCSection.cpp \
llvm/lib/MC/MCSectionCOFF.cpp \
llvm/lib/MC/MCSectionELF.cpp \
llvm/lib/MC/MCSectionMachO.cpp \
llvm/lib/MC/MCSectionWasm.cpp \
llvm/lib/MC/MCStreamer.cpp \
llvm/lib/MC/MCSubtargetInfo.cpp \
llvm/lib/MC/MCSymbol.cpp \
llvm/lib/MC/MCSymbolELF.cpp \
llvm/lib/MC/MCTargetOptions.cpp \
llvm/lib/MC/MCValue.cpp \
llvm/lib/MC/MCWasmObjectTargetWriter.cpp \
llvm/lib/MC/MCWasmStreamer.cpp \
llvm/lib/MC/MCWin64EH.cpp \
llvm/lib/MC/MCWinCOFFStreamer.cpp \
llvm/lib/MC/MCWinEH.cpp \
llvm/lib/MC/MachObjectWriter.cpp \
llvm/lib/MC/StringTableBuilder.cpp \
llvm/lib/MC/SubtargetFeature.cpp \
llvm/lib/MC/WasmObjectWriter.cpp \
llvm/lib/MC/WinCOFFObjectWriter.cpp \
llvm/lib/Object/Archive.cpp \
llvm/lib/Object/ArchiveWriter.cpp \
llvm/lib/Object/Binary.cpp \
llvm/lib/Object/COFFImportFile.cpp \
llvm/lib/Object/COFFModuleDefinition.cpp \
llvm/lib/Object/COFFObjectFile.cpp \
llvm/lib/Object/Decompressor.cpp \
llvm/lib/Object/ELF.cpp \
llvm/lib/Object/ELFObjectFile.cpp \
llvm/lib/Object/Error.cpp \
llvm/lib/Object/IRObjectFile.cpp \
llvm/lib/Object/IRSymtab.cpp \
llvm/lib/Object/MachOObjectFile.cpp \
llvm/lib/Object/MachOUniversal.cpp \
llvm/lib/Object/ModuleSymbolTable.cpp \
llvm/lib/Object/Object.cpp \
llvm/lib/Object/ObjectFile.cpp \
llvm/lib/Object/RecordStreamer.cpp \
llvm/lib/Object/SymbolSize.cpp \
llvm/lib/Object/SymbolicFile.cpp \
llvm/lib/Object/WasmObjectFile.cpp \
llvm/lib/Object/WindowsResource.cpp \
llvm/lib/ProfileData/GCOV.cpp \
llvm/lib/ProfileData/InstrProf.cpp \
llvm/lib/ProfileData/InstrProfReader.cpp \
llvm/lib/ProfileData/InstrProfWriter.cpp \
llvm/lib/ProfileData/ProfileSummaryBuilder.cpp \
llvm/lib/ProfileData/SampleProf.cpp \
llvm/lib/ProfileData/SampleProfReader.cpp \
llvm/lib/ProfileData/SampleProfWriter.cpp \
llvm/lib/Support/AMDGPUMetadata.cpp \
llvm/lib/Support/APFloat.cpp \
llvm/lib/Support/APInt.cpp \
llvm/lib/Support/APSInt.cpp \
llvm/lib/Support/ARMAttributeParser.cpp \
llvm/lib/Support/ARMBuildAttrs.cpp \
llvm/lib/Support/ARMWinEH.cpp \
llvm/lib/Support/Allocator.cpp \
llvm/lib/Support/Atomic.cpp \
llvm/lib/Support/BinaryStreamError.cpp \
llvm/lib/Support/BinaryStreamReader.cpp \
llvm/lib/Support/BinaryStreamRef.cpp \
llvm/lib/Support/BinaryStreamWriter.cpp \
llvm/lib/Support/BlockFrequency.cpp \
llvm/lib/Support/BranchProbability.cpp \
llvm/lib/Support/COM.cpp \
llvm/lib/Support/CachePruning.cpp \
llvm/lib/Support/Chrono.cpp \
llvm/lib/Support/CodeGenCoverage.cpp \
llvm/lib/Support/CommandLine.cpp \
llvm/lib/Support/Compression.cpp \
llvm/lib/Support/ConvertUTF.cpp \
llvm/lib/Support/ConvertUTFWrapper.cpp \
llvm/lib/Support/CrashRecoveryContext.cpp \
llvm/lib/Support/DAGDeltaAlgorithm.cpp \
llvm/lib/Support/DJB.cpp \
llvm/lib/Support/DataExtractor.cpp \
llvm/lib/Support/Debug.cpp \
llvm/lib/Support/DebugCounter.cpp \
llvm/lib/Support/DeltaAlgorithm.cpp \
llvm/lib/Support/DynamicLibrary.cpp \
llvm/lib/Support/Errno.cpp \
llvm/lib/Support/Error.cpp \
llvm/lib/Support/ErrorHandling.cpp \
llvm/lib/Support/FileOutputBuffer.cpp \
llvm/lib/Support/FileUtilities.cpp \
llvm/lib/Support/FoldingSet.cpp \
llvm/lib/Support/FormatVariadic.cpp \
llvm/lib/Support/FormattedStream.cpp \
llvm/lib/Support/GlobPattern.cpp \
llvm/lib/Support/GraphWriter.cpp \
llvm/lib/Support/Hashing.cpp \
llvm/lib/Support/Host.cpp \
llvm/lib/Support/InitLLVM.cpp \
llvm/lib/Support/IntEqClasses.cpp \
llvm/lib/Support/IntervalMap.cpp \
llvm/lib/Support/JSON.cpp \
llvm/lib/Support/JamCRC.cpp \
llvm/lib/Support/KnownBits.cpp \
llvm/lib/Support/LEB128.cpp \
llvm/lib/Support/LineIterator.cpp \
llvm/lib/Support/Locale.cpp \
llvm/lib/Support/LockFileManager.cpp \
llvm/lib/Support/LowLevelType.cpp \
llvm/lib/Support/MD5.cpp \
llvm/lib/Support/ManagedStatic.cpp \
llvm/lib/Support/MathExtras.cpp \
llvm/lib/Support/Memory.cpp \
llvm/lib/Support/MemoryBuffer.cpp \
llvm/lib/Support/Mutex.cpp \
llvm/lib/Support/NativeFormatting.cpp \
llvm/lib/Support/Options.cpp \
llvm/lib/Support/Parallel.cpp \
llvm/lib/Support/Path.cpp \
llvm/lib/Support/PluginLoader.cpp \
llvm/lib/Support/PrettyStackTrace.cpp \
llvm/lib/Support/Process.cpp \
llvm/lib/Support/Program.cpp \
llvm/lib/Support/RWMutex.cpp \
llvm/lib/Support/RandomNumberGenerator.cpp \
llvm/lib/Support/Regex.cpp \
llvm/lib/Support/SHA1.cpp \
llvm/lib/Support/ScaledNumber.cpp \
llvm/lib/Support/ScopedPrinter.cpp \
llvm/lib/Support/Signals.cpp \
llvm/lib/Support/SmallPtrSet.cpp \
llvm/lib/Support/SmallVector.cpp \
llvm/lib/Support/SourceMgr.cpp \
llvm/lib/Support/SpecialCaseList.cpp \
llvm/lib/Support/Statistic.cpp \
llvm/lib/Support/StringExtras.cpp \
llvm/lib/Support/StringMap.cpp \
llvm/lib/Support/StringPool.cpp \
llvm/lib/Support/StringRef.cpp \
llvm/lib/Support/StringSaver.cpp \
llvm/lib/Support/SystemUtils.cpp \
llvm/lib/Support/TarWriter.cpp \
llvm/lib/Support/TargetParser.cpp \
llvm/lib/Support/TargetRegistry.cpp \
llvm/lib/Support/ThreadLocal.cpp \
llvm/lib/Support/ThreadPool.cpp \
llvm/lib/Support/Threading.cpp \
llvm/lib/Support/Timer.cpp \
llvm/lib/Support/ToolOutputFile.cpp \
llvm/lib/Support/TrigramIndex.cpp \
llvm/lib/Support/Triple.cpp \
llvm/lib/Support/Twine.cpp \
llvm/lib/Support/Unicode.cpp \
llvm/lib/Support/UnicodeCaseFold.cpp \
llvm/lib/Support/Valgrind.cpp \
llvm/lib/Support/VersionTuple.cpp \
llvm/lib/Support/Watchdog.cpp \
llvm/lib/Support/WithColor.cpp \
llvm/lib/Support/YAMLParser.cpp \
llvm/lib/Support/YAMLTraits.cpp \
llvm/lib/Support/circular_raw_ostream.cpp \
llvm/lib/Support/raw_os_ostream.cpp \
llvm/lib/Support/raw_ostream.cpp \
llvm/lib/Support/regcomp.c \
llvm/lib/Support/regerror.c \
llvm/lib/Support/regexec.c \
llvm/lib/Support/regfree.c \
llvm/lib/Support/regstrlcpy.c \
llvm/lib/Support/xxhash.cpp \
llvm/lib/Target/Target.cpp \
llvm/lib/Target/TargetIntrinsicInfo.cpp \
llvm/lib/Target/TargetLoweringObjectFile.cpp \
llvm/lib/Target/TargetMachine.cpp \
llvm/lib/Target/TargetMachineC.cpp \
llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp \
llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp \
llvm/lib/Target/AArch64/MCTargetDesc/AArch64WinCOFFStreamer.cpp \
llvm/lib/Target/AArch64/MCTargetDesc/AArch64WinCOFFObjectWriter.cpp \
llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.cpp \
llvm/lib/Target/AArch64/MCTargetDesc/AArch64MachObjectWriter.cpp \
llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCCodeEmitter.cpp \
llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp \
llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp \
llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp \
llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.cpp \
llvm/lib/Target/AArch64/AArch64ISelLowering.cpp \
llvm/lib/Target/AArch64/AArch64A57FPLoadBalancing.cpp \
llvm/lib/Target/AArch64/AArch64FastISel.cpp \
llvm/lib/Target/AArch64/AArch64InstrInfo.cpp \
llvm/lib/Target/AArch64/AArch64PromoteConstant.cpp \
llvm/lib/Target/AArch64/AArch64FalkorHWPFFix.cpp \
llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.cpp \
llvm/lib/Target/AArch64/AArch64InstructionSelector.cpp \
llvm/lib/Target/AArch64/AArch64SelectionDAGInfo.cpp \
llvm/lib/Target/AArch64/AArch64A53Fix835769.cpp \
llvm/lib/Target/AArch64/AArch64TargetMachine.cpp \
llvm/lib/Target/AArch64/AArch64CallLowering.cpp \
llvm/lib/Target/AArch64/AArch64SIMDInstrOpt.cpp \
llvm/lib/Target/AArch64/AArch64Subtarget.cpp \
llvm/lib/Target/AArch64/AArch64TargetObjectFile.cpp \
llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp \
llvm/lib/Target/AArch64/AArch64ConditionOptimizer.cpp \
llvm/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp \
llvm/lib/Target/AArch64/Disassembler/AArch64ExternalSymbolizer.cpp \
llvm/lib/Target/AArch64/TargetInfo/AArch64TargetInfo.cpp \
llvm/lib/Target/AArch64/AArch64AdvSIMDScalarPass.cpp \
llvm/lib/Target/AArch64/AArch64ConditionalCompares.cpp \
llvm/lib/Target/AArch64/AArch64DeadRegisterDefinitionsPass.cpp \
llvm/lib/Target/AArch64/AArch64LegalizerInfo.cpp \
llvm/lib/Target/AArch64/AArch64StorePairSuppress.cpp \
llvm/lib/Target/AArch64/AArch64PBQPRegAlloc.cpp \
llvm/lib/Target/AArch64/InstPrinter/AArch64InstPrinter.cpp \
llvm/lib/Target/AArch64/AArch64CleanupLocalDynamicTLSPass.cpp \
llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp \
llvm/lib/Target/AArch64/AArch64MCInstLower.cpp \
llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp \
llvm/lib/Target/AArch64/AArch64RedundantCopyElimination.cpp \
llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp \
llvm/lib/Target/AArch64/AArch64CollectLOH.cpp \
llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp \
llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp \
llvm/lib/Target/AArch64/AArch64RegisterBankInfo.cpp \
llvm/lib/Target/AArch64/AArch64CondBrTuning.cpp \
llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp \
llvm/lib/Target/AArch64/AArch64FrameLowering.cpp \
llvm/lib/Target/AArch64/AArch64MacroFusion.cpp \
llvm/lib/Target/ARM/ARMConstantIslandPass.cpp \
llvm/lib/Target/ARM/MCTargetDesc/ARMMachObjectWriter.cpp \
llvm/lib/Target/ARM/MCTargetDesc/ARMWinCOFFObjectWriter.cpp \
llvm/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp \
llvm/lib/Target/ARM/MCTargetDesc/ARMMCCodeEmitter.cpp \
llvm/lib/Target/ARM/MCTargetDesc/ARMTargetStreamer.cpp \
llvm/lib/Target/ARM/MCTargetDesc/ARMMachORelocationInfo.cpp \
llvm/lib/Target/ARM/MCTargetDesc/ARMMCExpr.cpp \
llvm/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp \
llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp \
llvm/lib/Target/ARM/MCTargetDesc/ARMWinCOFFStreamer.cpp \
llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp \
llvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp \
llvm/lib/Target/ARM/MCTargetDesc/ARMUnwindOpAsm.cpp \
llvm/lib/Target/ARM/ThumbRegisterInfo.cpp \
llvm/lib/Target/ARM/ARMMachineFunctionInfo.cpp \
llvm/lib/Target/ARM/ARMFrameLowering.cpp \
llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp \
llvm/lib/Target/ARM/ARMCallLowering.cpp \
llvm/lib/Target/ARM/ARMTargetMachine.cpp \
llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp \
llvm/lib/Target/ARM/Thumb1FrameLowering.cpp \
llvm/lib/Target/ARM/ARMRegisterBankInfo.cpp \
llvm/lib/Target/ARM/Utils/ARMBaseInfo.cpp \
llvm/lib/Target/ARM/ARMComputeBlockSize.cpp \
llvm/lib/Target/ARM/ARMSelectionDAGInfo.cpp \
llvm/lib/Target/ARM/ARMInstructionSelector.cpp \
llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp \
llvm/lib/Target/ARM/ARMTargetObjectFile.cpp \
llvm/lib/Target/ARM/ARMISelLowering.cpp \
llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp \
llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp \
llvm/lib/Target/ARM/TargetInfo/ARMTargetInfo.cpp \
llvm/lib/Target/ARM/ARMInstrInfo.cpp \
llvm/lib/Target/ARM/MLxExpansionPass.cpp \
llvm/lib/Target/ARM/Thumb2SizeReduction.cpp \
llvm/lib/Target/ARM/ARMConstantPoolValue.cpp \
llvm/lib/Target/ARM/Thumb2InstrInfo.cpp \
llvm/lib/Target/ARM/ARMRegisterInfo.cpp \
llvm/lib/Target/ARM/InstPrinter/ARMInstPrinter.cpp \
llvm/lib/Target/ARM/ARMSubtarget.cpp \
llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp \
llvm/lib/Target/ARM/ARMParallelDSP.cpp \
llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp \
llvm/lib/Target/ARM/A15SDOptimizer.cpp \
llvm/lib/Target/ARM/Thumb2ITBlockPass.cpp \
llvm/lib/Target/ARM/ARMFastISel.cpp \
llvm/lib/Target/ARM/ARMMacroFusion.cpp \
llvm/lib/Target/ARM/ARMAsmPrinter.cpp \
llvm/lib/Target/ARM/ARMMCInstLower.cpp \
llvm/lib/Target/ARM/ARMHazardRecognizer.cpp \
llvm/lib/Target/ARM/ARMCodeGenPrepare.cpp \
llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp \
llvm/lib/Target/ARM/Thumb1InstrInfo.cpp \
llvm/lib/Target/ARM/ARMLegalizerInfo.cpp \
llvm/lib/Target/ARM/ARMOptimizeBarriersPass.cpp \
llvm/lib/Target/X86/AsmParser/X86AsmInstrumentation.cpp \
llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp \
llvm/lib/Target/X86/InstPrinter/X86ATTInstPrinter.cpp \
llvm/lib/Target/X86/InstPrinter/X86InstComments.cpp \
llvm/lib/Target/X86/InstPrinter/X86InstPrinterCommon.cpp \
llvm/lib/Target/X86/InstPrinter/X86IntelInstPrinter.cpp \
llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp \
llvm/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp \
llvm/lib/Target/X86/MCTargetDesc/X86MCAsmInfo.cpp \
llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp \
llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp \
llvm/lib/Target/X86/MCTargetDesc/X86MachObjectWriter.cpp \
llvm/lib/Target/X86/MCTargetDesc/X86WinCOFFObjectWriter.cpp \
llvm/lib/Target/X86/MCTargetDesc/X86WinCOFFStreamer.cpp \
llvm/lib/Target/X86/MCTargetDesc/X86WinCOFFTargetStreamer.cpp \
llvm/lib/Target/X86/ShadowCallStack.cpp \
llvm/lib/Target/X86/TargetInfo/X86TargetInfo.cpp \
llvm/lib/Target/X86/Utils/X86ShuffleDecode.cpp \
llvm/lib/Target/X86/X86AsmPrinter.cpp \
llvm/lib/Target/X86/X86AvoidStoreForwardingBlocks.cpp \
llvm/lib/Target/X86/X86CallFrameOptimization.cpp \
llvm/lib/Target/X86/X86CallLowering.cpp \
llvm/lib/Target/X86/X86CallingConv.cpp \
llvm/lib/Target/X86/X86CmovConversion.cpp \
llvm/lib/Target/X86/X86DomainReassignment.cpp \
llvm/lib/Target/X86/X86EvexToVex.cpp \
llvm/lib/Target/X86/X86ExpandPseudo.cpp \
llvm/lib/Target/X86/X86FastISel.cpp \
llvm/lib/Target/X86/X86FixupBWInsts.cpp \
llvm/lib/Target/X86/X86FixupLEAs.cpp \
llvm/lib/Target/X86/X86FixupSetCC.cpp \
llvm/lib/Target/X86/X86FlagsCopyLowering.cpp \
llvm/lib/Target/X86/X86FloatingPoint.cpp \
llvm/lib/Target/X86/X86FrameLowering.cpp \
llvm/lib/Target/X86/X86ISelDAGToDAG.cpp \
llvm/lib/Target/X86/X86ISelLowering.cpp \
llvm/lib/Target/X86/X86IndirectBranchTracking.cpp \
llvm/lib/Target/X86/X86InstrFMA3Info.cpp \
llvm/lib/Target/X86/X86InstrFoldTables.cpp \
llvm/lib/Target/X86/X86InstrInfo.cpp \
llvm/lib/Target/X86/X86InstructionSelector.cpp \
llvm/lib/Target/X86/X86InterleavedAccess.cpp \
llvm/lib/Target/X86/X86LegalizerInfo.cpp \
llvm/lib/Target/X86/X86MCInstLower.cpp \
llvm/lib/Target/X86/X86MachineFunctionInfo.cpp \
llvm/lib/Target/X86/X86MacroFusion.cpp \
llvm/lib/Target/X86/X86OptimizeLEAs.cpp \
llvm/lib/Target/X86/X86PadShortFunction.cpp \
llvm/lib/Target/X86/X86RegisterBankInfo.cpp \
llvm/lib/Target/X86/X86RegisterInfo.cpp \
llvm/lib/Target/X86/X86RetpolineThunks.cpp \
llvm/lib/Target/X86/X86SelectionDAGInfo.cpp \
llvm/lib/Target/X86/X86ShuffleDecodeConstantPool.cpp \
llvm/lib/Target/X86/X86SpeculativeLoadHardening.cpp \
llvm/lib/Target/X86/X86Subtarget.cpp \
llvm/lib/Target/X86/X86TargetMachine.cpp \
llvm/lib/Target/X86/X86TargetObjectFile.cpp \
llvm/lib/Target/X86/X86TargetTransformInfo.cpp \
llvm/lib/Target/X86/X86VZeroUpper.cpp \
llvm/lib/Target/X86/X86WinAllocaExpander.cpp \
llvm/lib/Target/X86/X86WinEHState.cpp \
llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp \
llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp \
llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp \
llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp \
llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp \
llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp \
llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp \
llvm/lib/Transforms/InstCombine/InstCombinePHI.cpp \
llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp \
llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp \
llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp \
llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp \
llvm/lib/Transforms/InstCombine/InstructionCombining.cpp \
llvm/lib/Transforms/Scalar/ADCE.cpp \
llvm/lib/Transforms/Scalar/AlignmentFromAssumptions.cpp \
llvm/lib/Transforms/Scalar/BDCE.cpp \
llvm/lib/Transforms/Scalar/CallSiteSplitting.cpp \
llvm/lib/Transforms/Scalar/ConstantHoisting.cpp \
llvm/lib/Transforms/Scalar/ConstantProp.cpp \
llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp \
llvm/lib/Transforms/Scalar/DCE.cpp \
llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp \
llvm/lib/Transforms/Scalar/DivRemPairs.cpp \
llvm/lib/Transforms/Scalar/EarlyCSE.cpp \
llvm/lib/Transforms/Scalar/FlattenCFGPass.cpp \
llvm/lib/Transforms/Scalar/Float2Int.cpp \
llvm/lib/Transforms/Scalar/GVN.cpp \
llvm/lib/Transforms/Scalar/GVNHoist.cpp \
llvm/lib/Transforms/Scalar/GVNSink.cpp \
llvm/lib/Transforms/Scalar/GuardWidening.cpp \
llvm/lib/Transforms/Scalar/IVUsersPrinter.cpp \
llvm/lib/Transforms/Scalar/IndVarSimplify.cpp \
llvm/lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp \
llvm/lib/Transforms/Scalar/InferAddressSpaces.cpp \
llvm/lib/Transforms/Scalar/InstSimplifyPass.cpp \
llvm/lib/Transforms/Scalar/JumpThreading.cpp \
llvm/lib/Transforms/Scalar/LICM.cpp \
llvm/lib/Transforms/Scalar/LoopAccessAnalysisPrinter.cpp \
llvm/lib/Transforms/Scalar/LoopDataPrefetch.cpp \
llvm/lib/Transforms/Scalar/LoopDeletion.cpp \
llvm/lib/Transforms/Scalar/LoopDistribute.cpp \
llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp \
llvm/lib/Transforms/Scalar/LoopInstSimplify.cpp \
llvm/lib/Transforms/Scalar/LoopInterchange.cpp \
llvm/lib/Transforms/Scalar/LoopLoadElimination.cpp \
llvm/lib/Transforms/Scalar/LoopPassManager.cpp \
llvm/lib/Transforms/Scalar/LoopPredication.cpp \
llvm/lib/Transforms/Scalar/LoopRerollPass.cpp \
llvm/lib/Transforms/Scalar/LoopRotation.cpp \
llvm/lib/Transforms/Scalar/LoopSimplifyCFG.cpp \
llvm/lib/Transforms/Scalar/LoopSink.cpp \
llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp \
llvm/lib/Transforms/Scalar/LoopUnrollAndJamPass.cpp \
llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp \
llvm/lib/Transforms/Scalar/LoopUnswitch.cpp \
llvm/lib/Transforms/Scalar/LoopVersioningLICM.cpp \
llvm/lib/Transforms/Scalar/LowerAtomic.cpp \
llvm/lib/Transforms/Scalar/LowerExpectIntrinsic.cpp \
llvm/lib/Transforms/Scalar/LowerGuardIntrinsic.cpp \
llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp \
llvm/lib/Transforms/Scalar/MergeICmps.cpp \
llvm/lib/Transforms/Scalar/MergedLoadStoreMotion.cpp \
llvm/lib/Transforms/Scalar/NaryReassociate.cpp \
llvm/lib/Transforms/Scalar/NewGVN.cpp \
llvm/lib/Transforms/Scalar/PartiallyInlineLibCalls.cpp \
llvm/lib/Transforms/Scalar/PlaceSafepoints.cpp \
llvm/lib/Transforms/Scalar/Reassociate.cpp \
llvm/lib/Transforms/Scalar/Reg2Mem.cpp \
llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp \
llvm/lib/Transforms/Scalar/SCCP.cpp \
llvm/lib/Transforms/Scalar/SROA.cpp \
llvm/lib/Transforms/Scalar/Scalar.cpp \
llvm/lib/Transforms/Scalar/Scalarizer.cpp \
llvm/lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp \
llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp \
llvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp \
llvm/lib/Transforms/Scalar/Sink.cpp \
llvm/lib/Transforms/Scalar/SpeculateAroundPHIs.cpp \
llvm/lib/Transforms/Scalar/SpeculativeExecution.cpp \
llvm/lib/Transforms/Scalar/StraightLineStrengthReduce.cpp \
llvm/lib/Transforms/Scalar/StructurizeCFG.cpp \
llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp \
llvm/lib/Transforms/Utils/ASanStackFrameLayout.cpp \
llvm/lib/Transforms/Utils/AddDiscriminators.cpp \
llvm/lib/Transforms/Utils/BasicBlockUtils.cpp \
llvm/lib/Transforms/Utils/BreakCriticalEdges.cpp \
llvm/lib/Transforms/Utils/BuildLibCalls.cpp \
llvm/lib/Transforms/Utils/BypassSlowDivision.cpp \
llvm/lib/Transforms/Utils/CallPromotionUtils.cpp \
llvm/lib/Transforms/Utils/CloneFunction.cpp \
llvm/lib/Transforms/Utils/CloneModule.cpp \
llvm/lib/Transforms/Utils/CodeExtractor.cpp \
llvm/lib/Transforms/Utils/CtorUtils.cpp \
llvm/lib/Transforms/Utils/DemoteRegToStack.cpp \
llvm/lib/Transforms/Utils/EntryExitInstrumenter.cpp \
llvm/lib/Transforms/Utils/EscapeEnumerator.cpp \
llvm/lib/Transforms/Utils/Evaluator.cpp \
llvm/lib/Transforms/Utils/FlattenCFG.cpp \
llvm/lib/Transforms/Utils/FunctionComparator.cpp \
llvm/lib/Transforms/Utils/FunctionImportUtils.cpp \
llvm/lib/Transforms/Utils/GlobalStatus.cpp \
llvm/lib/Transforms/Utils/ImportedFunctionsInliningStatistics.cpp \
llvm/lib/Transforms/Utils/InlineFunction.cpp \
llvm/lib/Transforms/Utils/InstructionNamer.cpp \
llvm/lib/Transforms/Utils/IntegerDivision.cpp \
llvm/lib/Transforms/Utils/LCSSA.cpp \
llvm/lib/Transforms/Utils/LibCallsShrinkWrap.cpp \
llvm/lib/Transforms/Utils/Local.cpp \
llvm/lib/Transforms/Utils/LoopRotationUtils.cpp \
llvm/lib/Transforms/Utils/LoopSimplify.cpp \
llvm/lib/Transforms/Utils/LoopUnroll.cpp \
llvm/lib/Transforms/Utils/LoopUnrollAndJam.cpp \
llvm/lib/Transforms/Utils/LoopUnrollPeel.cpp \
llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp \
llvm/lib/Transforms/Utils/LoopUtils.cpp \
llvm/lib/Transforms/Utils/LoopVersioning.cpp \
llvm/lib/Transforms/Utils/LowerInvoke.cpp \
llvm/lib/Transforms/Utils/LowerMemIntrinsics.cpp \
llvm/lib/Transforms/Utils/LowerSwitch.cpp \
llvm/lib/Transforms/Utils/Mem2Reg.cpp \
llvm/lib/Transforms/Utils/MetaRenamer.cpp \
llvm/lib/Transforms/Utils/ModuleUtils.cpp \
llvm/lib/Transforms/Utils/NameAnonGlobals.cpp \
llvm/lib/Transforms/Utils/OrderedInstructions.cpp \
llvm/lib/Transforms/Utils/PredicateInfo.cpp \
llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp \
llvm/lib/Transforms/Utils/SSAUpdater.cpp \
llvm/lib/Transforms/Utils/SSAUpdaterBulk.cpp \
llvm/lib/Transforms/Utils/SanitizerStats.cpp \
llvm/lib/Transforms/Utils/SimplifyCFG.cpp \
llvm/lib/Transforms/Utils/SimplifyIndVar.cpp \
llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp \
llvm/lib/Transforms/Utils/SplitModule.cpp \
llvm/lib/Transforms/Utils/StripGCRelocates.cpp \
llvm/lib/Transforms/Utils/StripNonLineTableDebugInfo.cpp \
llvm/lib/Transforms/Utils/SymbolRewriter.cpp \
llvm/lib/Transforms/Utils/UnifyFunctionExitNodes.cpp \
llvm/lib/Transforms/Utils/Utils.cpp \
llvm/lib/Transforms/Utils/VNCoercion.cpp \
llvm/lib/Transforms/Utils/ValueMapper.cpp
LOCAL_CFLAGS += \
-DLOG_TAG=\"libLLVM_swiftshader\" \
-Wall \
-Werror \
-Wno-implicit-exception-spec-mismatch \
-Wno-overloaded-virtual \
-Wno-undefined-var-template \
-Wno-unneeded-internal-declaration \
-Wno-unused-const-variable \
-Wno-unused-function \
-Wno-unused-local-typedef \
-Wno-unused-parameter \
-Wno-unused-private-field \
-Wno-unused-variable \
-Wno-unknown-warning-option
ifneq (16,${PLATFORM_SDK_VERSION})
LOCAL_CFLAGS += -Xclang -fuse-init-array
else
LOCAL_CFLAGS += -D__STDC_INT64__
endif
ifeq (19,${PLATFORM_SDK_VERSION})
# The compiler that shipped with K had false positives for missing sentinels
LOCAL_CFLAGS += -Wno-sentinel
endif
LOCAL_CFLAGS += -Os
LOCAL_CFLAGS += -fomit-frame-pointer -ffunction-sections -fdata-sections
LOCAL_CFLAGS += -fno-operator-names -msse2 -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS
LOCAL_CFLAGS += -DANDROID_PLATFORM_SDK_VERSION=$(PLATFORM_SDK_VERSION)
LOCAL_CFLAGS += -U_FORTIFY_SOURCE
LOCAL_CFLAGS += -Wno-implicit-fallthrough
LOCAL_CPPFLAGS += -std=c++11
# Android's make system also uses NDEBUG, so we need to set/unset it forcefully
# Uncomment for debug ON:
#LOCAL_CFLAGS += -UNDEBUG -g -O1
LOCAL_C_INCLUDES += \
bionic \
$(LOCAL_PATH)/llvm/include \
$(LOCAL_PATH)/llvm/lib/Target/X86 \
$(LOCAL_PATH)/llvm/lib/Target/AArch64 \
$(LOCAL_PATH)/llvm/lib/Target/ARM \
$(LOCAL_PATH)/llvm/lib/Target/X86 \
$(LOCAL_PATH)/configs/android/include \
$(LOCAL_PATH)/configs/common/include \
$(LOCAL_PATH)/configs/common/lib/IR \
$(LOCAL_PATH)/configs/common/lib/Target/AArch64 \
$(LOCAL_PATH)/configs/common/lib/Target/ARM \
$(LOCAL_PATH)/configs/common/lib/Target/X86 \
$(LOCAL_PATH)/configs/common/lib/Transforms/InstCombine
# Marshmallow does not have stlport, but comes with libc++ by default
ifeq ($(shell test $(PLATFORM_SDK_VERSION) -lt 23 && echo PreMarshmallow),PreMarshmallow)
LOCAL_C_INCLUDES += external/stlport/stlport
endif
include $(BUILD_STATIC_LIBRARY)
//
// Copyright (C) 2018 The Android Open Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
cc_library_static {
name: "libsubzero",
defaults: [ "swiftshader_common_release", "swiftshader_subzero" ],
device_supported: false,
host_supported: true,
cflags: [
"-D_GNU_SOURCE",
"-D__STDC_LIMIT_MACROS",
"-D__STDC_CONSTANT_MACROS",
"-D__STDC_FORMAT_MACROS",
"-DLOG_TAG=\"libsubzero\"",
"-Wno-implicit-fallthrough",
"-Wno-unused-parameter",
"-Wno-undefined-var-template",
"-Wno-unused-lambda-capture",
],
cppflags: [
"-Wno-sign-promo",
"-Wno-non-virtual-dtor",
],
srcs: [
"src/IceAssembler.cpp",
"src/IceCfg.cpp",
"src/IceCfgNode.cpp",
"src/IceClFlags.cpp",
"src/IceELFObjectWriter.cpp",
"src/IceELFSection.cpp",
"src/IceFixups.cpp",
"src/IceGlobalContext.cpp",
"src/IceGlobalInits.cpp",
"src/IceInst.cpp",
"src/IceInstrumentation.cpp",
"src/IceIntrinsics.cpp",
"src/IceLiveness.cpp",
"src/IceLoopAnalyzer.cpp",
"src/IceMangling.cpp",
"src/IceMemory.cpp",
"src/IceOperand.cpp",
"src/IceRangeSpec.cpp",
"src/IceRegAlloc.cpp",
"src/IceRevision.cpp",
"src/IceRNG.cpp",
"src/IceSwitchLowering.cpp",
"src/IceTargetLowering.cpp",
"src/IceThreading.cpp",
"src/IceTimerTree.cpp",
"src/IceTypes.cpp",
"src/IceVariableSplitting.cpp",
],
arch: {
arm: {
cflags : [ "-DSZTARGET=ARM32" ],
srcs: [
"src/IceAssemblerARM32.cpp",
"src/IceTargetLoweringARM32.cpp",
"src/IceInstARM32.cpp",
],
},
mips: {
cflags : [ "-DSZTARGET=MIPS32" ],
srcs: [
"src/IceAssemblerMIPS32.cpp",
"src/IceTargetLoweringMIPS32.cpp",
"src/IceInstMIPS32.cpp",
],
},
x86: {
cflags : [ "-DSZTARGET=X8632" ],
srcs: [
"src/IceTargetLoweringX8632.cpp",
"src/IceInstX8632.cpp",
],
},
x86_64: {
cflags : [ "-DSZTARGET=X8664" ],
srcs: [
"src/IceTargetLoweringX8664.cpp",
"src/IceInstX8664.cpp",
],
},
},
// FIXME: The IceCfg.h interface needs to be exported correctly
// FIXME: Exporting the whole src tree is broken
export_include_dirs: [ "pnacl-llvm/include", "." ],
static_libs: [ "libLLVMSupport_subzero" ],
}
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