| /arkcompiler/runtime_core/static_core/libllvmbackend/transforms/passes/inline_ir/ |
| D | cleanup_inline_module.cpp | 2 * Copyright (c) 2023-2024 Huawei Device Co., Ltd. 7 * http://www.apache.org/licenses/LICENSE-2.0 24 #include <llvm/IR/Function.h> 25 #include <llvm/IR/Module.h> 26 #include <llvm/IR/ValueSymbolTable.h> 27 #include <llvm/Pass.h> 28 #include <llvm/Support/Debug.h> 29 #include <llvm/Transforms/IPO/FunctionImport.h> 30 #include <llvm/Transforms/Utils/FunctionImportUtils.h> 34 #define DEBUG_TYPE "cleanup-inline-module" [all …]
|
| /arkcompiler/runtime_core/static_core/irtoc/backend/ |
| D | options.yaml | 1 # Copyright (c) 2021-2024 Huawei Device Co., Ltd. 6 # http://www.apache.org/licenses/LICENSE-2.0 19 - name: irtoc-output 22 description: Output file name 23 - name: irtoc-output-llvm 26 description: Output file name for object file generated by llvm 27 - name: irtoc-llvm-stats 31 - none 32 - short 33 - full [all …]
|
| D | CMakeLists.txt | 1 # Copyright (c) 2021-2024 Huawei Device Co., Ltd. 6 # http://www.apache.org/licenses/LICENSE-2.0 43 …les_properties(function.cpp compilation.cpp dwarf_builder.cpp PROPERTIES COMPILE_FLAGS -Wno-shadow) 57 # TARGET_NAME - name of the target, that will generate object file. Thereby user can make depende… 58 # INPUT_FILES - input Irtoc scripts, usually it is files from `irtoc/scripts` folder. 59 # TARGET_VARIABLE - name of a variable, which will hold name of the generated object file, so the… 61 # TARGET_VARIABLE_LLVM - name of a variable, which will hold name of the object file generated by… 63 # LLVM_BACKEND_INLINE_MODULE_FILES - a list of LLVM IR bitcode module files for inlining 64 # SKIP_VALIDATION - skip validation process (necessary for LLVM FastPath compilation) 81 IR_API ir-constructor [all …]
|
| /arkcompiler/runtime_core/static_core/libllvmbackend/object_code/ |
| D | created_object_file.cpp | 2 * Copyright (c) 2023-2024 Huawei Device Co., Ltd. 7 * http://www.apache.org/licenses/LICENSE-2.0 20 #include <llvm/Support/Debug.h> 21 #include <llvm/Support/FileSystem.h> 23 #define DEBUG_TYPE "created-object-file" 27 CreatedObjectFile::CreatedObjectFile(std::unique_ptr<llvm::MemoryBuffer> objectFileBuffer, in CreatedObjectFile() 28 std::unique_ptr<llvm::object::ObjectFile> objectFile) in CreatedObjectFile() 34 for (auto section : objectFile_->sections()) { in CreatedObjectFile() 40 llvm::Expected<std::unique_ptr<CreatedObjectFile>> CreatedObjectFile::CopyOf(llvm::MemoryBufferRef … in CopyOf() 42 auto copy = llvm::MemoryBuffer::getMemBufferCopy(objectFileBuffer.getBuffer()); in CopyOf() [all …]
|
| D | created_object_file.h | 2 * Copyright (c) 2023-2024 Huawei Device Co., Ltd. 7 * http://www.apache.org/licenses/LICENSE-2.0 19 #include <llvm/Object/ObjectFile.h> 26 constexpr llvm::StringRef RO_DATA_SECTION_PREFIX {".rodata"}; 27 constexpr llvm::StringRef TEXT_SECTION_PREFIX {".text."}; 28 constexpr llvm::StringRef AOT_GOT_SECTION {".aot_got"}; 29 constexpr llvm::StringRef RELA_LLVM_STACKMAPS_SECTION {".rela.llvm_stackmaps"}; 74 …static llvm::Expected<std::unique_ptr<CreatedObjectFile>> CopyOf(llvm::MemoryBufferRef objectFileB… 76 explicit CreatedObjectFile(std::unique_ptr<llvm::MemoryBuffer> objectFileBuffer, 77 std::unique_ptr<llvm::object::ObjectFile> objectFile); [all …]
|
| /arkcompiler/runtime_core/static_core/ |
| D | README.md | 5 `scripts/deps-lists` files. These packages can be installed either manually or by running 9 $ sudo ./scripts/install-deps-ubuntu 15 $ sudo ./scripts/install-deps-ubuntu --help 21 $ sudo ./scripts/install-deps-ubuntu -i=dev 24 If you want additionally to install Python dependencies for running tests add a parameter `-i=test`: 27 $ sudo ./scripts/install-deps-ubuntu -i=dev -i=test 29 It creates a virtual environment .venv-panda in your home directory with all required dependencies. 30 … Python scripts can activate this environment. If you already have run with the parameter `-i=test` 38 $ ./scripts/install-third-party --force-clone 46 $ mkdir panda-build [all …]
|
| D | ark_config.gni | 1 # Copyright (c) 2021-2024 Huawei Device Co., Ltd. 6 # http://www.apache.org/licenses/LICENSE-2.0 108 "LLVM Irtoc Interpreter requires is_llvmbackend=true") 110 "LLVM Fastpath compilation feature requires is_llvmbackend=true") 112 "LLVM AOT compilation feature requires is_llvmbackend=true") 115 "LLVM Fastpath compilation available only for arm64 target") 168 # data -- a list of data sources, YAML files 169 # template_file -- template full name 170 # output_file -- output file full name 171 # api -- a list of Ruby scripts that provide data-querying API for templates [all …]
|
| /arkcompiler/runtime_core/static_core/libllvmbackend/ |
| D | llvm_irtoc_compiler.cpp | 2 * Copyright (c) 2023-2024 Huawei Device Co., Ltd. 7 * http://www.apache.org/licenses/LICENSE-2.0 33 #include <llvm/Bitcode/BitcodeReader.h> 34 #include <llvm/CodeGen/MachineFunctionPass.h> 35 #include <llvm/CodeGen/Passes.h> 37 #include <llvm/Pass.h> 38 #include <llvm/Support/FileSystem.h> 53 methods_(allocator->Adapter()), in LLVMIrtocCompiler() 60 // clang-format off in LLVMIrtocCompiler() 63 … .SetOptLevel(static_cast<llvm::CodeGenOpt::Level>(llvmCompilerOptions.optlevel)) in LLVMIrtocCompiler() [all …]
|
| D | llvmbackend.yaml | 1 # Copyright (c) 2023-2024 Huawei Device Co., Ltd. 6 # http://www.apache.org/licenses/LICENSE-2.0 15 name: llvm 17 description: LLVM AOT compiler for panda 20 - name: llvm-allow-breakage 23 description: Skip errors during LLVM IR generation 24 - name: llvm-fallback 28 - name: llvm-inlining 33 --compiler-inlining which in turn can be overridden by passing this 35 - name: llvm-pre-opt [all …]
|
| D | llvm_irtoc_compiler.h | 2 * Copyright (c) 2023-2024 Huawei Device Co., Ltd. 7 * http://www.apache.org/licenses/LICENSE-2.0 28 #include <llvm/Support/Error.h> 37 // NOLINTNEXTLINE(fuchsia-multiple-inheritance) 61 void WriteObjectFile(std::string_view output) override; 77 llvm::ExitOnError exitOnErr_; 80 std::unique_ptr<llvm::Module> module_; 88 std::unique_ptr<llvm::TargetMachine> targetMachine_ {nullptr};
|
| /arkcompiler/runtime_core/static_core/plugins/ets/tests/ |
| D | CMakeLists.txt | 1 # Copyright (c) 2021-2024 Huawei Device Co., Ltd. 6 # http://www.apache.org/licenses/LICENSE-2.0 77 set(FIRST_ABC_APP_TARGET ${TARGET}-${SRC_FNAME}-0-ets-es2panda) 81 set(ABC_APP_TARGET ${TARGET}-${SRC_FNAME}-${i}-ets-es2panda) 90 COMMAND bash -c "diff ${APP_FILE_OUTPUT} ${first}" 110 set(ABC_TARGET ${TARGET}-ets-es2panda) 114 --boot-panda-files=${PANDA_BINARY_ROOT}/plugins/ets/etsstdlib.abc 115 --load-runtimes=ets 137 set(OUTPUT_EXPORT_ABC ${WORK_DIR}/${SRC_EXPORT_FNAME}-${INTERPRETER_TYPE}.abc) 138 set(ABC_EXPORT_TARGET ${TARGET}-export-ets-es2panda_${COUNTER}) [all …]
|
| /arkcompiler/runtime_core/static_core/irtoc/lang/ |
| D | irtoc.rb | 3 # Copyright (c) 2021-2024 Huawei Device Co., Ltd. 8 # http://www.apache.org/licenses/LICENSE-2.0 23 require_relative 'output' 41 #include "runtime/mem/gc/g1/g1-allocator.h" 48 // NOLINTBEGIN(readability-identifier-naming) 53 // NOLINTEND(readability-identifier-naming) 101 raise "Macro can't start with capital letter" if name.to_s.start_with? /[A-Z]/ 107 raise "Macro can't start with capital letter" if name.to_s.start_with? /[A-Z]/ 112 …if args.size != block.arity && block.arity >= 0 || args.size < -(block.arity + 1) && block.arity <… 144 output = "" [all …]
|
| /arkcompiler/runtime_core/static_core/compiler/docs/ |
| D | paoc.md | 4 There are four [modes](#--paoc-mode) of `paoc`: 5 1. `AOT-mode` (default) - compile the files using Ark AOT Compiler and produce an executable; 6 1. `LLVM-mode` - compile the files using LLVM AOT Compiler and produce an executable; 7 … `JIT-mode` - only run compiler (IR builder, optimizations) without generating an executable. This… 8 …1. `OSR-mode` - similiar to `JIT-mode`. Takes into account differences of [OSR](../../docs/on-stac… 12 …l compiler options are applicable, e. g. `--compiler-regex`, `--compiler-non-optimizing` or `--com… 16 #### `--paoc-panda-files` 18 - Comma-separated list of panda files to compile. 21 #### `--compiler-ignore-failures` 23 - A boolean option that allows to continue the compilation if some of the methods are failed to com… [all …]
|
| /arkcompiler/runtime_core/static_core/compiler/tools/paoc/ |
| D | paoc.yaml | 1 # Copyright (c) 2021-2024 Huawei Device Co., Ltd. 6 # http://www.apache.org/licenses/LICENSE-2.0 20 - name: paoc-panda-files 26 - name: paoc-location 31 - name: paoc-boot-location 36 - name: paoc-skip-until 41 - name: paoc-compile-until 46 - name: paoc-mode 50 - aot 51 - llvm [all …]
|
| /arkcompiler/toolchain/build/toolchain/ |
| D | toolchain.gni | 6 # http://www.apache.org/licenses/LICENSE-2.0 14 # Toolchain-related configuration that may be needed outside the context of the 21 # in the environment, we use the revision in the llvm repo to determine 22 # the CLANG_REVISION to use, instead of the version hard-coded into 44 # Clang compiler version. Clang files are placed at version-dependent paths. 87 stamp_description = "STAMP {{output}}" 88 copy_description = "COPY {{source}} {{output}}" 92 stamp_command = "cmd /c type nul > \"{{output}}\"" 94 "$python_path $_tool_wrapper_path recursive-mirror {{source}} {{output}}" 96 stamp_command = "touch {{output}}" [all …]
|
| D | gcc_toolchain.gni | 2 # -*- coding: utf-8 -*- 8 # http://www.apache.org/licenses/LICENSE-2.0 35 rebuild_string = "-D" + invoker.rebuild_define 146 lib_switch = "-l" 147 lib_dir_switch = "-L" 153 depfile = "{{output}}.d" 154 command = "$cc" + " -MMD" + " -MF" + " $depfile" + " ${rebuild_string}" + 157 " -c {{source}}" + " -o {{output}}" 159 description = "CC {{output}}" 164 depfile = "{{output}}.d" [all …]
|
| D | clang_static_analyzer_wrapper.py | 2 # -*- coding: utf-8 -*- 8 # http://www.apache.org/licenses/LICENSE-2.0 27 '--analyze', 32 '-fdiagnostics-show-option', 33 '-analyzer-checker=cplusplus', 34 '-analyzer-opt-analyze-nested-blocks', 35 '-analyzer-eagerly-assume', 36 '-analyzer-output=text', 37 '-analyzer-config', 38 'suppress-c++-stdlib=true', [all …]
|
| /arkcompiler/runtime_core/static_core/irtoc/ |
| D | BUILD.gn | 1 # Copyright (c) 2021-2024 Huawei Device Co., Ltd. 6 # http://www.apache.org/licenses/LICENSE-2.0 28 "-isystem", 69 "--input", 71 "--output", 73 "--ark_source_dir", 75 "--isa", 78 "--arch", 80 "--ir-api", 81 "ir-constructor", [all …]
|
| /arkcompiler/ets_runtime/test/ |
| D | test_helper.gni | 6 # http://www.apache.org/licenses/LICENSE-2.0 30 common_options += " --enable-force-gc=false" 61 "--script-file", 64 "--expect-output", 66 "--env-path", 75 rebase_path("//prebuilts/clang/ohos/linux-x86_64/llvm/lib/"), 76 "--timeout-limit", 105 "--script-file", 109 "--expect-output", 111 "--clang-lib-path", [all …]
|
| /arkcompiler/runtime_core/libabckit/scripts/ |
| D | self-check.sh | 7 # http://www.apache.org/licenses/LICENSE-2.0 15 set -x 16 set -e 17 set -o pipefail 25 echo "Usage: self-check.sh [options] [mode] --dir=<ohos_dir> " 27 echo " <ohos_dir> -- path to OHOS root " 29 echo " -s, --sanitize build with sanitizers " 30 echo " -c, --coverage collect code coverage " 33 echo " -h, --help print help text " 34 set -x [all …]
|
| /arkcompiler/runtime_core/static_core/tests/checked/ |
| D | checker.rb | 2 # Copyright (c) 2021-2024 Huawei Device Co., Ltd. 7 # http://www.apache.org/licenses/LICENSE-2.0 25 opts.on('--run-prefix=PREFIX', 'Prefix that will be inserted before panda run command') do |v| 28 opts.on('--source=FILE', 'Path to source file') 29 opts.on('--test-file=FILE', 'Path to test file') do |v| 32 opts.on('--panda=PANDA', 'Path to panda') 33 opts.on('--paoc=PAOC', 'Path to paoc') do |v| 36 opts.on('--frontend=FRONTEND', 'Path to frontend binary') 37 opts.on('--panda-options=OPTIONS', 'Default options for panda run') do |v| 40 opts.on('--paoc-options=OPTIONS', 'Default options for paoc run') do |v| [all …]
|
| /arkcompiler/ets_runtime/ecmascript/compiler/ |
| D | BUILD.gn | 6 # http://www.apache.org/licenses/LICENSE-2.0 40 cflags_cc = [ "-Wno-gnu-zero-variadic-macro-arguments" ] 105 "codegen/llvm/aarch64/aarch64_builder.cpp", 106 "codegen/llvm/llvm_codegen.cpp", 107 "codegen/llvm/llvm_ir_builder.cpp", 108 "codegen/llvm/x64/x64_builder.cpp", 195 cflags_c = [ "-DIS_RELEASE_VERSION" ] 196 cflags_cc = [ "-DIS_RELEASE_VERSION" ] 206 "msvcrt-os", 247 cflags_cc = [ "-DCOMPILE_MAPLE" ] [all …]
|
| /arkcompiler/toolchain/test/ |
| D | test_helper.gni | 6 # http://www.apache.org/licenses/LICENSE-2.0 52 "--script-file", 55 "--expect-output", 57 "--env-path", 70 rebase_path("//prebuilts/clang/ohos/linux-x86_64/llvm/lib/"), 71 "--timeout-limit", 100 "--script-file", 104 "--expect-output", 106 "--clang-lib-path", 107 rebase_path("${clang_base_path}/lib/${musl_arch}-linux-ohos", [all …]
|
| /arkcompiler/runtime_core/static_core/plugins/ets/tests/micro-benchmarks/ |
| D | CMakeLists.txt | 1 # Copyright (c) 2021-2024 Huawei Device Co., Ltd. 6 # http://www.apache.org/licenses/LICENSE-2.0 19 add_custom_target(ets_microbenchmarks COMMENT "Running ets micro-benchmarks") 29 list(APPEND INTERPRETER_ARGUMENTS_LIST "llvm") 33 set(script_dir "${PANDA_ROOT}/plugins/ets/tests/scripts/micro-benchmarks") 48 …set(timeout_prefix "timeout --preserve-status --signal=${timeout_signal} --kill-after=10s ${benchm… 49 set(timeout_suffix "|| [ `expr \$? % 128` -eq ${timeout_signal} ]") 61 …python3 run_micro_benchmarks.py --bindir ${CMAKE_BINARY_DIR}/bin --interpreter-type=${int_arg} --m… 66 file(GENERATE OUTPUT ${launch_file} CONTENT "${launcher}")
|
| /arkcompiler/runtime_core/static_core/runtime/asm_defines/ |
| D | CMakeLists.txt | 1 # Copyright (c) 2021-2024 Huawei Device Co., Ltd. 6 # http://www.apache.org/licenses/LICENSE-2.0 64 # We have to disable LTO, because it generates llvm IR instead of assembly for '-S' option. 71 # (-fno-lto doesn't work because compilation fails with inappropriate regalloc) 72 string(REPLACE "-mllvm -regalloc=${PANDA_LLVM_REGALLOC}" "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS}) 73 string(REPLACE "-flto=thin" "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS}) 74 panda_target_compile_options(asm_defines PUBLIC "-Wno-attributes") 75 panda_target_compile_options(asm_defines PUBLIC "-Wno-invalid-offsetof") 76 panda_target_compile_options(asm_defines PUBLIC "-S") 79 panda_target_compile_options(asm_defines PUBLIC "-Wno-inconsistent-dllimport") [all …]
|