[clang] [llvm] [Clang-Repl] Add support for out-of-process execution. (PR #110418)
llvm-ci wrote: LLVM Buildbot has detected a new failure on builder `sanitizer-aarch64-linux-bootstrap-msan` running on `sanitizer-buildbot10` while building `clang` at step 2 "annotate". Full details are available at: https://lab.llvm.org/buildbot/#/builders/94/builds/2344 Here is the relevant piece of the build log for the reference ``` Step 2 (annotate) failure: 'python ../sanitizer_buildbot/sanitizers/zorg/buildbot/builders/sanitizers/buildbot_selector.py' (failure) ... llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using lld-link: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/bin/lld-link llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using ld64.lld: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/bin/ld64.lld llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using wasm-ld: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/bin/wasm-ld llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using ld.lld: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/bin/ld.lld llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using lld-link: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/bin/lld-link llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using ld64.lld: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/bin/ld64.lld llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using wasm-ld: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/bin/wasm-ld llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/llvm/utils/lit/lit/main.py:72: note: The test suite configuration requested an individual test timeout of 0 seconds but a timeout of 900 seconds was requested on the command line. Forcing timeout to be 900 seconds. -- Testing: 83686 tests, 48 workers -- Testing: 0.. 10 FAIL: Clang :: Interpreter/out-of-process.cpp (12607 of 83686) TEST 'Clang :: Interpreter/out-of-process.cpp' FAILED Exit Code: 2 Command Output (stderr): -- RUN: at line 3: cat /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/clang/test/Interpreter/out-of-process.cpp | /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/bin/clang-repl -oop-executor -orc-runtime | /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/bin/FileCheck /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/clang/test/Interpreter/out-of-process.cpp + /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/bin/FileCheck /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/clang/test/Interpreter/out-of-process.cpp + /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/bin/clang-repl -oop-executor -orc-runtime + cat /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/clang/test/Interpreter/out-of-process.cpp clang-repl: No such file or directory FileCheck error: '' is empty. FileCheck command line: /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm_build_msan/bin/FileCheck /home/b/sanitizer-aarch64-linux-bootstrap-msan/build/llvm-project/clang/test/Interpreter/out-of-process.cpp -- Testing: 0.. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90.. Slowest Tests: -- 177.25s: Clang :: Analysis/runtime-regression.c 175.74s: LLVM :: CodeGen/AMDGPU/memintrinsic-unroll.ll 150.37s: Clang :: CodeGen/X86/rot-intrinsics.c 143.15s: Clang :: CodeGen/X86/avx-builtins.c 136.93s: Clang :: CodeGen/X86/sse2-builtins.c 132.16s: Clang :: CodeGen/aarch64-sve-intrinsics/acle_sve_reinterpret.c 128.50s: LLVM :: CodeGen/AMDGPU/sched-group-barrier-pipeline-solver.mir 122.89s: Clang :: CodeGen/aarch64-sve-intrinsics/acle_sve_reinterpret-bfloat.c 107.64s: Clang :: CodeGen/X86/mmx-builtins.c 104.90s: Clang :: CodeGen/X86/avx2-builtins.c 104.67s: Clang :: CodeGen/X86/x86_64-xsave.c 102.65s: Clang :: CodeGen/X86/sse-builtins-constrained.c 101.98s: Clang :: CodeGen/X86/fma-builtins-constrained.c 101.72s: Clang :: Headers/arm-neon-header.c 100.65s: Clang :: CodeGen/X86/sse42-builtins.c 100.28s: Clang :: CodeGen/X86/sse41-builtins.c 87.49s: Clang :: CodeGen/X86/avx512f-builtins.c 82.29s: Clang :: CodeGen/X86/x86_32-xsave.c 77.73s: Clang :: CodeGen/PowerPC/ppc-smmintrin.c Step 10 (stage2/msan check) failure: stage2/msan check (failure) ... llvm-lit: /home/b/
[clang] [llvm] [Clang-Repl] Add support for out-of-process execution. (PR #110418)
llvm-ci wrote: LLVM Buildbot has detected a new failure on builder `clang-with-lto-ubuntu` running on `as-worker-91` while building `clang` at step 7 "test-stage1-compiler". Full details are available at: https://lab.llvm.org/buildbot/#/builders/49/builds/796 Here is the relevant piece of the build log for the reference ``` Step 7 (test-stage1-compiler) failure: build (failure) ... llvm-lit: /home/buildbot/as-worker-91/clang-with-lto-ubuntu/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using ld64.lld: /home/buildbot/as-worker-91/clang-with-lto-ubuntu/build/stage1/bin/ld64.lld llvm-lit: /home/buildbot/as-worker-91/clang-with-lto-ubuntu/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using wasm-ld: /home/buildbot/as-worker-91/clang-with-lto-ubuntu/build/stage1/bin/wasm-ld llvm-lit: /home/buildbot/as-worker-91/clang-with-lto-ubuntu/build/stage1/utils/lit/tests/lit.cfg:111: warning: Setting a timeout per test not supported. Requires the Python psutil module but it could not be found. Try installing it via pip or via your operating system's package manager. Some tests will be skipped and the --timeout command line argument will not work. llvm-lit: /home/buildbot/as-worker-91/clang-with-lto-ubuntu/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using ld.lld: /home/buildbot/as-worker-91/clang-with-lto-ubuntu/build/stage1/bin/ld.lld llvm-lit: /home/buildbot/as-worker-91/clang-with-lto-ubuntu/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using lld-link: /home/buildbot/as-worker-91/clang-with-lto-ubuntu/build/stage1/bin/lld-link llvm-lit: /home/buildbot/as-worker-91/clang-with-lto-ubuntu/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using ld64.lld: /home/buildbot/as-worker-91/clang-with-lto-ubuntu/build/stage1/bin/ld64.lld llvm-lit: /home/buildbot/as-worker-91/clang-with-lto-ubuntu/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using wasm-ld: /home/buildbot/as-worker-91/clang-with-lto-ubuntu/build/stage1/bin/wasm-ld -- Testing: 81948 tests, 72 workers -- Testing: 0.. 10 FAIL: Clang :: Interpreter/out-of-process.cpp (12594 of 81948) TEST 'Clang :: Interpreter/out-of-process.cpp' FAILED Exit Code: 2 Command Output (stderr): -- RUN: at line 3: cat /home/buildbot/as-worker-91/clang-with-lto-ubuntu/llvm-project/clang/test/Interpreter/out-of-process.cpp | /home/buildbot/as-worker-91/clang-with-lto-ubuntu/build/stage1/bin/clang-repl -oop-executor -orc-runtime | /home/buildbot/as-worker-91/clang-with-lto-ubuntu/build/stage1/bin/FileCheck /home/buildbot/as-worker-91/clang-with-lto-ubuntu/llvm-project/clang/test/Interpreter/out-of-process.cpp + cat /home/buildbot/as-worker-91/clang-with-lto-ubuntu/llvm-project/clang/test/Interpreter/out-of-process.cpp + /home/buildbot/as-worker-91/clang-with-lto-ubuntu/build/stage1/bin/clang-repl -oop-executor -orc-runtime + /home/buildbot/as-worker-91/clang-with-lto-ubuntu/build/stage1/bin/FileCheck /home/buildbot/as-worker-91/clang-with-lto-ubuntu/llvm-project/clang/test/Interpreter/out-of-process.cpp clang-repl: No such file or directory FileCheck error: '' is empty. FileCheck command line: /home/buildbot/as-worker-91/clang-with-lto-ubuntu/build/stage1/bin/FileCheck /home/buildbot/as-worker-91/clang-with-lto-ubuntu/llvm-project/clang/test/Interpreter/out-of-process.cpp -- Testing: 0.. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90.. 1 warning(s) in tests Failed Tests (1): Clang :: Interpreter/out-of-process.cpp Testing Time: 214.51s Total Discovered Tests: 111470 Skipped : 24 (0.02%) Unsupported : 2735 (2.45%) Passed : 108526 (97.36%) Expectedly Failed:184 (0.17%) Failed : 1 (0.00%) FAILED: CMakeFiles/check-all /home/buildbot/as-worker-91/clang-with-lto-ubuntu/build/stage1/CMakeFiles/check-all cd /home/buildbot/as-worker-91/clang-with-lto-ubuntu/build/stage1 && /usr/bin/python3.10 /home/buildbot/as-worker-91/clang-with-lto-ubuntu/build/stage1/./bin/llvm-lit -sv --param USE_Z3_SOLVER=0 /home/buildbot/as-worker-91/clang-with-lto-ubuntu/build/stage1/utils/mlgo-utils /home/buildbot/as-worker-91/clang-with-lto-ubuntu/build/stage1/tools/lld/test /home/buildbot/as-worker-91/clang-with-lto-ubuntu/build/stage1/tools/clang/test /home/buildbot/as-worker-91/clang-with-lto-ubuntu/build/stage1/utils/lit /home/buildbot/as-worker-91/clang-with-lto-ubuntu/build/stage1/test ninja: build stopped: subcommand failed. ``` https://github.com/llvm/llvm-project/pull/110418 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [Clang-Repl] Add support for out-of-process execution. (PR #110418)
llvm-ci wrote: LLVM Buildbot has detected a new failure on builder `clang-ppc64-aix` running on `aix-ppc64` while building `clang` at step 3 "clean-build-dir". Full details are available at: https://lab.llvm.org/buildbot/#/builders/64/builds/1436 Here is the relevant piece of the build log for the reference ``` Step 3 (clean-build-dir) failure: Delete failed. (failure) (timed out) Step 6 (test-build-unified-tree-check-all) failure: test (failure) TEST 'Clang :: ClangScanDeps/verbose.test' FAILED Exit Code: 1 Command Output (stderr): -- RUN: at line 1: rm -rf /home/powerllvm/powerllvm_env/aix-ppc64/clang-ppc64-aix/build/tools/clang/test/ClangScanDeps/Output/verbose.test.tmp + rm -rf /home/powerllvm/powerllvm_env/aix-ppc64/clang-ppc64-aix/build/tools/clang/test/ClangScanDeps/Output/verbose.test.tmp RUN: at line 2: split-file /home/powerllvm/powerllvm_env/aix-ppc64/clang-ppc64-aix/llvm-project/clang/test/ClangScanDeps/verbose.test /home/powerllvm/powerllvm_env/aix-ppc64/clang-ppc64-aix/build/tools/clang/test/ClangScanDeps/Output/verbose.test.tmp + split-file /home/powerllvm/powerllvm_env/aix-ppc64/clang-ppc64-aix/llvm-project/clang/test/ClangScanDeps/verbose.test /home/powerllvm/powerllvm_env/aix-ppc64/clang-ppc64-aix/build/tools/clang/test/ClangScanDeps/Output/verbose.test.tmp RUN: at line 3: sed -e "s|DIR|/home/powerllvm/powerllvm_env/aix-ppc64/clang-ppc64-aix/build/tools/clang/test/ClangScanDeps/Output/verbose.test.tmp|g" /home/powerllvm/powerllvm_env/aix-ppc64/clang-ppc64-aix/build/tools/clang/test/ClangScanDeps/Output/verbose.test.tmp/cdb.json.in > /home/powerllvm/powerllvm_env/aix-ppc64/clang-ppc64-aix/build/tools/clang/test/ClangScanDeps/Output/verbose.test.tmp/cdb.json + sed -e 's|DIR|/home/powerllvm/powerllvm_env/aix-ppc64/clang-ppc64-aix/build/tools/clang/test/ClangScanDeps/Output/verbose.test.tmp|g' /home/powerllvm/powerllvm_env/aix-ppc64/clang-ppc64-aix/build/tools/clang/test/ClangScanDeps/Output/verbose.test.tmp/cdb.json.in RUN: at line 5: /home/powerllvm/powerllvm_env/aix-ppc64/clang-ppc64-aix/build/bin/clang-scan-deps -compilation-database /home/powerllvm/powerllvm_env/aix-ppc64/clang-ppc64-aix/build/tools/clang/test/ClangScanDeps/Output/verbose.test.tmp/cdb.json -v -o /home/powerllvm/powerllvm_env/aix-ppc64/clang-ppc64-aix/build/tools/clang/test/ClangScanDeps/Output/verbose.test.tmp/result.json 2>&1 | /home/powerllvm/powerllvm_env/aix-ppc64/clang-ppc64-aix/build/bin/FileCheck /home/powerllvm/powerllvm_env/aix-ppc64/clang-ppc64-aix/llvm-project/clang/test/ClangScanDeps/verbose.test + /home/powerllvm/powerllvm_env/aix-ppc64/clang-ppc64-aix/build/bin/clang-scan-deps -compilation-database /home/powerllvm/powerllvm_env/aix-ppc64/clang-ppc64-aix/build/tools/clang/test/ClangScanDeps/Output/verbose.test.tmp/cdb.json -v -o /home/powerllvm/powerllvm_env/aix-ppc64/clang-ppc64-aix/build/tools/clang/test/ClangScanDeps/Output/verbose.test.tmp/result.json + /home/powerllvm/powerllvm_env/aix-ppc64/clang-ppc64-aix/build/bin/FileCheck /home/powerllvm/powerllvm_env/aix-ppc64/clang-ppc64-aix/llvm-project/clang/test/ClangScanDeps/verbose.test /home/powerllvm/powerllvm_env/aix-ppc64/clang-ppc64-aix/llvm-project/clang/test/ClangScanDeps/verbose.test:6:11: error: CHECK: expected string not found in input // CHECK: *** Virtual File System Stats: ^ :1:1: note: scanning from here PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace. ^ :1:8: note: possible intended match here PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace. ^ Input file: Check file: /home/powerllvm/powerllvm_env/aix-ppc64/clang-ppc64-aix/llvm-project/clang/test/ClangScanDeps/verbose.test -dump-input=help explains the following input dump. Input was: << 1: PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace. check:6'0 X~~~ error: no match found check:6'1? possible intended match >> -- ``` https://github.com/llvm/llvm-project/pull/110418 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [Clang-Repl] Add support for out-of-process execution. (PR #110418)
llvm-ci wrote: LLVM Buildbot has detected a new failure on builder `sanitizer-aarch64-linux-bootstrap-ubsan` running on `sanitizer-buildbot10` while building `clang` at step 2 "annotate". Full details are available at: https://lab.llvm.org/buildbot/#/builders/85/builds/2726 Here is the relevant piece of the build log for the reference ``` Step 2 (annotate) failure: 'python ../sanitizer_buildbot/sanitizers/zorg/buildbot/builders/sanitizers/buildbot_selector.py' (failure) ... llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using lld-link: /home/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm_build_ubsan/bin/lld-link llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using ld64.lld: /home/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm_build_ubsan/bin/ld64.lld llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using wasm-ld: /home/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm_build_ubsan/bin/wasm-ld llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using ld.lld: /home/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm_build_ubsan/bin/ld.lld llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using lld-link: /home/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm_build_ubsan/bin/lld-link llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using ld64.lld: /home/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm_build_ubsan/bin/ld64.lld llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using wasm-ld: /home/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm_build_ubsan/bin/wasm-ld llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/llvm/utils/lit/lit/main.py:72: note: The test suite configuration requested an individual test timeout of 0 seconds but a timeout of 900 seconds was requested on the command line. Forcing timeout to be 900 seconds. -- Testing: 83688 tests, 48 workers -- Testing: 0.. 10 FAIL: Clang :: Interpreter/out-of-process.cpp (12606 of 83688) TEST 'Clang :: Interpreter/out-of-process.cpp' FAILED Exit Code: 2 Command Output (stderr): -- RUN: at line 3: cat /home/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/clang/test/Interpreter/out-of-process.cpp | /home/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm_build_ubsan/bin/clang-repl -oop-executor -orc-runtime | /home/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm_build_ubsan/bin/FileCheck /home/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/clang/test/Interpreter/out-of-process.cpp + /home/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm_build_ubsan/bin/clang-repl -oop-executor -orc-runtime + cat /home/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/clang/test/Interpreter/out-of-process.cpp + /home/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm_build_ubsan/bin/FileCheck /home/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/clang/test/Interpreter/out-of-process.cpp clang-repl: No such file or directory FileCheck error: '' is empty. FileCheck command line: /home/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm_build_ubsan/bin/FileCheck /home/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/clang/test/Interpreter/out-of-process.cpp -- Testing: 0.. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90.. Slowest Tests: -- 101.62s: Clang :: Driver/fsanitize.c 85.30s: Clang :: Preprocessor/riscv-target-features.c 81.31s: Clang :: OpenMP/target_update_codegen.cpp 79.37s: Clang :: Driver/arm-cortex-cpus-2.c 79.34s: Clang :: Driver/arm-cortex-cpus-1.c 79.32s: LLVM :: CodeGen/AMDGPU/memintrinsic-unroll.ll 76.40s: Clang :: OpenMP/target_defaultmap_codegen_01.cpp 66.53s: Clang :: Preprocessor/arm-target-features.c 66.40s: Clang :: Preprocessor/aarch64-target-features.c 65.24s: Clang :: Analysis/a_flaky_crash.cpp 58.17s: Clang :: Preprocessor/predefined-arch-macros.c 57.91s: Clang :: CodeGen/aarch64-sve-intrinsics/acle_sve_reinterpret.c 56.35s: Clang :: Driver/clang_f_opts.c 51.07s: Clang :: Driver/linux-ld.c 49.04s: Clang :: Driver/cl-options.c 43.91s: Clang :: CodeGen/X86/avx-builtins.c 43.77s: Clang :: CodeGen/X86/rot-intrinsics.c 43.59s: LLVM :: CodeGen/RISCV/attributes.ll 43.51s: Clang :: Preprocessor/predefined-macros-no-warnings.c Step 10 (stage2/ubsan check) failure: stage2/ubsan check (failure) ... llvm-lit: /home/b/sanitizer-aarch64-linux-boot
[clang] [llvm] [Clang-Repl] Add support for out-of-process execution. (PR #110418)
llvm-ci wrote: LLVM Buildbot has detected a new failure on builder `clang-with-thin-lto-ubuntu` running on `as-worker-92` while building `clang` at step 7 "test-stage1-compiler". Full details are available at: https://lab.llvm.org/buildbot/#/builders/127/builds/1404 Here is the relevant piece of the build log for the reference ``` Step 7 (test-stage1-compiler) failure: build (failure) ... llvm-lit: /home/buildbot/as-worker-92/clang-with-thin-lto-ubuntu/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using ld64.lld: /home/buildbot/as-worker-92/clang-with-thin-lto-ubuntu/build/stage1/bin/ld64.lld llvm-lit: /home/buildbot/as-worker-92/clang-with-thin-lto-ubuntu/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using wasm-ld: /home/buildbot/as-worker-92/clang-with-thin-lto-ubuntu/build/stage1/bin/wasm-ld llvm-lit: /home/buildbot/as-worker-92/clang-with-thin-lto-ubuntu/build/stage1/utils/lit/tests/lit.cfg:111: warning: Setting a timeout per test not supported. Requires the Python psutil module but it could not be found. Try installing it via pip or via your operating system's package manager. Some tests will be skipped and the --timeout command line argument will not work. llvm-lit: /home/buildbot/as-worker-92/clang-with-thin-lto-ubuntu/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using ld.lld: /home/buildbot/as-worker-92/clang-with-thin-lto-ubuntu/build/stage1/bin/ld.lld llvm-lit: /home/buildbot/as-worker-92/clang-with-thin-lto-ubuntu/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using lld-link: /home/buildbot/as-worker-92/clang-with-thin-lto-ubuntu/build/stage1/bin/lld-link llvm-lit: /home/buildbot/as-worker-92/clang-with-thin-lto-ubuntu/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using ld64.lld: /home/buildbot/as-worker-92/clang-with-thin-lto-ubuntu/build/stage1/bin/ld64.lld llvm-lit: /home/buildbot/as-worker-92/clang-with-thin-lto-ubuntu/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using wasm-ld: /home/buildbot/as-worker-92/clang-with-thin-lto-ubuntu/build/stage1/bin/wasm-ld -- Testing: 81948 tests, 72 workers -- Testing: 0.. 10 FAIL: Clang :: Interpreter/out-of-process.cpp (12594 of 81948) TEST 'Clang :: Interpreter/out-of-process.cpp' FAILED Exit Code: 2 Command Output (stderr): -- RUN: at line 3: cat /home/buildbot/as-worker-92/clang-with-thin-lto-ubuntu/llvm-project/clang/test/Interpreter/out-of-process.cpp | /home/buildbot/as-worker-92/clang-with-thin-lto-ubuntu/build/stage1/bin/clang-repl -oop-executor -orc-runtime | /home/buildbot/as-worker-92/clang-with-thin-lto-ubuntu/build/stage1/bin/FileCheck /home/buildbot/as-worker-92/clang-with-thin-lto-ubuntu/llvm-project/clang/test/Interpreter/out-of-process.cpp + cat /home/buildbot/as-worker-92/clang-with-thin-lto-ubuntu/llvm-project/clang/test/Interpreter/out-of-process.cpp + /home/buildbot/as-worker-92/clang-with-thin-lto-ubuntu/build/stage1/bin/FileCheck /home/buildbot/as-worker-92/clang-with-thin-lto-ubuntu/llvm-project/clang/test/Interpreter/out-of-process.cpp + /home/buildbot/as-worker-92/clang-with-thin-lto-ubuntu/build/stage1/bin/clang-repl -oop-executor -orc-runtime clang-repl: No such file or directory FileCheck error: '' is empty. FileCheck command line: /home/buildbot/as-worker-92/clang-with-thin-lto-ubuntu/build/stage1/bin/FileCheck /home/buildbot/as-worker-92/clang-with-thin-lto-ubuntu/llvm-project/clang/test/Interpreter/out-of-process.cpp -- Testing: 0.. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90.. 1 warning(s) in tests Failed Tests (1): Clang :: Interpreter/out-of-process.cpp Testing Time: 210.09s Total Discovered Tests: 111470 Skipped : 24 (0.02%) Unsupported : 2735 (2.45%) Passed : 108526 (97.36%) Expectedly Failed:184 (0.17%) Failed : 1 (0.00%) FAILED: CMakeFiles/check-all /home/buildbot/as-worker-92/clang-with-thin-lto-ubuntu/build/stage1/CMakeFiles/check-all cd /home/buildbot/as-worker-92/clang-with-thin-lto-ubuntu/build/stage1 && /usr/bin/python3.10 /home/buildbot/as-worker-92/clang-with-thin-lto-ubuntu/build/stage1/./bin/llvm-lit -sv --param USE_Z3_SOLVER=0 /home/buildbot/as-worker-92/clang-with-thin-lto-ubuntu/build/stage1/utils/mlgo-utils /home/buildbot/as-worker-92/clang-with-thin-lto-ubuntu/build/stage1/tools/lld/test /home/buildbot/as-worker-92/clang-with-thin-lto-ubuntu/build/stage1/tools/clang/test /home/buildbot/as-worker-92/clang-with-thin-lto-ubuntu/build/stage1/utils/lit /home/buildbot/as-worker-92/clang-with-thin-lto-ubuntu/build/stage1/test ninja: build stopped: subcommand failed. ``` https://github.com/llvm/llvm-project/pull/110418 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [Clang-Repl] Add support for out-of-process execution. (PR #110418)
llvm-ci wrote: LLVM Buildbot has detected a new failure on builder `clang-s390x-linux-lnt` running on `systemz-1` while building `clang` at step 7 "ninja check 1". Full details are available at: https://lab.llvm.org/buildbot/#/builders/136/builds/1599 Here is the relevant piece of the build log for the reference ``` Step 7 (ninja check 1) failure: stage 1 checked (failure) TEST 'Clang :: Interpreter/out-of-process.cpp' FAILED Exit Code: 2 Command Output (stderr): -- RUN: at line 3: cat /home/uweigand/sandbox/buildbot/clang-s390x-linux-lnt/llvm/clang/test/Interpreter/out-of-process.cpp | /home/uweigand/sandbox/buildbot/clang-s390x-linux-lnt/stage1/bin/clang-repl -oop-executor -orc-runtime | /home/uweigand/sandbox/buildbot/clang-s390x-linux-lnt/stage1/bin/FileCheck /home/uweigand/sandbox/buildbot/clang-s390x-linux-lnt/llvm/clang/test/Interpreter/out-of-process.cpp + cat /home/uweigand/sandbox/buildbot/clang-s390x-linux-lnt/llvm/clang/test/Interpreter/out-of-process.cpp + /home/uweigand/sandbox/buildbot/clang-s390x-linux-lnt/stage1/bin/clang-repl -oop-executor -orc-runtime + /home/uweigand/sandbox/buildbot/clang-s390x-linux-lnt/stage1/bin/FileCheck /home/uweigand/sandbox/buildbot/clang-s390x-linux-lnt/llvm/clang/test/Interpreter/out-of-process.cpp clang-repl: ExecutorNativePlatform requires ObjectLinkingLayer FileCheck error: '' is empty. FileCheck command line: /home/uweigand/sandbox/buildbot/clang-s390x-linux-lnt/stage1/bin/FileCheck /home/uweigand/sandbox/buildbot/clang-s390x-linux-lnt/llvm/clang/test/Interpreter/out-of-process.cpp -- ``` https://github.com/llvm/llvm-project/pull/110418 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [Clang-Repl] Add support for out-of-process execution. (PR #110418)
llvm-ci wrote: LLVM Buildbot has detected a new failure on builder `sanitizer-aarch64-linux-bootstrap-hwasan` running on `sanitizer-buildbot12` while building `clang` at step 2 "annotate". Full details are available at: https://lab.llvm.org/buildbot/#/builders/55/builds/3504 Here is the relevant piece of the build log for the reference ``` Step 2 (annotate) failure: 'python ../sanitizer_buildbot/sanitizers/zorg/buildbot/builders/sanitizers/buildbot_selector.py' (failure) ... llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using lld-link: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/bin/lld-link llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using ld64.lld: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/bin/ld64.lld llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using wasm-ld: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/bin/wasm-ld llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using ld.lld: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/bin/ld.lld llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using lld-link: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/bin/lld-link llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using ld64.lld: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/bin/ld64.lld llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using wasm-ld: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/bin/wasm-ld llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/llvm/utils/lit/lit/main.py:72: note: The test suite configuration requested an individual test timeout of 0 seconds but a timeout of 900 seconds was requested on the command line. Forcing timeout to be 900 seconds. -- Testing: 83687 tests, 48 workers -- Testing: 0.. 10 FAIL: Clang :: Interpreter/out-of-process.cpp (12606 of 83687) TEST 'Clang :: Interpreter/out-of-process.cpp' FAILED Exit Code: 2 Command Output (stderr): -- RUN: at line 3: cat /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/clang/test/Interpreter/out-of-process.cpp | /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/bin/clang-repl -oop-executor -orc-runtime | /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/bin/FileCheck /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/clang/test/Interpreter/out-of-process.cpp + cat /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/clang/test/Interpreter/out-of-process.cpp + /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/bin/FileCheck /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/clang/test/Interpreter/out-of-process.cpp + /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/bin/clang-repl -oop-executor -orc-runtime clang-repl: No such file or directory FileCheck error: '' is empty. FileCheck command line: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/bin/FileCheck /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/clang/test/Interpreter/out-of-process.cpp -- Testing: 0.. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90. FAIL: lld :: ELF/allow-shlib-undefined.s (81406 of 83687) TEST 'lld :: ELF/allow-shlib-undefined.s' FAILED Exit Code: 1 Command Output (stderr): -- RUN: at line 3: rm -rf /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/tools/lld/test/ELF/Output/allow-shlib-undefined.s.tmp && split-file /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/lld/test/ELF/allow-shlib-undefined.s /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/tools/lld/test/ELF/Output/allow-shlib-undefined.s.tmp && cd /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/tools/lld/test/ELF/Output/allow-shlib-undefined.s.tmp + rm -rf /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/tools/lld/test/ELF/Output/allow-shlib-undefined.s.tmp + split-file /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/lld/test/ELF/allow-shlib-undefined.s /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/tools/lld/test/ELF/Output/allow-shlib-
[clang] [llvm] [Clang-Repl] Add support for out-of-process execution. (PR #110418)
llvm-ci wrote: LLVM Buildbot has detected a new failure on builder `reverse-iteration` running on `hexagon-build-03` while building `clang` at step 6 "check_all". Full details are available at: https://lab.llvm.org/buildbot/#/builders/110/builds/2271 Here is the relevant piece of the build log for the reference ``` Step 6 (check_all) failure: test (failure) TEST 'Clang :: Interpreter/out-of-process.cpp' FAILED Exit Code: 2 Command Output (stderr): -- RUN: at line 3: cat /local/mnt/workspace/bots/hexagon-build-03/reverse-iteration/llvm.src/clang/test/Interpreter/out-of-process.cpp | /local/mnt/workspace/bots/hexagon-build-03/reverse-iteration/llvm.obj/bin/clang-repl -oop-executor -orc-runtime | /local/mnt/workspace/bots/hexagon-build-03/reverse-iteration/llvm.obj/bin/FileCheck /local/mnt/workspace/bots/hexagon-build-03/reverse-iteration/llvm.src/clang/test/Interpreter/out-of-process.cpp + cat /local/mnt/workspace/bots/hexagon-build-03/reverse-iteration/llvm.src/clang/test/Interpreter/out-of-process.cpp + /local/mnt/workspace/bots/hexagon-build-03/reverse-iteration/llvm.obj/bin/clang-repl -oop-executor -orc-runtime + /local/mnt/workspace/bots/hexagon-build-03/reverse-iteration/llvm.obj/bin/FileCheck /local/mnt/workspace/bots/hexagon-build-03/reverse-iteration/llvm.src/clang/test/Interpreter/out-of-process.cpp clang-repl: No such file or directory FileCheck error: '' is empty. FileCheck command line: /local/mnt/workspace/bots/hexagon-build-03/reverse-iteration/llvm.obj/bin/FileCheck /local/mnt/workspace/bots/hexagon-build-03/reverse-iteration/llvm.src/clang/test/Interpreter/out-of-process.cpp -- ``` https://github.com/llvm/llvm-project/pull/110418 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [Clang-Repl] Add support for out-of-process execution. (PR #110418)
llvm-ci wrote: LLVM Buildbot has detected a new failure on builder `clang-x64-windows-msvc` running on `windows-gcebot2` while building `clang` at step 4 "annotate". Full details are available at: https://lab.llvm.org/buildbot/#/builders/63/builds/2548 Here is the relevant piece of the build log for the reference ``` Step 4 (annotate) failure: 'python ../llvm-zorg/zorg/buildbot/builders/annotated/clang-windows.py ...' (failure) ... [97/100] Linking CXX executable tools\clang\unittests\Tooling\ToolingTests.exe [98/100] Running the Clang regression tests llvm-lit.py: C:\b\slave\clang-x64-windows-msvc\llvm-project\llvm\utils\lit\lit\llvm\config.py:57: note: using lit tools: C:\Program Files\Git\usr\bin llvm-lit.py: C:\b\slave\clang-x64-windows-msvc\llvm-project\llvm\utils\lit\lit\llvm\config.py:506: note: using clang: c:\b\slave\clang-x64-windows-msvc\build\stage1\bin\clang.exe llvm-lit.py: C:\b\slave\clang-x64-windows-msvc\llvm-project\llvm\utils\lit\lit\llvm\config.py:506: note: using ld.lld: c:\b\slave\clang-x64-windows-msvc\build\stage1\bin\ld.lld.exe llvm-lit.py: C:\b\slave\clang-x64-windows-msvc\llvm-project\llvm\utils\lit\lit\llvm\config.py:506: note: using lld-link: c:\b\slave\clang-x64-windows-msvc\build\stage1\bin\lld-link.exe llvm-lit.py: C:\b\slave\clang-x64-windows-msvc\llvm-project\llvm\utils\lit\lit\llvm\config.py:506: note: using ld64.lld: c:\b\slave\clang-x64-windows-msvc\build\stage1\bin\ld64.lld.exe llvm-lit.py: C:\b\slave\clang-x64-windows-msvc\llvm-project\llvm\utils\lit\lit\llvm\config.py:506: note: using wasm-ld: c:\b\slave\clang-x64-windows-msvc\build\stage1\bin\wasm-ld.exe -- Testing: 20993 tests, 32 workers -- Testing: 0.. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90.. FAIL: Clang :: Interpreter/out-of-process.cpp (20993 of 20993) TEST 'Clang :: Interpreter/out-of-process.cpp' FAILED Exit Code: 2 Command Output (stdout): -- # RUN: at line 3 cat C:\b\slave\clang-x64-windows-msvc\llvm-project\clang\test\Interpreter\out-of-process.cpp | c:\b\slave\clang-x64-windows-msvc\build\stage1\bin\clang-repl.exe -oop-executor -orc-runtime | c:\b\slave\clang-x64-windows-msvc\build\stage1\bin\filecheck.exe C:\b\slave\clang-x64-windows-msvc\llvm-project\clang\test\Interpreter\out-of-process.cpp # executed command: cat 'C:\b\slave\clang-x64-windows-msvc\llvm-project\clang\test\Interpreter\out-of-process.cpp' # .---command stdout # | // REQUIRES: host-supports-jit # | # | // RUN: cat %s | clang-repl -oop-executor -orc-runtime | FileCheck %s # | # | extern "C" int printf(const char *, ...); # | # | int intVar = 0; # | double doubleVar = 3.14; # | %undo # | double doubleVar = 2.71; # | # | auto r1 = printf("intVar = %d\n", intVar); # | // CHECK: intVar = 0 # | auto r2 = printf("doubleVar = %.2f\n", doubleVar); # | // CHECK: doubleVar = 2.71 # | # | // Test redefinition with inline and static functions. # | int add(int a, int b, int c) { return a + b + c; } # | %undo // Revert to the initial version of add # | inline int add(int a, int b) { return a + b; } # | # | auto r3 = printf("add(1, 2) = %d\n", add(1, 2)); # | // CHECK-NEXT: add(1, 2) = 3 # | # | // Test inline and lambda functions with variations. # | inline int square(int x) { return x * x; } # | auto lambdaSquare = [](int x) { return x * x; }; # | auto lambdaMult = [](int a, int b) { return a * b; }; # | Step 8 (stage 1 check) failure: stage 1 check (failure) ... [97/100] Linking CXX executable tools\clang\unittests\Tooling\ToolingTests.exe [98/100] Running the Clang regression tests llvm-lit.py: C:\b\slave\clang-x64-windows-msvc\llvm-project\llvm\utils\lit\lit\llvm\config.py:57: note: using lit tools: C:\Program Files\Git\usr\bin llvm-lit.py: C:\b\slave\clang-x64-windows-msvc\llvm-project\llvm\utils\lit\lit\llvm\config.py:506: note: using clang: c:\b\slave\clang-x64-windows-msvc\build\stage1\bin\clang.exe llvm-lit.py: C:\b\slave\clang-x64-windows-msvc\llvm-project\llvm\utils\lit\lit\llvm\config.py:506: note: using ld.lld: c:\b\slave\clang-x64-windows-msvc\build\stage1\bin\ld.lld.exe llvm-lit.py: C:\b\slave\clang-x64-windows-msvc\llvm-project\llvm\utils\lit\lit\llvm\config.py:506: note: using lld-link: c:\b\slave\clang-x64-windows-msvc\build\stage1\bin\lld-link.exe llvm-lit.py: C:\b\slave\clang-x64-windows-msvc\llvm-project\llvm\utils\lit\lit\llvm\config.py:506: note: using ld64.lld: c:\b\slave\clang-x64-windows-msvc\build\stage1\bin\ld64.lld.exe llvm-lit.py: C:\b\slave\clang-x64-windows-msvc\llvm-project\llvm\utils\lit\lit\llvm\config.py:506: note: using wasm-ld: c:\b\slave\clang-x64-windows-msvc\build\stage1\bin\wasm-ld.exe -- Testing: 20993 tests, 32 workers -- Testing: 0.. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90.. FAIL: Clang :: Interpreter/out-of-process.cpp (20993 of 20993) TEST 'Clang :: Interpreter/out-of-process.cpp' FAILED Exit Code: 2 Command Output (stdout): -- # RUN: at line 3
[clang] [llvm] [Clang-Repl] Add support for out-of-process execution. (PR #110418)
llvm-ci wrote: LLVM Buildbot has detected a new failure on builder `clang-armv7-global-isel` running on `linaro-clang-armv7-global-isel` while building `clang` at step 7 "ninja check 1". Full details are available at: https://lab.llvm.org/buildbot/#/builders/39/builds/2785 Here is the relevant piece of the build log for the reference ``` Step 7 (ninja check 1) failure: stage 1 checked (failure) TEST 'Clang :: Interpreter/out-of-process.cpp' FAILED Exit Code: 2 Command Output (stderr): -- RUN: at line 3: cat /home/tcwg-buildbot/worker/clang-armv7-global-isel/llvm/clang/test/Interpreter/out-of-process.cpp | /home/tcwg-buildbot/worker/clang-armv7-global-isel/stage1/bin/clang-repl -oop-executor -orc-runtime | /home/tcwg-buildbot/worker/clang-armv7-global-isel/stage1/bin/FileCheck /home/tcwg-buildbot/worker/clang-armv7-global-isel/llvm/clang/test/Interpreter/out-of-process.cpp + /home/tcwg-buildbot/worker/clang-armv7-global-isel/stage1/bin/clang-repl -oop-executor -orc-runtime + /home/tcwg-buildbot/worker/clang-armv7-global-isel/stage1/bin/FileCheck /home/tcwg-buildbot/worker/clang-armv7-global-isel/llvm/clang/test/Interpreter/out-of-process.cpp + cat /home/tcwg-buildbot/worker/clang-armv7-global-isel/llvm/clang/test/Interpreter/out-of-process.cpp clang-repl: No such file or directory FileCheck error: '' is empty. FileCheck command line: /home/tcwg-buildbot/worker/clang-armv7-global-isel/stage1/bin/FileCheck /home/tcwg-buildbot/worker/clang-armv7-global-isel/llvm/clang/test/Interpreter/out-of-process.cpp -- ``` https://github.com/llvm/llvm-project/pull/110418 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [Clang-Repl] Add support for out-of-process execution. (PR #110418)
llvm-ci wrote: LLVM Buildbot has detected a new failure on builder `sanitizer-x86_64-linux-bootstrap-ubsan` running on `sanitizer-buildbot3` while building `clang` at step 2 "annotate". Full details are available at: https://lab.llvm.org/buildbot/#/builders/25/builds/4070 Here is the relevant piece of the build log for the reference ``` Step 2 (annotate) failure: 'python ../sanitizer_buildbot/sanitizers/zorg/buildbot/builders/sanitizers/buildbot_selector.py' (failure) ... llvm-lit: /home/b/sanitizer-x86_64-linux-bootstrap-ubsan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using lld-link: /home/b/sanitizer-x86_64-linux-bootstrap-ubsan/build/llvm_build_ubsan/bin/lld-link llvm-lit: /home/b/sanitizer-x86_64-linux-bootstrap-ubsan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using ld64.lld: /home/b/sanitizer-x86_64-linux-bootstrap-ubsan/build/llvm_build_ubsan/bin/ld64.lld llvm-lit: /home/b/sanitizer-x86_64-linux-bootstrap-ubsan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using wasm-ld: /home/b/sanitizer-x86_64-linux-bootstrap-ubsan/build/llvm_build_ubsan/bin/wasm-ld llvm-lit: /home/b/sanitizer-x86_64-linux-bootstrap-ubsan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using ld.lld: /home/b/sanitizer-x86_64-linux-bootstrap-ubsan/build/llvm_build_ubsan/bin/ld.lld llvm-lit: /home/b/sanitizer-x86_64-linux-bootstrap-ubsan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using lld-link: /home/b/sanitizer-x86_64-linux-bootstrap-ubsan/build/llvm_build_ubsan/bin/lld-link llvm-lit: /home/b/sanitizer-x86_64-linux-bootstrap-ubsan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using ld64.lld: /home/b/sanitizer-x86_64-linux-bootstrap-ubsan/build/llvm_build_ubsan/bin/ld64.lld llvm-lit: /home/b/sanitizer-x86_64-linux-bootstrap-ubsan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using wasm-ld: /home/b/sanitizer-x86_64-linux-bootstrap-ubsan/build/llvm_build_ubsan/bin/wasm-ld llvm-lit: /home/b/sanitizer-x86_64-linux-bootstrap-ubsan/build/llvm-project/llvm/utils/lit/lit/main.py:72: note: The test suite configuration requested an individual test timeout of 0 seconds but a timeout of 900 seconds was requested on the command line. Forcing timeout to be 900 seconds. -- Testing: 87080 tests, 88 workers -- Testing: 0.. 10 FAIL: Clang :: Interpreter/out-of-process.cpp (12572 of 87080) TEST 'Clang :: Interpreter/out-of-process.cpp' FAILED Exit Code: 2 Command Output (stderr): -- RUN: at line 3: cat /home/b/sanitizer-x86_64-linux-bootstrap-ubsan/build/llvm-project/clang/test/Interpreter/out-of-process.cpp | /home/b/sanitizer-x86_64-linux-bootstrap-ubsan/build/llvm_build_ubsan/bin/clang-repl -oop-executor -orc-runtime | /home/b/sanitizer-x86_64-linux-bootstrap-ubsan/build/llvm_build_ubsan/bin/FileCheck /home/b/sanitizer-x86_64-linux-bootstrap-ubsan/build/llvm-project/clang/test/Interpreter/out-of-process.cpp + /home/b/sanitizer-x86_64-linux-bootstrap-ubsan/build/llvm_build_ubsan/bin/clang-repl -oop-executor -orc-runtime + cat /home/b/sanitizer-x86_64-linux-bootstrap-ubsan/build/llvm-project/clang/test/Interpreter/out-of-process.cpp + /home/b/sanitizer-x86_64-linux-bootstrap-ubsan/build/llvm_build_ubsan/bin/FileCheck /home/b/sanitizer-x86_64-linux-bootstrap-ubsan/build/llvm-project/clang/test/Interpreter/out-of-process.cpp clang-repl: No such file or directory FileCheck error: '' is empty. FileCheck command line: /home/b/sanitizer-x86_64-linux-bootstrap-ubsan/build/llvm_build_ubsan/bin/FileCheck /home/b/sanitizer-x86_64-linux-bootstrap-ubsan/build/llvm-project/clang/test/Interpreter/out-of-process.cpp -- Testing: 0.. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90.. Slowest Tests: -- 89.94s: Clang :: Driver/fsanitize.c 73.41s: Clang :: Preprocessor/riscv-target-features.c 70.46s: Clang :: OpenMP/target_defaultmap_codegen_01.cpp 68.64s: Clang :: Driver/arm-cortex-cpus-2.c 66.59s: Clang :: Driver/arm-cortex-cpus-1.c 63.89s: Clang :: OpenMP/target_update_codegen.cpp 62.22s: LLVM :: CodeGen/AMDGPU/memintrinsic-unroll.ll 53.48s: Clang :: Preprocessor/aarch64-target-features.c 53.15s: Clang :: Preprocessor/arm-target-features.c 50.51s: Clang :: Analysis/a_flaky_crash.cpp 47.67s: Clang :: Preprocessor/predefined-arch-macros.c 44.53s: Clang :: Driver/linux-ld.c 44.05s: Clang :: Driver/clang_f_opts.c 42.05s: Clang :: Driver/x86-target-features.c 41.87s: LLVM :: CodeGen/AMDGPU/sched-group-barrier-pipeline-solver.mir 41.03s: Clang :: CodeGen/aarch64-sve-intrinsics/acle_sve_reinterpret.c 40.65s: Clang :: Analysis/runtime-regression.c 40.06s: Clang :: Driver/cl-options.c 36.26s: Clang :: Preprocessor/predefined-macros-no-warnings.c Step 10 (stage2/ubsan check) failure: stage2/ubsan check (failure) ... llvm-lit: /home/b/sanitizer-x86_64-linux-boo
[clang] [llvm] [Clang-Repl] Add support for out-of-process execution. (PR #110418)
llvm-ci wrote: LLVM Buildbot has detected a new failure on builder `clang-ppc64le-rhel` running on `ppc64le-clang-rhel-test` while building `clang` at step 7 "test-build-unified-tree-check-all". Full details are available at: https://lab.llvm.org/buildbot/#/builders/145/builds/3119 Here is the relevant piece of the build log for the reference ``` Step 7 (test-build-unified-tree-check-all) failure: test (failure) TEST 'Clang :: Interpreter/out-of-process.cpp' FAILED Exit Code: 2 Command Output (stderr): -- RUN: at line 3: cat /home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-rhel-test/clang-ppc64le-rhel/llvm-project/clang/test/Interpreter/out-of-process.cpp | /home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-rhel-test/clang-ppc64le-rhel/build/bin/clang-repl -oop-executor -orc-runtime | /home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-rhel-test/clang-ppc64le-rhel/build/bin/FileCheck /home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-rhel-test/clang-ppc64le-rhel/llvm-project/clang/test/Interpreter/out-of-process.cpp + cat /home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-rhel-test/clang-ppc64le-rhel/llvm-project/clang/test/Interpreter/out-of-process.cpp + /home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-rhel-test/clang-ppc64le-rhel/build/bin/clang-repl -oop-executor -orc-runtime + /home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-rhel-test/clang-ppc64le-rhel/build/bin/FileCheck /home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-rhel-test/clang-ppc64le-rhel/llvm-project/clang/test/Interpreter/out-of-process.cpp clang-repl: No such file or directory FileCheck error: '' is empty. FileCheck command line: /home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-rhel-test/clang-ppc64le-rhel/build/bin/FileCheck /home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-rhel-test/clang-ppc64le-rhel/llvm-project/clang/test/Interpreter/out-of-process.cpp -- ``` https://github.com/llvm/llvm-project/pull/110418 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [Clang-Repl] Add support for out-of-process execution. (PR #110418)
llvm-ci wrote: LLVM Buildbot has detected a new failure on builder `clang-aarch64-sve-vla-2stage` running on `linaro-g3-04` while building `clang` at step 12 "ninja check 2". Full details are available at: https://lab.llvm.org/buildbot/#/builders/41/builds/3377 Here is the relevant piece of the build log for the reference ``` Step 12 (ninja check 2) failure: stage 2 checked (failure) TEST 'Clang :: Interpreter/out-of-process.cpp' FAILED Exit Code: 2 Command Output (stderr): -- RUN: at line 3: cat /home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/llvm/clang/test/Interpreter/out-of-process.cpp | /home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/stage2/bin/clang-repl -oop-executor -orc-runtime | /home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/stage2/bin/FileCheck /home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/llvm/clang/test/Interpreter/out-of-process.cpp + cat /home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/llvm/clang/test/Interpreter/out-of-process.cpp + /home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/stage2/bin/clang-repl -oop-executor -orc-runtime + /home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/stage2/bin/FileCheck /home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/llvm/clang/test/Interpreter/out-of-process.cpp clang-repl: No such file or directory FileCheck error: '' is empty. FileCheck command line: /home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/stage2/bin/FileCheck /home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/llvm/clang/test/Interpreter/out-of-process.cpp -- ``` https://github.com/llvm/llvm-project/pull/110418 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [Clang-Repl] Add support for out-of-process execution. (PR #110418)
llvm-ci wrote: LLVM Buildbot has detected a new failure on builder `clang-aarch64-sve-vla` running on `linaro-g3-02` while building `clang` at step 7 "ninja check 1". Full details are available at: https://lab.llvm.org/buildbot/#/builders/17/builds/3853 Here is the relevant piece of the build log for the reference ``` Step 7 (ninja check 1) failure: stage 1 checked (failure) TEST 'Clang :: Interpreter/out-of-process.cpp' FAILED Exit Code: 2 Command Output (stderr): -- RUN: at line 3: cat /home/tcwg-buildbot/worker/clang-aarch64-sve-vla/llvm/clang/test/Interpreter/out-of-process.cpp | /home/tcwg-buildbot/worker/clang-aarch64-sve-vla/stage1/bin/clang-repl -oop-executor -orc-runtime | /home/tcwg-buildbot/worker/clang-aarch64-sve-vla/stage1/bin/FileCheck /home/tcwg-buildbot/worker/clang-aarch64-sve-vla/llvm/clang/test/Interpreter/out-of-process.cpp + cat /home/tcwg-buildbot/worker/clang-aarch64-sve-vla/llvm/clang/test/Interpreter/out-of-process.cpp + /home/tcwg-buildbot/worker/clang-aarch64-sve-vla/stage1/bin/clang-repl -oop-executor -orc-runtime + /home/tcwg-buildbot/worker/clang-aarch64-sve-vla/stage1/bin/FileCheck /home/tcwg-buildbot/worker/clang-aarch64-sve-vla/llvm/clang/test/Interpreter/out-of-process.cpp clang-repl: No such file or directory FileCheck error: '' is empty. FileCheck command line: /home/tcwg-buildbot/worker/clang-aarch64-sve-vla/stage1/bin/FileCheck /home/tcwg-buildbot/worker/clang-aarch64-sve-vla/llvm/clang/test/Interpreter/out-of-process.cpp -- ``` https://github.com/llvm/llvm-project/pull/110418 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [Clang-Repl] Add support for out-of-process execution. (PR #110418)
llvm-ci wrote: LLVM Buildbot has detected a new failure on builder `clang-aarch64-sve-vls` running on `linaro-g3-03` while building `clang` at step 7 "ninja check 1". Full details are available at: https://lab.llvm.org/buildbot/#/builders/143/builds/3388 Here is the relevant piece of the build log for the reference ``` Step 7 (ninja check 1) failure: stage 1 checked (failure) TEST 'Clang :: Interpreter/out-of-process.cpp' FAILED Exit Code: 2 Command Output (stderr): -- RUN: at line 3: cat /home/tcwg-buildbot/worker/clang-aarch64-sve-vls/llvm/clang/test/Interpreter/out-of-process.cpp | /home/tcwg-buildbot/worker/clang-aarch64-sve-vls/stage1/bin/clang-repl -oop-executor -orc-runtime | /home/tcwg-buildbot/worker/clang-aarch64-sve-vls/stage1/bin/FileCheck /home/tcwg-buildbot/worker/clang-aarch64-sve-vls/llvm/clang/test/Interpreter/out-of-process.cpp + /home/tcwg-buildbot/worker/clang-aarch64-sve-vls/stage1/bin/clang-repl -oop-executor -orc-runtime + cat /home/tcwg-buildbot/worker/clang-aarch64-sve-vls/llvm/clang/test/Interpreter/out-of-process.cpp + /home/tcwg-buildbot/worker/clang-aarch64-sve-vls/stage1/bin/FileCheck /home/tcwg-buildbot/worker/clang-aarch64-sve-vls/llvm/clang/test/Interpreter/out-of-process.cpp clang-repl: No such file or directory FileCheck error: '' is empty. FileCheck command line: /home/tcwg-buildbot/worker/clang-aarch64-sve-vls/stage1/bin/FileCheck /home/tcwg-buildbot/worker/clang-aarch64-sve-vls/llvm/clang/test/Interpreter/out-of-process.cpp -- ``` https://github.com/llvm/llvm-project/pull/110418 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [Clang-Repl] Add support for out-of-process execution. (PR #110418)
llvm-ci wrote: LLVM Buildbot has detected a new failure on builder `sanitizer-x86_64-linux-bootstrap-msan` running on `sanitizer-buildbot5` while building `clang` at step 2 "annotate". Full details are available at: https://lab.llvm.org/buildbot/#/builders/164/builds/4509 Here is the relevant piece of the build log for the reference ``` Step 2 (annotate) failure: 'python ../sanitizer_buildbot/sanitizers/zorg/buildbot/builders/sanitizers/buildbot_selector.py' (failure) ... llvm-lit: /home/b/sanitizer-x86_64-linux-bootstrap-msan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using lld-link: /home/b/sanitizer-x86_64-linux-bootstrap-msan/build/llvm_build_msan/bin/lld-link llvm-lit: /home/b/sanitizer-x86_64-linux-bootstrap-msan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using ld64.lld: /home/b/sanitizer-x86_64-linux-bootstrap-msan/build/llvm_build_msan/bin/ld64.lld llvm-lit: /home/b/sanitizer-x86_64-linux-bootstrap-msan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using wasm-ld: /home/b/sanitizer-x86_64-linux-bootstrap-msan/build/llvm_build_msan/bin/wasm-ld llvm-lit: /home/b/sanitizer-x86_64-linux-bootstrap-msan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using ld.lld: /home/b/sanitizer-x86_64-linux-bootstrap-msan/build/llvm_build_msan/bin/ld.lld llvm-lit: /home/b/sanitizer-x86_64-linux-bootstrap-msan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using lld-link: /home/b/sanitizer-x86_64-linux-bootstrap-msan/build/llvm_build_msan/bin/lld-link llvm-lit: /home/b/sanitizer-x86_64-linux-bootstrap-msan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using ld64.lld: /home/b/sanitizer-x86_64-linux-bootstrap-msan/build/llvm_build_msan/bin/ld64.lld llvm-lit: /home/b/sanitizer-x86_64-linux-bootstrap-msan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using wasm-ld: /home/b/sanitizer-x86_64-linux-bootstrap-msan/build/llvm_build_msan/bin/wasm-ld llvm-lit: /home/b/sanitizer-x86_64-linux-bootstrap-msan/build/llvm-project/llvm/utils/lit/lit/main.py:72: note: The test suite configuration requested an individual test timeout of 0 seconds but a timeout of 900 seconds was requested on the command line. Forcing timeout to be 900 seconds. -- Testing: 87077 tests, 88 workers -- Testing: 0.. 10 FAIL: Clang :: Interpreter/out-of-process.cpp (12578 of 87077) TEST 'Clang :: Interpreter/out-of-process.cpp' FAILED Exit Code: 2 Command Output (stderr): -- RUN: at line 3: cat /home/b/sanitizer-x86_64-linux-bootstrap-msan/build/llvm-project/clang/test/Interpreter/out-of-process.cpp | /home/b/sanitizer-x86_64-linux-bootstrap-msan/build/llvm_build_msan/bin/clang-repl -oop-executor -orc-runtime | /home/b/sanitizer-x86_64-linux-bootstrap-msan/build/llvm_build_msan/bin/FileCheck /home/b/sanitizer-x86_64-linux-bootstrap-msan/build/llvm-project/clang/test/Interpreter/out-of-process.cpp + /home/b/sanitizer-x86_64-linux-bootstrap-msan/build/llvm_build_msan/bin/clang-repl -oop-executor -orc-runtime + /home/b/sanitizer-x86_64-linux-bootstrap-msan/build/llvm_build_msan/bin/FileCheck /home/b/sanitizer-x86_64-linux-bootstrap-msan/build/llvm-project/clang/test/Interpreter/out-of-process.cpp + cat /home/b/sanitizer-x86_64-linux-bootstrap-msan/build/llvm-project/clang/test/Interpreter/out-of-process.cpp clang-repl: No such file or directory FileCheck error: '' is empty. FileCheck command line: /home/b/sanitizer-x86_64-linux-bootstrap-msan/build/llvm_build_msan/bin/FileCheck /home/b/sanitizer-x86_64-linux-bootstrap-msan/build/llvm-project/clang/test/Interpreter/out-of-process.cpp -- Testing: 0.. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90.. Slowest Tests: -- 152.64s: LLVM :: CodeGen/AMDGPU/memintrinsic-unroll.ll 144.10s: LLVM :: CodeGen/AMDGPU/sched-group-barrier-pipeline-solver.mir 86.24s: Clang :: Analysis/runtime-regression.c 63.93s: Clang :: CodeGen/aarch64-sve-intrinsics/acle_sve_reinterpret.c 56.88s: Clang :: CodeGen/aarch64-sve-intrinsics/acle_sve_reinterpret-bfloat.c 56.48s: LLVM :: MC/Mips/mips-jump-pc-region.s 50.45s: Clang :: Preprocessor/riscv-target-features.c 46.12s: Clang :: Driver/fsanitize.c 44.30s: Clang :: OpenMP/target_defaultmap_codegen_01.cpp 43.58s: LLVM :: CodeGen/X86/vector-interleaved-load-i8-stride-8.ll 42.91s: Clang :: OpenMP/target_update_codegen.cpp 42.58s: Clang :: CodeGen/X86/rot-intrinsics.c 41.96s: Clang :: CodeGen/X86/avx-builtins.c 41.85s: Clang :: CodeGen/X86/sse2-builtins.c 41.15s: LLVM :: CodeGen/RISCV/rvv/expandload.ll 34.33s: LLVM :: CodeGen/AMDGPU/flat_atomics_i64_system.ll 33.88s: LLVM :: CodeGen/X86/vector-interleaved-load-i16-stride-8.ll 33.46s: Clang :: Driver/arm-cortex-cpus-2.c 33.32s: Clang :: Driver/arm-cortex-cpus-1.c Step 10 (stage2/msan check) failure: stage2/msan check (failure) ... llvm-lit
[clang] [llvm] [Clang-Repl] Add support for out-of-process execution. (PR #110418)
llvm-ci wrote: LLVM Buildbot has detected a new failure on builder `clang-ppc64le-linux-multistage` running on `ppc64le-clang-multistage-test` while building `clang` at step 5 "ninja check 1". Full details are available at: https://lab.llvm.org/buildbot/#/builders/76/builds/ Here is the relevant piece of the build log for the reference ``` Step 5 (ninja check 1) failure: stage 1 checked (failure) TEST 'Clang :: Interpreter/out-of-process.cpp' FAILED Exit Code: 2 Command Output (stderr): -- RUN: at line 3: cat /home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-multistage-test/clang-ppc64le-multistage/llvm/clang/test/Interpreter/out-of-process.cpp | /home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-multistage-test/clang-ppc64le-multistage/stage1/bin/clang-repl -oop-executor -orc-runtime | /home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-multistage-test/clang-ppc64le-multistage/stage1/bin/FileCheck /home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-multistage-test/clang-ppc64le-multistage/llvm/clang/test/Interpreter/out-of-process.cpp + cat /home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-multistage-test/clang-ppc64le-multistage/llvm/clang/test/Interpreter/out-of-process.cpp + /home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-multistage-test/clang-ppc64le-multistage/stage1/bin/clang-repl -oop-executor -orc-runtime + /home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-multistage-test/clang-ppc64le-multistage/stage1/bin/FileCheck /home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-multistage-test/clang-ppc64le-multistage/llvm/clang/test/Interpreter/out-of-process.cpp clang-repl: No such file or directory FileCheck error: '' is empty. FileCheck command line: /home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-multistage-test/clang-ppc64le-multistage/stage1/bin/FileCheck /home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-multistage-test/clang-ppc64le-multistage/llvm/clang/test/Interpreter/out-of-process.cpp -- Step 11 (ninja check 2) failure: stage 2 checked (failure) TEST 'Clang :: Interpreter/out-of-process.cpp' FAILED Exit Code: 2 Command Output (stderr): -- RUN: at line 3: cat /home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-multistage-test/clang-ppc64le-multistage/llvm/clang/test/Interpreter/out-of-process.cpp | /home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-multistage-test/clang-ppc64le-multistage/stage2/bin/clang-repl -oop-executor -orc-runtime | /home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-multistage-test/clang-ppc64le-multistage/stage2/bin/FileCheck /home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-multistage-test/clang-ppc64le-multistage/llvm/clang/test/Interpreter/out-of-process.cpp + cat /home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-multistage-test/clang-ppc64le-multistage/llvm/clang/test/Interpreter/out-of-process.cpp + /home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-multistage-test/clang-ppc64le-multistage/stage2/bin/clang-repl -oop-executor -orc-runtime + /home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-multistage-test/clang-ppc64le-multistage/stage2/bin/FileCheck /home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-multistage-test/clang-ppc64le-multistage/llvm/clang/test/Interpreter/out-of-process.cpp clang-repl: No such file or directory FileCheck error: '' is empty. FileCheck command line: /home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-multistage-test/clang-ppc64le-multistage/stage2/bin/FileCheck /home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-multistage-test/clang-ppc64le-multistage/llvm/clang/test/Interpreter/out-of-process.cpp -- ``` https://github.com/llvm/llvm-project/pull/110418 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [Clang-Repl] Add support for out-of-process execution. (PR #110418)
llvm-ci wrote: LLVM Buildbot has detected a new failure on builder `premerge-monolithic-windows` running on `premerge-windows-1` while building `clang` at step 5 "clean-build-dir". Full details are available at: https://lab.llvm.org/buildbot/#/builders/35/builds/3580 Here is the relevant piece of the build log for the reference ``` Step 5 (clean-build-dir) failure: Delete failed. (failure) Step 8 (test-build-unified-tree-check-all) failure: test (failure) TEST 'Clang :: Interpreter/out-of-process.cpp' FAILED Exit Code: 2 Command Output (stdout): -- # RUN: at line 3 cat C:\ws\buildbot\premerge-monolithic-windows\llvm-project\clang\test\Interpreter\out-of-process.cpp | c:\ws\buildbot\premerge-monolithic-windows\build\bin\clang-repl.exe -oop-executor -orc-runtime | c:\ws\buildbot\premerge-monolithic-windows\build\bin\filecheck.exe C:\ws\buildbot\premerge-monolithic-windows\llvm-project\clang\test\Interpreter\out-of-process.cpp # executed command: cat 'C:\ws\buildbot\premerge-monolithic-windows\llvm-project\clang\test\Interpreter\out-of-process.cpp' # .---command stdout # | // REQUIRES: host-supports-jit # | # | // RUN: cat %s | clang-repl -oop-executor -orc-runtime | FileCheck %s # | # | extern "C" int printf(const char *, ...); # | # | int intVar = 0; # | double doubleVar = 3.14; # | %undo # | double doubleVar = 2.71; # | # | auto r1 = printf("intVar = %d\n", intVar); # | // CHECK: intVar = 0 # | auto r2 = printf("doubleVar = %.2f\n", doubleVar); # | // CHECK: doubleVar = 2.71 # | # | // Test redefinition with inline and static functions. # | int add(int a, int b, int c) { return a + b + c; } # | %undo // Revert to the initial version of add # | inline int add(int a, int b) { return a + b; } # | # | auto r3 = printf("add(1, 2) = %d\n", add(1, 2)); # | // CHECK-NEXT: add(1, 2) = 3 # | # | // Test inline and lambda functions with variations. # | inline int square(int x) { return x * x; } # | auto lambdaSquare = [](int x) { return x * x; }; # | auto lambdaMult = [](int a, int b) { return a * b; }; # | # | auto r4 = printf("square(4) = %d\n", square(4)); # | // CHECK-NEXT: square(4) = 16 # | auto lambda_r1 = printf("lambdaSquare(5) = %d\n", lambdaSquare(5)); # | // CHECK-NEXT: lambdaSquare(5) = 25 # | auto lambda_r2 = printf("lambdaMult(2, 3) = %d\n", lambdaMult(2, 3)); # | // CHECK-NEXT: lambdaMult(2, 3) = 6 # | # | %undo // Undo previous lambda assignments # | auto lambda_r3 = lambdaMult(3, 4); // Should fail or revert to the original lambda # | # | // Test weak and strong symbol linkage. # | int __attribute__((weak)) weakFunc() { return 42; } ... ``` https://github.com/llvm/llvm-project/pull/110418 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [Clang-Repl] Add support for out-of-process execution. (PR #110418)
TomWeaver18 wrote: Thanks for the revert 👍 https://github.com/llvm/llvm-project/pull/110418 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [Clang-Repl] Add support for out-of-process execution. (PR #110418)
vgvassilev wrote: > Ah, so it isn't failing only for me. Apparently, it blows away all the > environments where ORC is deliberately disabled. We probably need a `host-supports-oop-jit` similar to what we have in `host-supports-jit`... https://github.com/llvm/llvm-project/pull/110418 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [Clang-Repl] Add support for out-of-process execution. (PR #110418)
vgvassilev wrote: @SahilPatidar, can you revert if there is not an easy fix? https://github.com/llvm/llvm-project/pull/110418 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [Clang-Repl] Add support for out-of-process execution. (PR #110418)
pawosm-arm wrote: Ah, so it isn't failing only for me. Apparently, it blows away all the environments where ORC is deliberately disabled. https://github.com/llvm/llvm-project/pull/110418 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [Clang-Repl] Add support for out-of-process execution. (PR #110418)
llvm-ci wrote: LLVM Buildbot has detected a new failure on builder `sanitizer-x86_64-linux-fast` running on `sanitizer-buildbot4` while building `clang` at step 2 "annotate". Full details are available at: https://lab.llvm.org/buildbot/#/builders/169/builds/5220 Here is the relevant piece of the build log for the reference ``` Step 2 (annotate) failure: 'python ../sanitizer_buildbot/sanitizers/zorg/buildbot/builders/sanitizers/buildbot_selector.py' (failure) ... llvm-lit: /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using lld-link: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/lld-link llvm-lit: /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using ld64.lld: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/ld64.lld llvm-lit: /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using wasm-ld: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/wasm-ld llvm-lit: /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using ld.lld: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/ld.lld llvm-lit: /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using lld-link: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/lld-link llvm-lit: /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using ld64.lld: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/ld64.lld llvm-lit: /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using wasm-ld: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/wasm-ld llvm-lit: /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/utils/lit/lit/main.py:72: note: The test suite configuration requested an individual test timeout of 0 seconds but a timeout of 900 seconds was requested on the command line. Forcing timeout to be 900 seconds. -- Testing: 87078 of 87079 tests, 88 workers -- Testing: 0.. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90.. FAIL: Clang :: Interpreter/out-of-process.cpp (87044 of 87078) TEST 'Clang :: Interpreter/out-of-process.cpp' FAILED Exit Code: 2 Command Output (stderr): -- RUN: at line 3: cat /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/clang/test/Interpreter/out-of-process.cpp | /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/clang-repl -oop-executor -orc-runtime | /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/FileCheck /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/clang/test/Interpreter/out-of-process.cpp + cat /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/clang/test/Interpreter/out-of-process.cpp + /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/clang-repl -oop-executor -orc-runtime + /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/FileCheck /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/clang/test/Interpreter/out-of-process.cpp clang-repl: No such file or directory FileCheck error: '' is empty. FileCheck command line: /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/FileCheck /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/clang/test/Interpreter/out-of-process.cpp -- Testing: 0.. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90.. Slowest Tests: -- 502.86s: LLVM :: CodeGen/AMDGPU/sched-group-barrier-pipeline-solver.mir 303.59s: Clang :: OpenMP/target_defaultmap_codegen_01.cpp 293.23s: Clang :: Driver/fsanitize.c 288.61s: Clang :: OpenMP/target_update_codegen.cpp 254.29s: Clang :: Preprocessor/riscv-target-features.c 210.13s: Clang :: Driver/arm-cortex-cpus-1.c 202.59s: Clang :: Driver/arm-cortex-cpus-2.c 200.28s: LLVM :: CodeGen/AMDGPU/memintrinsic-unroll.ll 187.37s: Clang :: Preprocessor/arm-target-features.c 175.54s: Clang :: Preprocessor/aarch64-target-features.c 168.80s: Clang :: Analysis/a_flaky_crash.cpp 155.06s: Clang :: Preprocessor/predefined-arch-macros.c 139.40s: Clang :: OpenMP/target_data_codegen.cpp 138.48s: Clang :: Driver/linux-ld.c 130.17s: Clang :: OpenMP/target_teams_distribute_parallel_for_simd_codegen_registration.cpp 125.37s: Clang :: Driver/clang_f_opts.c 124.71s: LLVM :: CodeGen/RISCV/attributes.ll 122.47s: Clangd Unit Tests :: ./ClangdTests/PrerequisiteModulesTests/ReusabilityTest 122.18s: Clang :: OpenMP/target_teams_distribute_simd_codegen_registration.cpp Step 10 (stage2/asan_ubsan check) failure: stage2/asan_ubsan check (failure) ... llvm-lit: /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note:
[clang] [llvm] [Clang-Repl] Add support for out-of-process execution. (PR #110418)
TomWeaver18 wrote: Hello and greetings from the UK, is anyone looking at the above build bot failures? I'm looking to get the bots green again within a few hours, are you able to help out? thanks in advance, Tom https://github.com/llvm/llvm-project/pull/110418 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [Clang-Repl] Add support for out-of-process execution. (PR #110418)
llvm-ci wrote: LLVM Buildbot has detected a new failure on builder `llvm-clang-x86_64-darwin` running on `doug-worker-3` while building `clang` at step 6 "test-build-unified-tree-check-all". Full details are available at: https://lab.llvm.org/buildbot/#/builders/23/builds/4728 Here is the relevant piece of the build log for the reference ``` Step 6 (test-build-unified-tree-check-all) failure: test (failure) TEST 'Clang :: Interpreter/out-of-process.cpp' FAILED Exit Code: 2 Command Output (stderr): -- RUN: at line 3: cat /Volumes/RAMDisk/buildbot-root/x86_64-darwin/llvm-project/clang/test/Interpreter/out-of-process.cpp | /Volumes/RAMDisk/buildbot-root/x86_64-darwin/build/bin/clang-repl -oop-executor -orc-runtime | /Volumes/RAMDisk/buildbot-root/x86_64-darwin/build/bin/FileCheck /Volumes/RAMDisk/buildbot-root/x86_64-darwin/llvm-project/clang/test/Interpreter/out-of-process.cpp + cat /Volumes/RAMDisk/buildbot-root/x86_64-darwin/llvm-project/clang/test/Interpreter/out-of-process.cpp + /Volumes/RAMDisk/buildbot-root/x86_64-darwin/build/bin/clang-repl -oop-executor -orc-runtime + /Volumes/RAMDisk/buildbot-root/x86_64-darwin/build/bin/FileCheck /Volumes/RAMDisk/buildbot-root/x86_64-darwin/llvm-project/clang/test/Interpreter/out-of-process.cpp clang-repl: No such file or directory FileCheck error: '' is empty. FileCheck command line: /Volumes/RAMDisk/buildbot-root/x86_64-darwin/build/bin/FileCheck /Volumes/RAMDisk/buildbot-root/x86_64-darwin/llvm-project/clang/test/Interpreter/out-of-process.cpp -- ``` https://github.com/llvm/llvm-project/pull/110418 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [Clang-Repl] Add support for out-of-process execution. (PR #110418)
llvm-ci wrote: LLVM Buildbot has detected a new failure on builder `clang-m68k-linux-cross` running on `suse-gary-m68k-cross` while building `clang` at step 5 "ninja check 1". Full details are available at: https://lab.llvm.org/buildbot/#/builders/27/builds/1898 Here is the relevant piece of the build log for the reference ``` Step 5 (ninja check 1) failure: stage 1 checked (failure) TEST 'Clang :: Interpreter/out-of-process.cpp' FAILED Exit Code: 2 Command Output (stderr): -- RUN: at line 3: cat /var/lib/buildbot/workers/suse-gary-m68k-cross/clang-m68k-linux-cross/llvm/clang/test/Interpreter/out-of-process.cpp | /var/lib/buildbot/workers/suse-gary-m68k-cross/clang-m68k-linux-cross/stage1/bin/clang-repl -oop-executor -orc-runtime | /var/lib/buildbot/workers/suse-gary-m68k-cross/clang-m68k-linux-cross/stage1/bin/FileCheck /var/lib/buildbot/workers/suse-gary-m68k-cross/clang-m68k-linux-cross/llvm/clang/test/Interpreter/out-of-process.cpp + cat /var/lib/buildbot/workers/suse-gary-m68k-cross/clang-m68k-linux-cross/llvm/clang/test/Interpreter/out-of-process.cpp + /var/lib/buildbot/workers/suse-gary-m68k-cross/clang-m68k-linux-cross/stage1/bin/clang-repl -oop-executor -orc-runtime + /var/lib/buildbot/workers/suse-gary-m68k-cross/clang-m68k-linux-cross/stage1/bin/FileCheck /var/lib/buildbot/workers/suse-gary-m68k-cross/clang-m68k-linux-cross/llvm/clang/test/Interpreter/out-of-process.cpp clang-repl: No such file or directory FileCheck error: '' is empty. FileCheck command line: /var/lib/buildbot/workers/suse-gary-m68k-cross/clang-m68k-linux-cross/stage1/bin/FileCheck /var/lib/buildbot/workers/suse-gary-m68k-cross/clang-m68k-linux-cross/llvm/clang/test/Interpreter/out-of-process.cpp -- ``` https://github.com/llvm/llvm-project/pull/110418 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [Clang-Repl] Add support for out-of-process execution. (PR #110418)
llvm-ci wrote: LLVM Buildbot has detected a new failure on builder `ppc64le-lld-multistage-test` running on `ppc64le-lld-multistage-test` while building `clang` at step 7 "test-build-stage1-unified-tree-check-all". Full details are available at: https://lab.llvm.org/buildbot/#/builders/168/builds/5418 Here is the relevant piece of the build log for the reference ``` Step 7 (test-build-stage1-unified-tree-check-all) failure: test (failure) TEST 'Clang :: Interpreter/out-of-process.cpp' FAILED Exit Code: 2 Command Output (stderr): -- RUN: at line 3: cat /home/buildbots/llvm-external-buildbots/workers/ppc64le-lld-multistage-test/ppc64le-lld-multistage-test/llvm-project/clang/test/Interpreter/out-of-process.cpp | /home/buildbots/llvm-external-buildbots/workers/ppc64le-lld-multistage-test/ppc64le-lld-multistage-test/build/stage1/bin/clang-repl -oop-executor -orc-runtime | /home/buildbots/llvm-external-buildbots/workers/ppc64le-lld-multistage-test/ppc64le-lld-multistage-test/build/stage1/bin/FileCheck /home/buildbots/llvm-external-buildbots/workers/ppc64le-lld-multistage-test/ppc64le-lld-multistage-test/llvm-project/clang/test/Interpreter/out-of-process.cpp + cat /home/buildbots/llvm-external-buildbots/workers/ppc64le-lld-multistage-test/ppc64le-lld-multistage-test/llvm-project/clang/test/Interpreter/out-of-process.cpp + /home/buildbots/llvm-external-buildbots/workers/ppc64le-lld-multistage-test/ppc64le-lld-multistage-test/build/stage1/bin/clang-repl -oop-executor -orc-runtime + /home/buildbots/llvm-external-buildbots/workers/ppc64le-lld-multistage-test/ppc64le-lld-multistage-test/build/stage1/bin/FileCheck /home/buildbots/llvm-external-buildbots/workers/ppc64le-lld-multistage-test/ppc64le-lld-multistage-test/llvm-project/clang/test/Interpreter/out-of-process.cpp clang-repl: No such file or directory FileCheck error: '' is empty. FileCheck command line: /home/buildbots/llvm-external-buildbots/workers/ppc64le-lld-multistage-test/ppc64le-lld-multistage-test/build/stage1/bin/FileCheck /home/buildbots/llvm-external-buildbots/workers/ppc64le-lld-multistage-test/ppc64le-lld-multistage-test/llvm-project/clang/test/Interpreter/out-of-process.cpp -- Step 13 (test-build-stage2-unified-tree-check-all) failure: test (failure) TEST 'Clang :: Interpreter/out-of-process.cpp' FAILED Exit Code: 2 Command Output (stderr): -- RUN: at line 3: cat /home/buildbots/llvm-external-buildbots/workers/ppc64le-lld-multistage-test/ppc64le-lld-multistage-test/llvm-project/clang/test/Interpreter/out-of-process.cpp | /home/buildbots/llvm-external-buildbots/workers/ppc64le-lld-multistage-test/ppc64le-lld-multistage-test/build/stage2/bin/clang-repl -oop-executor -orc-runtime | /home/buildbots/llvm-external-buildbots/workers/ppc64le-lld-multistage-test/ppc64le-lld-multistage-test/build/stage2/bin/FileCheck /home/buildbots/llvm-external-buildbots/workers/ppc64le-lld-multistage-test/ppc64le-lld-multistage-test/llvm-project/clang/test/Interpreter/out-of-process.cpp + cat /home/buildbots/llvm-external-buildbots/workers/ppc64le-lld-multistage-test/ppc64le-lld-multistage-test/llvm-project/clang/test/Interpreter/out-of-process.cpp + /home/buildbots/llvm-external-buildbots/workers/ppc64le-lld-multistage-test/ppc64le-lld-multistage-test/build/stage2/bin/clang-repl -oop-executor -orc-runtime + /home/buildbots/llvm-external-buildbots/workers/ppc64le-lld-multistage-test/ppc64le-lld-multistage-test/build/stage2/bin/FileCheck /home/buildbots/llvm-external-buildbots/workers/ppc64le-lld-multistage-test/ppc64le-lld-multistage-test/llvm-project/clang/test/Interpreter/out-of-process.cpp clang-repl: No such file or directory FileCheck error: '' is empty. FileCheck command line: /home/buildbots/llvm-external-buildbots/workers/ppc64le-lld-multistage-test/ppc64le-lld-multistage-test/build/stage2/bin/FileCheck /home/buildbots/llvm-external-buildbots/workers/ppc64le-lld-multistage-test/ppc64le-lld-multistage-test/llvm-project/clang/test/Interpreter/out-of-process.cpp -- ``` https://github.com/llvm/llvm-project/pull/110418 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [Clang-Repl] Add support for out-of-process execution. (PR #110418)
llvm-ci wrote: LLVM Buildbot has detected a new failure on builder `clang-x86_64-debian-fast` running on `gribozavr4` while building `clang` at step 6 "test-build-unified-tree-check-all". Full details are available at: https://lab.llvm.org/buildbot/#/builders/56/builds/12003 Here is the relevant piece of the build log for the reference ``` Step 6 (test-build-unified-tree-check-all) failure: test (failure) TEST 'Clang :: Interpreter/out-of-process.cpp' FAILED Exit Code: 2 Command Output (stderr): -- RUN: at line 3: cat /b/1/clang-x86_64-debian-fast/llvm.src/clang/test/Interpreter/out-of-process.cpp | /b/1/clang-x86_64-debian-fast/llvm.obj/bin/clang-repl -oop-executor -orc-runtime | /b/1/clang-x86_64-debian-fast/llvm.obj/bin/FileCheck /b/1/clang-x86_64-debian-fast/llvm.src/clang/test/Interpreter/out-of-process.cpp + /b/1/clang-x86_64-debian-fast/llvm.obj/bin/clang-repl -oop-executor -orc-runtime + /b/1/clang-x86_64-debian-fast/llvm.obj/bin/FileCheck /b/1/clang-x86_64-debian-fast/llvm.src/clang/test/Interpreter/out-of-process.cpp + cat /b/1/clang-x86_64-debian-fast/llvm.src/clang/test/Interpreter/out-of-process.cpp clang-repl: No such file or directory FileCheck error: '' is empty. FileCheck command line: /b/1/clang-x86_64-debian-fast/llvm.obj/bin/FileCheck /b/1/clang-x86_64-debian-fast/llvm.src/clang/test/Interpreter/out-of-process.cpp -- ``` https://github.com/llvm/llvm-project/pull/110418 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [Clang-Repl] Add support for out-of-process execution. (PR #110418)
llvm-ci wrote: LLVM Buildbot has detected a new failure on builder `llvm-x86_64-debian-dylib` running on `gribozavr4` while building `clang` at step 6 "test-build-unified-tree-check-clang". Full details are available at: https://lab.llvm.org/buildbot/#/builders/60/builds/12482 Here is the relevant piece of the build log for the reference ``` Step 6 (test-build-unified-tree-check-clang) failure: test (failure) TEST 'Clang :: Interpreter/out-of-process.cpp' FAILED Exit Code: 2 Command Output (stderr): -- RUN: at line 3: cat /b/1/llvm-x86_64-debian-dylib/llvm-project/clang/test/Interpreter/out-of-process.cpp | /b/1/llvm-x86_64-debian-dylib/build/bin/clang-repl -oop-executor -orc-runtime | /b/1/llvm-x86_64-debian-dylib/build/bin/FileCheck /b/1/llvm-x86_64-debian-dylib/llvm-project/clang/test/Interpreter/out-of-process.cpp + cat /b/1/llvm-x86_64-debian-dylib/llvm-project/clang/test/Interpreter/out-of-process.cpp + /b/1/llvm-x86_64-debian-dylib/build/bin/FileCheck /b/1/llvm-x86_64-debian-dylib/llvm-project/clang/test/Interpreter/out-of-process.cpp + /b/1/llvm-x86_64-debian-dylib/build/bin/clang-repl -oop-executor -orc-runtime clang-repl: No such file or directory FileCheck error: '' is empty. FileCheck command line: /b/1/llvm-x86_64-debian-dylib/build/bin/FileCheck /b/1/llvm-x86_64-debian-dylib/llvm-project/clang/test/Interpreter/out-of-process.cpp -- ``` https://github.com/llvm/llvm-project/pull/110418 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [Clang-Repl] Add support for out-of-process execution. (PR #110418)
llvm-ci wrote: LLVM Buildbot has detected a new failure on builder `premerge-monolithic-linux` running on `premerge-linux-1` while building `clang` at step 7 "test-build-unified-tree-check-all". Full details are available at: https://lab.llvm.org/buildbot/#/builders/153/builds/14381 Here is the relevant piece of the build log for the reference ``` Step 7 (test-build-unified-tree-check-all) failure: test (failure) TEST 'Clang :: Interpreter/out-of-process.cpp' FAILED Exit Code: 2 Command Output (stderr): -- RUN: at line 3: cat /build/buildbot/premerge-monolithic-linux/llvm-project/clang/test/Interpreter/out-of-process.cpp | /build/buildbot/premerge-monolithic-linux/build/bin/clang-repl -oop-executor -orc-runtime | /build/buildbot/premerge-monolithic-linux/build/bin/FileCheck /build/buildbot/premerge-monolithic-linux/llvm-project/clang/test/Interpreter/out-of-process.cpp + cat /build/buildbot/premerge-monolithic-linux/llvm-project/clang/test/Interpreter/out-of-process.cpp + /build/buildbot/premerge-monolithic-linux/build/bin/clang-repl -oop-executor -orc-runtime + /build/buildbot/premerge-monolithic-linux/build/bin/FileCheck /build/buildbot/premerge-monolithic-linux/llvm-project/clang/test/Interpreter/out-of-process.cpp clang-repl: No such file or directory FileCheck error: '' is empty. FileCheck command line: /build/buildbot/premerge-monolithic-linux/build/bin/FileCheck /build/buildbot/premerge-monolithic-linux/llvm-project/clang/test/Interpreter/out-of-process.cpp -- ``` https://github.com/llvm/llvm-project/pull/110418 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [Clang-Repl] Add support for out-of-process execution. (PR #110418)
llvm-ci wrote: LLVM Buildbot has detected a new failure on builder `clang-ppc64le-linux-test-suite` running on `ppc64le-clang-test-suite` while building `clang` at step 6 "test-build-unified-tree-check-all". Full details are available at: https://lab.llvm.org/buildbot/#/builders/95/builds/6114 Here is the relevant piece of the build log for the reference ``` Step 6 (test-build-unified-tree-check-all) failure: test (failure) TEST 'Clang :: Interpreter/out-of-process.cpp' FAILED Exit Code: 2 Command Output (stderr): -- RUN: at line 3: cat /home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-test-suite/clang-ppc64le-test-suite/llvm-project/clang/test/Interpreter/out-of-process.cpp | /home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/bin/clang-repl -oop-executor -orc-runtime | /home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/bin/FileCheck /home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-test-suite/clang-ppc64le-test-suite/llvm-project/clang/test/Interpreter/out-of-process.cpp + cat /home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-test-suite/clang-ppc64le-test-suite/llvm-project/clang/test/Interpreter/out-of-process.cpp + /home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/bin/clang-repl -oop-executor -orc-runtime + /home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/bin/FileCheck /home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-test-suite/clang-ppc64le-test-suite/llvm-project/clang/test/Interpreter/out-of-process.cpp clang-repl: No such file or directory FileCheck error: '' is empty. FileCheck command line: /home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-test-suite/clang-ppc64le-test-suite/build/bin/FileCheck /home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-test-suite/clang-ppc64le-test-suite/llvm-project/clang/test/Interpreter/out-of-process.cpp -- ``` https://github.com/llvm/llvm-project/pull/110418 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [Clang-Repl] Add support for out-of-process execution. (PR #110418)
llvm-ci wrote: LLVM Buildbot has detected a new failure on builder `arc-builder` running on `arc-worker` while building `clang` at step 6 "test-build-unified-tree-check-all". Full details are available at: https://lab.llvm.org/buildbot/#/builders/3/builds/7495 Here is the relevant piece of the build log for the reference ``` Step 6 (test-build-unified-tree-check-all) failure: test (failure) TEST 'Clang :: Interpreter/out-of-process.cpp' FAILED Exit Code: 2 Command Output (stderr): -- RUN: at line 3: cat /buildbot/worker/arc-folder/llvm-project/clang/test/Interpreter/out-of-process.cpp | /buildbot/worker/arc-folder/build/bin/clang-repl -oop-executor -orc-runtime | /buildbot/worker/arc-folder/build/bin/FileCheck /buildbot/worker/arc-folder/llvm-project/clang/test/Interpreter/out-of-process.cpp + cat /buildbot/worker/arc-folder/llvm-project/clang/test/Interpreter/out-of-process.cpp + /buildbot/worker/arc-folder/build/bin/clang-repl -oop-executor -orc-runtime + /buildbot/worker/arc-folder/build/bin/FileCheck /buildbot/worker/arc-folder/llvm-project/clang/test/Interpreter/out-of-process.cpp clang-repl: No such file or directory FileCheck error: '' is empty. FileCheck command line: /buildbot/worker/arc-folder/build/bin/FileCheck /buildbot/worker/arc-folder/llvm-project/clang/test/Interpreter/out-of-process.cpp -- ``` https://github.com/llvm/llvm-project/pull/110418 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [Clang-Repl] Add support for out-of-process execution. (PR #110418)
llvm-ci wrote: LLVM Buildbot has detected a new failure on builder `clang-debian-cpp20` running on `clang-debian-cpp20` while building `clang` at step 6 "test-build-unified-tree-check-all". Full details are available at: https://lab.llvm.org/buildbot/#/builders/108/builds/5850 Here is the relevant piece of the build log for the reference ``` Step 6 (test-build-unified-tree-check-all) failure: test (failure) TEST 'Clang :: Interpreter/out-of-process.cpp' FAILED Exit Code: 2 Command Output (stderr): -- RUN: at line 3: cat /vol/worker/clang-debian-cpp20/clang-debian-cpp20/llvm-project/clang/test/Interpreter/out-of-process.cpp | /vol/worker/clang-debian-cpp20/clang-debian-cpp20/build/bin/clang-repl -oop-executor -orc-runtime | /vol/worker/clang-debian-cpp20/clang-debian-cpp20/build/bin/FileCheck /vol/worker/clang-debian-cpp20/clang-debian-cpp20/llvm-project/clang/test/Interpreter/out-of-process.cpp + cat /vol/worker/clang-debian-cpp20/clang-debian-cpp20/llvm-project/clang/test/Interpreter/out-of-process.cpp + /vol/worker/clang-debian-cpp20/clang-debian-cpp20/build/bin/clang-repl -oop-executor -orc-runtime + /vol/worker/clang-debian-cpp20/clang-debian-cpp20/build/bin/FileCheck /vol/worker/clang-debian-cpp20/clang-debian-cpp20/llvm-project/clang/test/Interpreter/out-of-process.cpp clang-repl: No such file or directory FileCheck error: '' is empty. FileCheck command line: /vol/worker/clang-debian-cpp20/clang-debian-cpp20/build/bin/FileCheck /vol/worker/clang-debian-cpp20/clang-debian-cpp20/llvm-project/clang/test/Interpreter/out-of-process.cpp -- ``` https://github.com/llvm/llvm-project/pull/110418 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [Clang-Repl] Add support for out-of-process execution. (PR #110418)
llvm-ci wrote: LLVM Buildbot has detected a new failure on builder `clang-cmake-x86_64-avx512-linux` running on `avx512-intel64` while building `clang` at step 7 "ninja check 1". Full details are available at: https://lab.llvm.org/buildbot/#/builders/133/builds/6658 Here is the relevant piece of the build log for the reference ``` Step 7 (ninja check 1) failure: stage 1 checked (failure) TEST 'Clang :: Interpreter/out-of-process.cpp' FAILED Exit Code: 2 Command Output (stderr): -- RUN: at line 3: cat /localdisk2/buildbot/llvm-worker/clang-cmake-x86_64-avx512-linux/llvm/clang/test/Interpreter/out-of-process.cpp | /localdisk2/buildbot/llvm-worker/clang-cmake-x86_64-avx512-linux/stage1/bin/clang-repl -oop-executor -orc-runtime | /localdisk2/buildbot/llvm-worker/clang-cmake-x86_64-avx512-linux/stage1/bin/FileCheck /localdisk2/buildbot/llvm-worker/clang-cmake-x86_64-avx512-linux/llvm/clang/test/Interpreter/out-of-process.cpp + /localdisk2/buildbot/llvm-worker/clang-cmake-x86_64-avx512-linux/stage1/bin/FileCheck /localdisk2/buildbot/llvm-worker/clang-cmake-x86_64-avx512-linux/llvm/clang/test/Interpreter/out-of-process.cpp + /localdisk2/buildbot/llvm-worker/clang-cmake-x86_64-avx512-linux/stage1/bin/clang-repl -oop-executor -orc-runtime + cat /localdisk2/buildbot/llvm-worker/clang-cmake-x86_64-avx512-linux/llvm/clang/test/Interpreter/out-of-process.cpp clang-repl: No such file or directory FileCheck error: '' is empty. FileCheck command line: /localdisk2/buildbot/llvm-worker/clang-cmake-x86_64-avx512-linux/stage1/bin/FileCheck /localdisk2/buildbot/llvm-worker/clang-cmake-x86_64-avx512-linux/llvm/clang/test/Interpreter/out-of-process.cpp -- ``` https://github.com/llvm/llvm-project/pull/110418 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [Clang-Repl] Add support for out-of-process execution. (PR #110418)
llvm-ci wrote: LLVM Buildbot has detected a new failure on builder `llvm-clang-x86_64-sie-win` running on `sie-win-worker` while building `clang` at step 7 "test-build-unified-tree-check-all". Full details are available at: https://lab.llvm.org/buildbot/#/builders/46/builds/7740 Here is the relevant piece of the build log for the reference ``` Step 7 (test-build-unified-tree-check-all) failure: test (failure) TEST 'Clang :: Interpreter/out-of-process.cpp' FAILED Exit Code: 2 Command Output (stdout): -- # RUN: at line 3 cat Z:\b\llvm-clang-x86_64-sie-win\llvm-project\clang\test\Interpreter\out-of-process.cpp | z:\b\llvm-clang-x86_64-sie-win\build\bin\clang-repl.exe -oop-executor -orc-runtime | z:\b\llvm-clang-x86_64-sie-win\build\bin\filecheck.exe Z:\b\llvm-clang-x86_64-sie-win\llvm-project\clang\test\Interpreter\out-of-process.cpp # executed command: cat 'Z:\b\llvm-clang-x86_64-sie-win\llvm-project\clang\test\Interpreter\out-of-process.cpp' # .---command stdout # | // REQUIRES: host-supports-jit # | # | // RUN: cat %s | clang-repl -oop-executor -orc-runtime | FileCheck %s # | # | extern "C" int printf(const char *, ...); # | # | int intVar = 0; # | double doubleVar = 3.14; # | %undo # | double doubleVar = 2.71; # | # | auto r1 = printf("intVar = %d\n", intVar); # | // CHECK: intVar = 0 # | auto r2 = printf("doubleVar = %.2f\n", doubleVar); # | // CHECK: doubleVar = 2.71 # | # | // Test redefinition with inline and static functions. # | int add(int a, int b, int c) { return a + b + c; } # | %undo // Revert to the initial version of add # | inline int add(int a, int b) { return a + b; } # | # | auto r3 = printf("add(1, 2) = %d\n", add(1, 2)); # | // CHECK-NEXT: add(1, 2) = 3 # | # | // Test inline and lambda functions with variations. # | inline int square(int x) { return x * x; } # | auto lambdaSquare = [](int x) { return x * x; }; # | auto lambdaMult = [](int a, int b) { return a * b; }; # | # | auto r4 = printf("square(4) = %d\n", square(4)); # | // CHECK-NEXT: square(4) = 16 # | auto lambda_r1 = printf("lambdaSquare(5) = %d\n", lambdaSquare(5)); # | // CHECK-NEXT: lambdaSquare(5) = 25 # | auto lambda_r2 = printf("lambdaMult(2, 3) = %d\n", lambdaMult(2, 3)); # | // CHECK-NEXT: lambdaMult(2, 3) = 6 # | # | %undo // Undo previous lambda assignments # | auto lambda_r3 = lambdaMult(3, 4); // Should fail or revert to the original lambda # | # | // Test weak and strong symbol linkage. # | int __attribute__((weak)) weakFunc() { return 42; } ... ``` https://github.com/llvm/llvm-project/pull/110418 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [Clang-Repl] Add support for out-of-process execution. (PR #110418)
llvm-ci wrote: LLVM Buildbot has detected a new failure on builder `clang-aarch64-quick` running on `linaro-clang-aarch64-quick` while building `clang` at step 5 "ninja check 1". Full details are available at: https://lab.llvm.org/buildbot/#/builders/65/builds/7627 Here is the relevant piece of the build log for the reference ``` Step 5 (ninja check 1) failure: stage 1 checked (failure) TEST 'Clang :: Interpreter/out-of-process.cpp' FAILED Exit Code: 2 Command Output (stderr): -- RUN: at line 3: cat /home/tcwg-buildbot/worker/clang-aarch64-quick/llvm/clang/test/Interpreter/out-of-process.cpp | /home/tcwg-buildbot/worker/clang-aarch64-quick/stage1/bin/clang-repl -oop-executor -orc-runtime | /home/tcwg-buildbot/worker/clang-aarch64-quick/stage1/bin/FileCheck /home/tcwg-buildbot/worker/clang-aarch64-quick/llvm/clang/test/Interpreter/out-of-process.cpp + /home/tcwg-buildbot/worker/clang-aarch64-quick/stage1/bin/FileCheck /home/tcwg-buildbot/worker/clang-aarch64-quick/llvm/clang/test/Interpreter/out-of-process.cpp + cat /home/tcwg-buildbot/worker/clang-aarch64-quick/llvm/clang/test/Interpreter/out-of-process.cpp + /home/tcwg-buildbot/worker/clang-aarch64-quick/stage1/bin/clang-repl -oop-executor -orc-runtime clang-repl: No such file or directory FileCheck error: '' is empty. FileCheck command line: /home/tcwg-buildbot/worker/clang-aarch64-quick/stage1/bin/FileCheck /home/tcwg-buildbot/worker/clang-aarch64-quick/llvm/clang/test/Interpreter/out-of-process.cpp -- ``` https://github.com/llvm/llvm-project/pull/110418 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [Clang-Repl] Add support for out-of-process execution. (PR #110418)
llvm-ci wrote: LLVM Buildbot has detected a new failure on builder `clang-armv8-quick` running on `linaro-clang-armv8-quick` while building `clang` at step 5 "ninja check 1". Full details are available at: https://lab.llvm.org/buildbot/#/builders/154/builds/7335 Here is the relevant piece of the build log for the reference ``` Step 5 (ninja check 1) failure: stage 1 checked (failure) TEST 'Clang :: Interpreter/out-of-process.cpp' FAILED Exit Code: 2 Command Output (stderr): -- RUN: at line 3: cat /home/tcwg-buildbot/worker/clang-armv8-quick/llvm/clang/test/Interpreter/out-of-process.cpp | /home/tcwg-buildbot/worker/clang-armv8-quick/stage1/bin/clang-repl -oop-executor -orc-runtime | /home/tcwg-buildbot/worker/clang-armv8-quick/stage1/bin/FileCheck /home/tcwg-buildbot/worker/clang-armv8-quick/llvm/clang/test/Interpreter/out-of-process.cpp + /home/tcwg-buildbot/worker/clang-armv8-quick/stage1/bin/clang-repl -oop-executor -orc-runtime + cat /home/tcwg-buildbot/worker/clang-armv8-quick/llvm/clang/test/Interpreter/out-of-process.cpp + /home/tcwg-buildbot/worker/clang-armv8-quick/stage1/bin/FileCheck /home/tcwg-buildbot/worker/clang-armv8-quick/llvm/clang/test/Interpreter/out-of-process.cpp clang-repl: No such file or directory FileCheck error: '' is empty. FileCheck command line: /home/tcwg-buildbot/worker/clang-armv8-quick/stage1/bin/FileCheck /home/tcwg-buildbot/worker/clang-armv8-quick/llvm/clang/test/Interpreter/out-of-process.cpp -- ``` https://github.com/llvm/llvm-project/pull/110418 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [Clang-Repl] Add support for out-of-process execution. (PR #110418)
llvm-ci wrote: LLVM Buildbot has detected a new failure on builder `llvm-clang-x86_64-gcc-ubuntu` running on `sie-linux-worker3` while building `clang` at step 6 "test-build-unified-tree-check-all". Full details are available at: https://lab.llvm.org/buildbot/#/builders/174/builds/8290 Here is the relevant piece of the build log for the reference ``` Step 6 (test-build-unified-tree-check-all) failure: test (failure) TEST 'Clang :: Interpreter/out-of-process.cpp' FAILED Exit Code: 2 Command Output (stderr): -- RUN: at line 3: cat /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/llvm-project/clang/test/Interpreter/out-of-process.cpp | /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/bin/clang-repl -oop-executor -orc-runtime | /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/bin/FileCheck /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/llvm-project/clang/test/Interpreter/out-of-process.cpp + /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/bin/clang-repl -oop-executor -orc-runtime + cat /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/llvm-project/clang/test/Interpreter/out-of-process.cpp + /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/bin/FileCheck /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/llvm-project/clang/test/Interpreter/out-of-process.cpp clang-repl: No such file or directory FileCheck error: '' is empty. FileCheck command line: /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/bin/FileCheck /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/llvm-project/clang/test/Interpreter/out-of-process.cpp -- ``` https://github.com/llvm/llvm-project/pull/110418 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [Clang-Repl] Add support for out-of-process execution. (PR #110418)
llvm-ci wrote: LLVM Buildbot has detected a new failure on builder `llvm-clang-aarch64-darwin` running on `doug-worker-4` while building `clang` at step 6 "test-build-unified-tree-check-all". Full details are available at: https://lab.llvm.org/buildbot/#/builders/190/builds/9307 Here is the relevant piece of the build log for the reference ``` Step 6 (test-build-unified-tree-check-all) failure: test (failure) TEST 'Clang :: Interpreter/out-of-process.cpp' FAILED Exit Code: 2 Command Output (stderr): -- RUN: at line 3: cat /Users/buildbot/buildbot-root/aarch64-darwin/llvm-project/clang/test/Interpreter/out-of-process.cpp | /Users/buildbot/buildbot-root/aarch64-darwin/build/bin/clang-repl -oop-executor -orc-runtime | /Users/buildbot/buildbot-root/aarch64-darwin/build/bin/FileCheck /Users/buildbot/buildbot-root/aarch64-darwin/llvm-project/clang/test/Interpreter/out-of-process.cpp + cat /Users/buildbot/buildbot-root/aarch64-darwin/llvm-project/clang/test/Interpreter/out-of-process.cpp + /Users/buildbot/buildbot-root/aarch64-darwin/build/bin/clang-repl -oop-executor -orc-runtime + /Users/buildbot/buildbot-root/aarch64-darwin/build/bin/FileCheck /Users/buildbot/buildbot-root/aarch64-darwin/llvm-project/clang/test/Interpreter/out-of-process.cpp clang-repl: No such file or directory FileCheck error: '' is empty. FileCheck command line: /Users/buildbot/buildbot-root/aarch64-darwin/build/bin/FileCheck /Users/buildbot/buildbot-root/aarch64-darwin/llvm-project/clang/test/Interpreter/out-of-process.cpp -- ``` https://github.com/llvm/llvm-project/pull/110418 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [Clang-Repl] Add support for out-of-process execution. (PR #110418)
https://github.com/SahilPatidar updated https://github.com/llvm/llvm-project/pull/110418 >From 519dd2c99bc2200d364a184e416ec03b609e1910 Mon Sep 17 00:00:00 2001 From: SahilPatidar Date: Fri, 7 Jun 2024 13:30:08 +0530 Subject: [PATCH 01/15] [Clang-Repl] Implement out-of-process execution interface for clang-repl --- clang/include/clang/Interpreter/Interpreter.h | 9 +- clang/lib/Interpreter/Interpreter.cpp | 33 ++- clang/tools/clang-repl/CMakeLists.txt | 2 + clang/tools/clang-repl/ClangRepl.cpp | 75 ++- clang/tools/clang-repl/RemoteJITUtils.cpp | 208 ++ clang/tools/clang-repl/RemoteJITUtils.h | 42 llvm/lib/ExecutionEngine/Orc/LLJIT.cpp| 3 + 7 files changed, 364 insertions(+), 8 deletions(-) create mode 100644 clang/tools/clang-repl/RemoteJITUtils.cpp create mode 100644 clang/tools/clang-repl/RemoteJITUtils.h diff --git a/clang/include/clang/Interpreter/Interpreter.h b/clang/include/clang/Interpreter/Interpreter.h index 1230a3a7016fae..147794c5870335 100644 --- a/clang/include/clang/Interpreter/Interpreter.h +++ b/clang/include/clang/Interpreter/Interpreter.h @@ -21,6 +21,7 @@ #include "llvm/ADT/DenseMap.h" #include "llvm/ExecutionEngine/JITSymbol.h" #include "llvm/ExecutionEngine/Orc/Shared/ExecutorAddress.h" +#include "llvm/ExecutionEngine/Orc/ExecutorProcessControl.h" #include "llvm/Support/Error.h" #include #include @@ -129,7 +130,13 @@ class Interpreter { public: virtual ~Interpreter(); static llvm::Expected> - create(std::unique_ptr CI); + create(std::unique_ptr CI, + std::unique_ptr JITBuilder = nullptr); + static llvm::Expected> + createWithOOPExecutor( + std::unique_ptr CI, + std::unique_ptr EI, + llvm::StringRef OrcRuntimePath); static llvm::Expected> createWithCUDA(std::unique_ptr CI, std::unique_ptr DCI); diff --git a/clang/lib/Interpreter/Interpreter.cpp b/clang/lib/Interpreter/Interpreter.cpp index bc96da811d44cb..21507906618c39 100644 --- a/clang/lib/Interpreter/Interpreter.cpp +++ b/clang/lib/Interpreter/Interpreter.cpp @@ -45,6 +45,7 @@ #include "clang/Serialization/ObjectFilePCHContainerReader.h" #include "llvm/ExecutionEngine/JITSymbol.h" #include "llvm/ExecutionEngine/Orc/LLJIT.h" +#include "llvm/ExecutionEngine/Orc/EPCDynamicLibrarySearchGenerator.h" #include "llvm/IR/Module.h" #include "llvm/Support/Errc.h" #include "llvm/Support/ErrorHandling.h" @@ -456,10 +457,12 @@ const char *const Runtimes = R"( )"; llvm::Expected> -Interpreter::create(std::unique_ptr CI) { +Interpreter::create(std::unique_ptr CI, +std::unique_ptr JB) { llvm::Error Err = llvm::Error::success(); auto Interp = - std::unique_ptr(new Interpreter(std::move(CI), Err)); + std::unique_ptr(new Interpreter(std::move(CI), Err, + JB? std::move(JB): nullptr)); if (Err) return std::move(Err); @@ -578,6 +581,26 @@ createJITTargetMachineBuilder(const std::string &TT) { return llvm::orc::JITTargetMachineBuilder(llvm::Triple(TT)); } +llvm::Expected> +Interpreter::createWithOOPExecutor( +std::unique_ptr CI, +std::unique_ptr EPC, +llvm::StringRef OrcRuntimePath) { + const std::string &TT = CI->getTargetOpts().Triple; + auto JTMB = createJITTargetMachineBuilder(TT); + if (!JTMB) +return JTMB.takeError(); + auto JB = IncrementalExecutor::createDefaultJITBuilder(std::move(*JTMB)); + if (!JB) +return JB.takeError(); + if (EPC) { +JB.get()->setExecutorProcessControl(std::move(EPC)); + JB.get()->setPlatformSetUp(llvm::orc::ExecutorNativePlatform(OrcRuntimePath.str())); + } + + return Interpreter::create(std::move(CI), std::move(*JB)); +} + llvm::Error Interpreter::CreateExecutor() { if (IncrExecutor) return llvm::make_error("Operation failed. " @@ -702,10 +725,10 @@ llvm::Error Interpreter::LoadDynamicLibrary(const char *name) { if (!EE) return EE.takeError(); - auto &DL = EE->getDataLayout(); + // auto &DL = EE->getDataLayout(); - if (auto DLSG = llvm::orc::DynamicLibrarySearchGenerator::Load( - name, DL.getGlobalPrefix())) + if (auto DLSG = llvm::orc::EPCDynamicLibrarySearchGenerator::Load( + EE->getExecutionSession(), name)) EE->getMainJITDylib().addGenerator(std::move(*DLSG)); else return DLSG.takeError(); diff --git a/clang/tools/clang-repl/CMakeLists.txt b/clang/tools/clang-repl/CMakeLists.txt index 7aebbe7a19436a..11164e3b8f5c65 100644 --- a/clang/tools/clang-repl/CMakeLists.txt +++ b/clang/tools/clang-repl/CMakeLists.txt @@ -4,7 +4,9 @@ set( LLVM_LINK_COMPONENTS LineEditor Option OrcJIT + OrcShared Support + TargetParser ) add_clang_tool(clang-repl diff --git a/clang/tools/clang-repl/ClangRepl.cpp b/clang/tools/clang-repl/ClangRepl.cpp index 08c54e6cafa901..21359df01c270f 100644 --- a/clang/tools/clang-repl/ClangRepl.cpp +++ b/clang/tools/clang-repl/C
[clang] [llvm] [Clang-Repl] Add support for out-of-process execution. (PR #110418)
llvm-ci wrote: LLVM Buildbot has detected a new failure on builder `openmp-offload-sles-build-only` running on `rocm-worker-hw-04-sles` while building `clang` at step 6 "Add check check-clang". Full details are available at: https://lab.llvm.org/buildbot/#/builders/140/builds/10680 Here is the relevant piece of the build log for the reference ``` Step 6 (Add check check-clang) failure: test (failure) TEST 'Clang :: Interpreter/out-of-process.cpp' FAILED Exit Code: 2 Command Output (stderr): -- RUN: at line 3: cat /home/botworker/bbot/builds/openmp-offload-sles-build/llvm.src/clang/test/Interpreter/out-of-process.cpp | /home/botworker/bbot/builds/openmp-offload-sles-build/llvm.build/bin/clang-repl -oop-executor -orc-runtime | /home/botworker/bbot/builds/openmp-offload-sles-build/llvm.build/bin/FileCheck /home/botworker/bbot/builds/openmp-offload-sles-build/llvm.src/clang/test/Interpreter/out-of-process.cpp + /home/botworker/bbot/builds/openmp-offload-sles-build/llvm.build/bin/clang-repl -oop-executor -orc-runtime + cat /home/botworker/bbot/builds/openmp-offload-sles-build/llvm.src/clang/test/Interpreter/out-of-process.cpp + /home/botworker/bbot/builds/openmp-offload-sles-build/llvm.build/bin/FileCheck /home/botworker/bbot/builds/openmp-offload-sles-build/llvm.src/clang/test/Interpreter/out-of-process.cpp clang-repl: No such file or directory FileCheck error: '' is empty. FileCheck command line: /home/botworker/bbot/builds/openmp-offload-sles-build/llvm.build/bin/FileCheck /home/botworker/bbot/builds/openmp-offload-sles-build/llvm.src/clang/test/Interpreter/out-of-process.cpp -- ``` https://github.com/llvm/llvm-project/pull/110418 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [Clang-Repl] Add support for out-of-process execution. (PR #110418)
llvm-ci wrote: LLVM Buildbot has detected a new failure on builder `clang-ve-ninja` running on `hpce-ve-main` while building `clang` at step 4 "annotate". Full details are available at: https://lab.llvm.org/buildbot/#/builders/12/builds/9402 Here is the relevant piece of the build log for the reference ``` Step 4 (annotate) failure: 'python ../llvm-zorg/zorg/buildbot/builders/annotated/ve-linux.py ...' (failure) ... [295/301] Linking CXX executable tools/clang/unittests/Driver/ClangDriverTests [296/301] Linking CXX executable tools/clang/unittests/CodeGen/ClangCodeGenTests [297/301] Linking CXX executable tools/clang/unittests/Tooling/ToolingTests [298/301] Linking CXX executable tools/clang/unittests/Frontend/FrontendTests [299/301] Linking CXX executable tools/clang/unittests/Interpreter/ExceptionTests/ClangReplInterpreterExceptionTests [300/301] Linking CXX executable tools/clang/unittests/Interpreter/ClangReplInterpreterTests [300/301] Running the Clang regression tests -- Testing: 21293 tests, 48 workers -- llvm-lit: /scratch/buildbot/bothome/clang-ve-ninja/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using clang: /scratch/buildbot/bothome/clang-ve-ninja/build/build_llvm/bin/clang Testing: 0.. 10.. 20.. 30.. 40.. 50.. FAIL: Clang :: Interpreter/out-of-process.cpp (12608 of 21293) TEST 'Clang :: Interpreter/out-of-process.cpp' FAILED Exit Code: 2 Command Output (stderr): -- RUN: at line 3: cat /scratch/buildbot/bothome/clang-ve-ninja/llvm-project/clang/test/Interpreter/out-of-process.cpp | /scratch/buildbot/bothome/clang-ve-ninja/build/build_llvm/bin/clang-repl -oop-executor -orc-runtime | /scratch/buildbot/bothome/clang-ve-ninja/build/build_llvm/bin/FileCheck /scratch/buildbot/bothome/clang-ve-ninja/llvm-project/clang/test/Interpreter/out-of-process.cpp + /scratch/buildbot/bothome/clang-ve-ninja/build/build_llvm/bin/FileCheck /scratch/buildbot/bothome/clang-ve-ninja/llvm-project/clang/test/Interpreter/out-of-process.cpp + cat /scratch/buildbot/bothome/clang-ve-ninja/llvm-project/clang/test/Interpreter/out-of-process.cpp + /scratch/buildbot/bothome/clang-ve-ninja/build/build_llvm/bin/clang-repl -oop-executor -orc-runtime clang-repl: No such file or directory FileCheck error: '' is empty. FileCheck command line: /scratch/buildbot/bothome/clang-ve-ninja/build/build_llvm/bin/FileCheck /scratch/buildbot/bothome/clang-ve-ninja/llvm-project/clang/test/Interpreter/out-of-process.cpp -- Testing: 0.. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90.. Failed Tests (1): Clang :: Interpreter/out-of-process.cpp Testing Time: 50.72s Total Discovered Tests: 45608 Skipped :10 (0.02%) Unsupported : 3799 (8.33%) Passed : 41772 (91.59%) Expectedly Failed:26 (0.06%) Failed : 1 (0.00%) FAILED: tools/clang/test/CMakeFiles/check-clang /scratch/buildbot/bothome/clang-ve-ninja/build/build_llvm/tools/clang/test/CMakeFiles/check-clang cd /scratch/buildbot/bothome/clang-ve-ninja/build/build_llvm/tools/clang/test && /home/buildbot/sandbox/bin/python3 /scratch/buildbot/bothome/clang-ve-ninja/build/build_llvm/./bin/llvm-lit -sv --param USE_Z3_SOLVER=0 /scratch/buildbot/bothome/clang-ve-ninja/build/build_llvm/tools/clang/test ninja: build stopped: subcommand failed. make: *** [check-llvm] Error 1 ['make', '-f', '/scratch/buildbot/bothome/clang-ve-ninja/llvm-zorg/zorg/buildbot/builders/annotated/ve-linux-steps.make', 'check-llvm', 'BUILDROOT=/scratch/buildbot/bothome/clang-ve-ninja/build'] exited with return code 2. The build step threw an exception... Traceback (most recent call last): File "../llvm-zorg/zorg/buildbot/builders/annotated/ve-linux.py", line 47, in step Step 8 (check-llvm) failure: check-llvm (failure) ... [295/301] Linking CXX executable tools/clang/unittests/Driver/ClangDriverTests [296/301] Linking CXX executable tools/clang/unittests/CodeGen/ClangCodeGenTests [297/301] Linking CXX executable tools/clang/unittests/Tooling/ToolingTests [298/301] Linking CXX executable tools/clang/unittests/Frontend/FrontendTests [299/301] Linking CXX executable tools/clang/unittests/Interpreter/ExceptionTests/ClangReplInterpreterExceptionTests [300/301] Linking CXX executable tools/clang/unittests/Interpreter/ClangReplInterpreterTests [300/301] Running the Clang regression tests -- Testing: 21293 tests, 48 workers -- llvm-lit: /scratch/buildbot/bothome/clang-ve-ninja/llvm-project/llvm/utils/lit/lit/llvm/config.py:506: note: using clang: /scratch/buildbot/bothome/clang-ve-ninja/build/build_llvm/bin/clang Testing: 0.. 10.. 20.. 30.. 40.. 50.. FAIL: Clang :: Interpreter/out-of-process.cpp (12608 of 21293) TEST 'Clang :: Interpreter/out-of-process.cpp' FAILED Exit Code: 2 Command Output (stderr): -- RUN: at line 3: cat /scratch/buildbot/bothome/clang-ve-ninja/llvm-project/clang/test/Interpreter
[clang] [llvm] [Clang-Repl] Add support for out-of-process execution. (PR #110418)
llvm-ci wrote: LLVM Buildbot has detected a new failure on builder `llvm-clang-x86_64-sie-ubuntu-fast` running on `sie-linux-worker` while building `clang` at step 6 "test-build-unified-tree-check-all". Full details are available at: https://lab.llvm.org/buildbot/#/builders/144/builds/11400 Here is the relevant piece of the build log for the reference ``` Step 6 (test-build-unified-tree-check-all) failure: test (failure) TEST 'Clang :: Interpreter/out-of-process.cpp' FAILED Exit Code: 2 Command Output (stderr): -- RUN: at line 3: cat /home/buildbot/buildbot-root/llvm-clang-x86_64-sie-ubuntu-fast/llvm-project/clang/test/Interpreter/out-of-process.cpp | /home/buildbot/buildbot-root/llvm-clang-x86_64-sie-ubuntu-fast/build/bin/clang-repl -oop-executor -orc-runtime | /home/buildbot/buildbot-root/llvm-clang-x86_64-sie-ubuntu-fast/build/bin/FileCheck /home/buildbot/buildbot-root/llvm-clang-x86_64-sie-ubuntu-fast/llvm-project/clang/test/Interpreter/out-of-process.cpp + /home/buildbot/buildbot-root/llvm-clang-x86_64-sie-ubuntu-fast/build/bin/clang-repl -oop-executor -orc-runtime + /home/buildbot/buildbot-root/llvm-clang-x86_64-sie-ubuntu-fast/build/bin/FileCheck /home/buildbot/buildbot-root/llvm-clang-x86_64-sie-ubuntu-fast/llvm-project/clang/test/Interpreter/out-of-process.cpp + cat /home/buildbot/buildbot-root/llvm-clang-x86_64-sie-ubuntu-fast/llvm-project/clang/test/Interpreter/out-of-process.cpp clang-repl: No such file or directory FileCheck error: '' is empty. FileCheck command line: /home/buildbot/buildbot-root/llvm-clang-x86_64-sie-ubuntu-fast/build/bin/FileCheck /home/buildbot/buildbot-root/llvm-clang-x86_64-sie-ubuntu-fast/llvm-project/clang/test/Interpreter/out-of-process.cpp -- ``` https://github.com/llvm/llvm-project/pull/110418 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [Clang-Repl] Add support for out-of-process execution. (PR #110418)
https://github.com/SahilPatidar closed https://github.com/llvm/llvm-project/pull/110418 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [Clang-Repl] Add support for out-of-process execution. (PR #110418)
https://github.com/vgvassilev approved this pull request. LGTM! https://github.com/llvm/llvm-project/pull/110418 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [Clang-Repl] Add support for out-of-process execution. (PR #110418)
@@ -34,10 +41,34 @@ LLVM_ATTRIBUTE_USED int __lsan_is_turned_off() { return 1; } #endif +#define DEBUG_TYPE "clang-repl" + static llvm::cl::opt CudaEnabled("cuda", llvm::cl::Hidden); static llvm::cl::opt CudaPath("cuda-path", llvm::cl::Hidden); static llvm::cl::opt OffloadArch("offload-arch", llvm::cl::Hidden); - +static llvm::cl::OptionCategory OOPCategory("Out-of-process Execution Options"); +static llvm::cl::opt SlabAllocateSizeString( +"slab-allocate", +llvm::cl::desc("Allocate from a slab of the given size " + "(allowable suffixes: Kb, Mb, Gb. default = " + "Kb)"), +llvm::cl::init(""), llvm::cl::cat(OOPCategory)); +static llvm::cl::opt +OOPExecutor("oop-executor", +llvm::cl::desc("Launch an out-of-process executor to run code"), +llvm::cl::ValueOptional, llvm::cl::cat(OOPCategory)); +static llvm::cl::opt OOPExecutorConnect( +"oop-executor-connect", +llvm::cl::desc( +"Connect to an out-of-process executor through a TCP socket"), +llvm::cl::value_desc(":")); +static llvm::cl::opt +OrcRuntimePath("orc-runtime", llvm::cl::desc("Path to the ORC runtime"), + llvm::cl::ValueOptional, llvm::cl::cat(OOPCategory)); +static llvm::cl::opt UseSharedMemory( SahilPatidar wrote: Added default values for both `oop-executor` and `orc-runtime` options. https://github.com/llvm/llvm-project/pull/110418 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [Clang-Repl] Add support for out-of-process execution. (PR #110418)
https://github.com/SahilPatidar updated https://github.com/llvm/llvm-project/pull/110418 >From 519dd2c99bc2200d364a184e416ec03b609e1910 Mon Sep 17 00:00:00 2001 From: SahilPatidar Date: Fri, 7 Jun 2024 13:30:08 +0530 Subject: [PATCH 01/15] [Clang-Repl] Implement out-of-process execution interface for clang-repl --- clang/include/clang/Interpreter/Interpreter.h | 9 +- clang/lib/Interpreter/Interpreter.cpp | 33 ++- clang/tools/clang-repl/CMakeLists.txt | 2 + clang/tools/clang-repl/ClangRepl.cpp | 75 ++- clang/tools/clang-repl/RemoteJITUtils.cpp | 208 ++ clang/tools/clang-repl/RemoteJITUtils.h | 42 llvm/lib/ExecutionEngine/Orc/LLJIT.cpp| 3 + 7 files changed, 364 insertions(+), 8 deletions(-) create mode 100644 clang/tools/clang-repl/RemoteJITUtils.cpp create mode 100644 clang/tools/clang-repl/RemoteJITUtils.h diff --git a/clang/include/clang/Interpreter/Interpreter.h b/clang/include/clang/Interpreter/Interpreter.h index 1230a3a7016fae..147794c5870335 100644 --- a/clang/include/clang/Interpreter/Interpreter.h +++ b/clang/include/clang/Interpreter/Interpreter.h @@ -21,6 +21,7 @@ #include "llvm/ADT/DenseMap.h" #include "llvm/ExecutionEngine/JITSymbol.h" #include "llvm/ExecutionEngine/Orc/Shared/ExecutorAddress.h" +#include "llvm/ExecutionEngine/Orc/ExecutorProcessControl.h" #include "llvm/Support/Error.h" #include #include @@ -129,7 +130,13 @@ class Interpreter { public: virtual ~Interpreter(); static llvm::Expected> - create(std::unique_ptr CI); + create(std::unique_ptr CI, + std::unique_ptr JITBuilder = nullptr); + static llvm::Expected> + createWithOOPExecutor( + std::unique_ptr CI, + std::unique_ptr EI, + llvm::StringRef OrcRuntimePath); static llvm::Expected> createWithCUDA(std::unique_ptr CI, std::unique_ptr DCI); diff --git a/clang/lib/Interpreter/Interpreter.cpp b/clang/lib/Interpreter/Interpreter.cpp index bc96da811d44cb..21507906618c39 100644 --- a/clang/lib/Interpreter/Interpreter.cpp +++ b/clang/lib/Interpreter/Interpreter.cpp @@ -45,6 +45,7 @@ #include "clang/Serialization/ObjectFilePCHContainerReader.h" #include "llvm/ExecutionEngine/JITSymbol.h" #include "llvm/ExecutionEngine/Orc/LLJIT.h" +#include "llvm/ExecutionEngine/Orc/EPCDynamicLibrarySearchGenerator.h" #include "llvm/IR/Module.h" #include "llvm/Support/Errc.h" #include "llvm/Support/ErrorHandling.h" @@ -456,10 +457,12 @@ const char *const Runtimes = R"( )"; llvm::Expected> -Interpreter::create(std::unique_ptr CI) { +Interpreter::create(std::unique_ptr CI, +std::unique_ptr JB) { llvm::Error Err = llvm::Error::success(); auto Interp = - std::unique_ptr(new Interpreter(std::move(CI), Err)); + std::unique_ptr(new Interpreter(std::move(CI), Err, + JB? std::move(JB): nullptr)); if (Err) return std::move(Err); @@ -578,6 +581,26 @@ createJITTargetMachineBuilder(const std::string &TT) { return llvm::orc::JITTargetMachineBuilder(llvm::Triple(TT)); } +llvm::Expected> +Interpreter::createWithOOPExecutor( +std::unique_ptr CI, +std::unique_ptr EPC, +llvm::StringRef OrcRuntimePath) { + const std::string &TT = CI->getTargetOpts().Triple; + auto JTMB = createJITTargetMachineBuilder(TT); + if (!JTMB) +return JTMB.takeError(); + auto JB = IncrementalExecutor::createDefaultJITBuilder(std::move(*JTMB)); + if (!JB) +return JB.takeError(); + if (EPC) { +JB.get()->setExecutorProcessControl(std::move(EPC)); + JB.get()->setPlatformSetUp(llvm::orc::ExecutorNativePlatform(OrcRuntimePath.str())); + } + + return Interpreter::create(std::move(CI), std::move(*JB)); +} + llvm::Error Interpreter::CreateExecutor() { if (IncrExecutor) return llvm::make_error("Operation failed. " @@ -702,10 +725,10 @@ llvm::Error Interpreter::LoadDynamicLibrary(const char *name) { if (!EE) return EE.takeError(); - auto &DL = EE->getDataLayout(); + // auto &DL = EE->getDataLayout(); - if (auto DLSG = llvm::orc::DynamicLibrarySearchGenerator::Load( - name, DL.getGlobalPrefix())) + if (auto DLSG = llvm::orc::EPCDynamicLibrarySearchGenerator::Load( + EE->getExecutionSession(), name)) EE->getMainJITDylib().addGenerator(std::move(*DLSG)); else return DLSG.takeError(); diff --git a/clang/tools/clang-repl/CMakeLists.txt b/clang/tools/clang-repl/CMakeLists.txt index 7aebbe7a19436a..11164e3b8f5c65 100644 --- a/clang/tools/clang-repl/CMakeLists.txt +++ b/clang/tools/clang-repl/CMakeLists.txt @@ -4,7 +4,9 @@ set( LLVM_LINK_COMPONENTS LineEditor Option OrcJIT + OrcShared Support + TargetParser ) add_clang_tool(clang-repl diff --git a/clang/tools/clang-repl/ClangRepl.cpp b/clang/tools/clang-repl/ClangRepl.cpp index 08c54e6cafa901..21359df01c270f 100644 --- a/clang/tools/clang-repl/ClangRepl.cpp +++ b/clang/tools/clang-repl/C
[clang] [llvm] [Clang-Repl] Add support for out-of-process execution. (PR #110418)
@@ -47,6 +78,58 @@ static llvm::cl::opt OptHostSupportsJit("host-supports-jit", static llvm::cl::list OptInputs(llvm::cl::Positional, llvm::cl::desc("[code to run]")); +static llvm::Error sanitizeOopArguments(const char *ArgV0) { + // Only one of -oop-executor and -oop-executor-connect can be used. + if (!!OOPExecutor.getNumOccurrences() && + !!OOPExecutorConnect.getNumOccurrences()) +return llvm::make_error( +"Only one of -" + OOPExecutor.ArgStr + " and -" + +OOPExecutorConnect.ArgStr + " can be specified", +llvm::inconvertibleErrorCode()); + + // If -slab-allocate is passed, check that we're not trying to use it in + // -oop-executor or -oop-executor-connect mode. + // + // FIXME: Remove once we enable remote slab allocation. + if (SlabAllocateSizeString != "") { +if (OOPExecutor.getNumOccurrences() || +OOPExecutorConnect.getNumOccurrences()) + return llvm::make_error( + "-slab-allocate cannot be used with -oop-executor or " + "-oop-executor-connect", + llvm::inconvertibleErrorCode()); + } + + // Out-of-process executors require the ORC runtime. + if (OrcRuntimePath.empty() && (OOPExecutor.getNumOccurrences() || + OOPExecutorConnect.getNumOccurrences())) { +llvm::SmallString<256> BasePath(llvm::sys::fs::getMainExecutable( +ArgV0, reinterpret_cast(&sanitizeOopArguments))); +llvm::sys::path::remove_filename(BasePath); // Remove clang-repl filename. +llvm::sys::path::remove_filename(BasePath); // Remove ./bin directory. +llvm::Triple SystemTriple(llvm::sys::getProcessTriple()); +llvm::sys::path::append(BasePath, CLANG_INSTALL_LIBDIR_BASENAME, "clang", +CLANG_VERSION_MAJOR_STRING); +if (SystemTriple.isOSBinFormatELF()) + OrcRuntimePath = + BasePath.str().str() + "lib/x86_64-unknown-linux-gnu/liborc_rt.a"; +else if (SystemTriple.isOSBinFormatMachO()) + OrcRuntimePath = BasePath.str().str() + "/lib/darwin/liborc_rt_osx.a"; vgvassilev wrote: Sure. https://github.com/llvm/llvm-project/pull/110418 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [Clang-Repl] Add support for out-of-process execution. (PR #110418)
@@ -34,10 +41,34 @@ LLVM_ATTRIBUTE_USED int __lsan_is_turned_off() { return 1; } #endif +#define DEBUG_TYPE "clang-repl" + static llvm::cl::opt CudaEnabled("cuda", llvm::cl::Hidden); static llvm::cl::opt CudaPath("cuda-path", llvm::cl::Hidden); static llvm::cl::opt OffloadArch("offload-arch", llvm::cl::Hidden); - +static llvm::cl::OptionCategory OOPCategory("Out-of-process Execution Options"); +static llvm::cl::opt SlabAllocateSizeString( +"slab-allocate", +llvm::cl::desc("Allocate from a slab of the given size " + "(allowable suffixes: Kb, Mb, Gb. default = " + "Kb)"), +llvm::cl::init(""), llvm::cl::cat(OOPCategory)); +static llvm::cl::opt +OOPExecutor("oop-executor", +llvm::cl::desc("Launch an out-of-process executor to run code"), +llvm::cl::ValueOptional, llvm::cl::cat(OOPCategory)); +static llvm::cl::opt OOPExecutorConnect( +"oop-executor-connect", +llvm::cl::desc( +"Connect to an out-of-process executor through a TCP socket"), +llvm::cl::value_desc(":")); +static llvm::cl::opt +OrcRuntimePath("orc-runtime", llvm::cl::desc("Path to the ORC runtime"), + llvm::cl::ValueOptional, llvm::cl::cat(OOPCategory)); +static llvm::cl::opt UseSharedMemory( vgvassilev wrote: What is the default here? https://github.com/llvm/llvm-project/pull/110418 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [Clang-Repl] Add support for out-of-process execution. (PR #110418)
https://github.com/SahilPatidar updated https://github.com/llvm/llvm-project/pull/110418 >From 519dd2c99bc2200d364a184e416ec03b609e1910 Mon Sep 17 00:00:00 2001 From: SahilPatidar Date: Fri, 7 Jun 2024 13:30:08 +0530 Subject: [PATCH 01/14] [Clang-Repl] Implement out-of-process execution interface for clang-repl --- clang/include/clang/Interpreter/Interpreter.h | 9 +- clang/lib/Interpreter/Interpreter.cpp | 33 ++- clang/tools/clang-repl/CMakeLists.txt | 2 + clang/tools/clang-repl/ClangRepl.cpp | 75 ++- clang/tools/clang-repl/RemoteJITUtils.cpp | 208 ++ clang/tools/clang-repl/RemoteJITUtils.h | 42 llvm/lib/ExecutionEngine/Orc/LLJIT.cpp| 3 + 7 files changed, 364 insertions(+), 8 deletions(-) create mode 100644 clang/tools/clang-repl/RemoteJITUtils.cpp create mode 100644 clang/tools/clang-repl/RemoteJITUtils.h diff --git a/clang/include/clang/Interpreter/Interpreter.h b/clang/include/clang/Interpreter/Interpreter.h index 1230a3a7016fae..147794c5870335 100644 --- a/clang/include/clang/Interpreter/Interpreter.h +++ b/clang/include/clang/Interpreter/Interpreter.h @@ -21,6 +21,7 @@ #include "llvm/ADT/DenseMap.h" #include "llvm/ExecutionEngine/JITSymbol.h" #include "llvm/ExecutionEngine/Orc/Shared/ExecutorAddress.h" +#include "llvm/ExecutionEngine/Orc/ExecutorProcessControl.h" #include "llvm/Support/Error.h" #include #include @@ -129,7 +130,13 @@ class Interpreter { public: virtual ~Interpreter(); static llvm::Expected> - create(std::unique_ptr CI); + create(std::unique_ptr CI, + std::unique_ptr JITBuilder = nullptr); + static llvm::Expected> + createWithOOPExecutor( + std::unique_ptr CI, + std::unique_ptr EI, + llvm::StringRef OrcRuntimePath); static llvm::Expected> createWithCUDA(std::unique_ptr CI, std::unique_ptr DCI); diff --git a/clang/lib/Interpreter/Interpreter.cpp b/clang/lib/Interpreter/Interpreter.cpp index bc96da811d44cb..21507906618c39 100644 --- a/clang/lib/Interpreter/Interpreter.cpp +++ b/clang/lib/Interpreter/Interpreter.cpp @@ -45,6 +45,7 @@ #include "clang/Serialization/ObjectFilePCHContainerReader.h" #include "llvm/ExecutionEngine/JITSymbol.h" #include "llvm/ExecutionEngine/Orc/LLJIT.h" +#include "llvm/ExecutionEngine/Orc/EPCDynamicLibrarySearchGenerator.h" #include "llvm/IR/Module.h" #include "llvm/Support/Errc.h" #include "llvm/Support/ErrorHandling.h" @@ -456,10 +457,12 @@ const char *const Runtimes = R"( )"; llvm::Expected> -Interpreter::create(std::unique_ptr CI) { +Interpreter::create(std::unique_ptr CI, +std::unique_ptr JB) { llvm::Error Err = llvm::Error::success(); auto Interp = - std::unique_ptr(new Interpreter(std::move(CI), Err)); + std::unique_ptr(new Interpreter(std::move(CI), Err, + JB? std::move(JB): nullptr)); if (Err) return std::move(Err); @@ -578,6 +581,26 @@ createJITTargetMachineBuilder(const std::string &TT) { return llvm::orc::JITTargetMachineBuilder(llvm::Triple(TT)); } +llvm::Expected> +Interpreter::createWithOOPExecutor( +std::unique_ptr CI, +std::unique_ptr EPC, +llvm::StringRef OrcRuntimePath) { + const std::string &TT = CI->getTargetOpts().Triple; + auto JTMB = createJITTargetMachineBuilder(TT); + if (!JTMB) +return JTMB.takeError(); + auto JB = IncrementalExecutor::createDefaultJITBuilder(std::move(*JTMB)); + if (!JB) +return JB.takeError(); + if (EPC) { +JB.get()->setExecutorProcessControl(std::move(EPC)); + JB.get()->setPlatformSetUp(llvm::orc::ExecutorNativePlatform(OrcRuntimePath.str())); + } + + return Interpreter::create(std::move(CI), std::move(*JB)); +} + llvm::Error Interpreter::CreateExecutor() { if (IncrExecutor) return llvm::make_error("Operation failed. " @@ -702,10 +725,10 @@ llvm::Error Interpreter::LoadDynamicLibrary(const char *name) { if (!EE) return EE.takeError(); - auto &DL = EE->getDataLayout(); + // auto &DL = EE->getDataLayout(); - if (auto DLSG = llvm::orc::DynamicLibrarySearchGenerator::Load( - name, DL.getGlobalPrefix())) + if (auto DLSG = llvm::orc::EPCDynamicLibrarySearchGenerator::Load( + EE->getExecutionSession(), name)) EE->getMainJITDylib().addGenerator(std::move(*DLSG)); else return DLSG.takeError(); diff --git a/clang/tools/clang-repl/CMakeLists.txt b/clang/tools/clang-repl/CMakeLists.txt index 7aebbe7a19436a..11164e3b8f5c65 100644 --- a/clang/tools/clang-repl/CMakeLists.txt +++ b/clang/tools/clang-repl/CMakeLists.txt @@ -4,7 +4,9 @@ set( LLVM_LINK_COMPONENTS LineEditor Option OrcJIT + OrcShared Support + TargetParser ) add_clang_tool(clang-repl diff --git a/clang/tools/clang-repl/ClangRepl.cpp b/clang/tools/clang-repl/ClangRepl.cpp index 08c54e6cafa901..21359df01c270f 100644 --- a/clang/tools/clang-repl/ClangRepl.cpp +++ b/clang/tools/clang-repl/C
[clang] [llvm] [Clang-Repl] Add support for out-of-process execution. (PR #110418)
https://github.com/SahilPatidar updated https://github.com/llvm/llvm-project/pull/110418 >From 519dd2c99bc2200d364a184e416ec03b609e1910 Mon Sep 17 00:00:00 2001 From: SahilPatidar Date: Fri, 7 Jun 2024 13:30:08 +0530 Subject: [PATCH 01/13] [Clang-Repl] Implement out-of-process execution interface for clang-repl --- clang/include/clang/Interpreter/Interpreter.h | 9 +- clang/lib/Interpreter/Interpreter.cpp | 33 ++- clang/tools/clang-repl/CMakeLists.txt | 2 + clang/tools/clang-repl/ClangRepl.cpp | 75 ++- clang/tools/clang-repl/RemoteJITUtils.cpp | 208 ++ clang/tools/clang-repl/RemoteJITUtils.h | 42 llvm/lib/ExecutionEngine/Orc/LLJIT.cpp| 3 + 7 files changed, 364 insertions(+), 8 deletions(-) create mode 100644 clang/tools/clang-repl/RemoteJITUtils.cpp create mode 100644 clang/tools/clang-repl/RemoteJITUtils.h diff --git a/clang/include/clang/Interpreter/Interpreter.h b/clang/include/clang/Interpreter/Interpreter.h index 1230a3a7016fae..147794c5870335 100644 --- a/clang/include/clang/Interpreter/Interpreter.h +++ b/clang/include/clang/Interpreter/Interpreter.h @@ -21,6 +21,7 @@ #include "llvm/ADT/DenseMap.h" #include "llvm/ExecutionEngine/JITSymbol.h" #include "llvm/ExecutionEngine/Orc/Shared/ExecutorAddress.h" +#include "llvm/ExecutionEngine/Orc/ExecutorProcessControl.h" #include "llvm/Support/Error.h" #include #include @@ -129,7 +130,13 @@ class Interpreter { public: virtual ~Interpreter(); static llvm::Expected> - create(std::unique_ptr CI); + create(std::unique_ptr CI, + std::unique_ptr JITBuilder = nullptr); + static llvm::Expected> + createWithOOPExecutor( + std::unique_ptr CI, + std::unique_ptr EI, + llvm::StringRef OrcRuntimePath); static llvm::Expected> createWithCUDA(std::unique_ptr CI, std::unique_ptr DCI); diff --git a/clang/lib/Interpreter/Interpreter.cpp b/clang/lib/Interpreter/Interpreter.cpp index bc96da811d44cb..21507906618c39 100644 --- a/clang/lib/Interpreter/Interpreter.cpp +++ b/clang/lib/Interpreter/Interpreter.cpp @@ -45,6 +45,7 @@ #include "clang/Serialization/ObjectFilePCHContainerReader.h" #include "llvm/ExecutionEngine/JITSymbol.h" #include "llvm/ExecutionEngine/Orc/LLJIT.h" +#include "llvm/ExecutionEngine/Orc/EPCDynamicLibrarySearchGenerator.h" #include "llvm/IR/Module.h" #include "llvm/Support/Errc.h" #include "llvm/Support/ErrorHandling.h" @@ -456,10 +457,12 @@ const char *const Runtimes = R"( )"; llvm::Expected> -Interpreter::create(std::unique_ptr CI) { +Interpreter::create(std::unique_ptr CI, +std::unique_ptr JB) { llvm::Error Err = llvm::Error::success(); auto Interp = - std::unique_ptr(new Interpreter(std::move(CI), Err)); + std::unique_ptr(new Interpreter(std::move(CI), Err, + JB? std::move(JB): nullptr)); if (Err) return std::move(Err); @@ -578,6 +581,26 @@ createJITTargetMachineBuilder(const std::string &TT) { return llvm::orc::JITTargetMachineBuilder(llvm::Triple(TT)); } +llvm::Expected> +Interpreter::createWithOOPExecutor( +std::unique_ptr CI, +std::unique_ptr EPC, +llvm::StringRef OrcRuntimePath) { + const std::string &TT = CI->getTargetOpts().Triple; + auto JTMB = createJITTargetMachineBuilder(TT); + if (!JTMB) +return JTMB.takeError(); + auto JB = IncrementalExecutor::createDefaultJITBuilder(std::move(*JTMB)); + if (!JB) +return JB.takeError(); + if (EPC) { +JB.get()->setExecutorProcessControl(std::move(EPC)); + JB.get()->setPlatformSetUp(llvm::orc::ExecutorNativePlatform(OrcRuntimePath.str())); + } + + return Interpreter::create(std::move(CI), std::move(*JB)); +} + llvm::Error Interpreter::CreateExecutor() { if (IncrExecutor) return llvm::make_error("Operation failed. " @@ -702,10 +725,10 @@ llvm::Error Interpreter::LoadDynamicLibrary(const char *name) { if (!EE) return EE.takeError(); - auto &DL = EE->getDataLayout(); + // auto &DL = EE->getDataLayout(); - if (auto DLSG = llvm::orc::DynamicLibrarySearchGenerator::Load( - name, DL.getGlobalPrefix())) + if (auto DLSG = llvm::orc::EPCDynamicLibrarySearchGenerator::Load( + EE->getExecutionSession(), name)) EE->getMainJITDylib().addGenerator(std::move(*DLSG)); else return DLSG.takeError(); diff --git a/clang/tools/clang-repl/CMakeLists.txt b/clang/tools/clang-repl/CMakeLists.txt index 7aebbe7a19436a..11164e3b8f5c65 100644 --- a/clang/tools/clang-repl/CMakeLists.txt +++ b/clang/tools/clang-repl/CMakeLists.txt @@ -4,7 +4,9 @@ set( LLVM_LINK_COMPONENTS LineEditor Option OrcJIT + OrcShared Support + TargetParser ) add_clang_tool(clang-repl diff --git a/clang/tools/clang-repl/ClangRepl.cpp b/clang/tools/clang-repl/ClangRepl.cpp index 08c54e6cafa901..21359df01c270f 100644 --- a/clang/tools/clang-repl/ClangRepl.cpp +++ b/clang/tools/clang-repl/C
[clang] [llvm] [Clang-Repl] Add support for out-of-process execution. (PR #110418)
@@ -47,6 +78,58 @@ static llvm::cl::opt OptHostSupportsJit("host-supports-jit", static llvm::cl::list OptInputs(llvm::cl::Positional, llvm::cl::desc("[code to run]")); +static llvm::Error sanitizeOopArguments(const char *ArgV0) { + // Only one of -oop-executor and -oop-executor-connect can be used. + if (!!OOPExecutor.getNumOccurrences() && + !!OOPExecutorConnect.getNumOccurrences()) +return llvm::make_error( +"Only one of -" + OOPExecutor.ArgStr + " and -" + +OOPExecutorConnect.ArgStr + " can be specified", +llvm::inconvertibleErrorCode()); + + // If -slab-allocate is passed, check that we're not trying to use it in + // -oop-executor or -oop-executor-connect mode. + // + // FIXME: Remove once we enable remote slab allocation. + if (SlabAllocateSizeString != "") { +if (OOPExecutor.getNumOccurrences() || +OOPExecutorConnect.getNumOccurrences()) + return llvm::make_error( + "-slab-allocate cannot be used with -oop-executor or " + "-oop-executor-connect", + llvm::inconvertibleErrorCode()); + } + + // Out-of-process executors require the ORC runtime. + if (OrcRuntimePath.empty() && (OOPExecutor.getNumOccurrences() || + OOPExecutorConnect.getNumOccurrences())) { +llvm::SmallString<256> BasePath(llvm::sys::fs::getMainExecutable( +ArgV0, reinterpret_cast(&sanitizeOopArguments))); +llvm::sys::path::remove_filename(BasePath); // Remove clang-repl filename. +llvm::sys::path::remove_filename(BasePath); // Remove ./bin directory. +llvm::Triple SystemTriple(llvm::sys::getProcessTriple()); +llvm::sys::path::append(BasePath, CLANG_INSTALL_LIBDIR_BASENAME, "clang", +CLANG_VERSION_MAJOR_STRING); +if (SystemTriple.isOSBinFormatELF()) + OrcRuntimePath = + BasePath.str().str() + "lib/x86_64-unknown-linux-gnu/liborc_rt.a"; +else if (SystemTriple.isOSBinFormatMachO()) + OrcRuntimePath = BasePath.str().str() + "/lib/darwin/liborc_rt_osx.a"; SahilPatidar wrote: I think we should add this check at the beginning of the function? https://github.com/llvm/llvm-project/pull/110418 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [Clang-Repl] Add support for out-of-process execution. (PR #110418)
https://github.com/SahilPatidar updated https://github.com/llvm/llvm-project/pull/110418 >From a3bdb2c9e5f9f5c75dfb35647cf3513c6c631412 Mon Sep 17 00:00:00 2001 From: SahilPatidar Date: Fri, 7 Jun 2024 13:30:08 +0530 Subject: [PATCH 01/11] [Clang-Repl] Implement out-of-process execution interface for clang-repl --- clang/include/clang/Interpreter/Interpreter.h | 9 +- clang/lib/Interpreter/Interpreter.cpp | 33 ++- clang/tools/clang-repl/CMakeLists.txt | 2 + clang/tools/clang-repl/ClangRepl.cpp | 75 ++- clang/tools/clang-repl/RemoteJITUtils.cpp | 208 ++ clang/tools/clang-repl/RemoteJITUtils.h | 42 llvm/lib/ExecutionEngine/Orc/LLJIT.cpp| 3 + 7 files changed, 364 insertions(+), 8 deletions(-) create mode 100644 clang/tools/clang-repl/RemoteJITUtils.cpp create mode 100644 clang/tools/clang-repl/RemoteJITUtils.h diff --git a/clang/include/clang/Interpreter/Interpreter.h b/clang/include/clang/Interpreter/Interpreter.h index 1230a3a7016fae..147794c5870335 100644 --- a/clang/include/clang/Interpreter/Interpreter.h +++ b/clang/include/clang/Interpreter/Interpreter.h @@ -21,6 +21,7 @@ #include "llvm/ADT/DenseMap.h" #include "llvm/ExecutionEngine/JITSymbol.h" #include "llvm/ExecutionEngine/Orc/Shared/ExecutorAddress.h" +#include "llvm/ExecutionEngine/Orc/ExecutorProcessControl.h" #include "llvm/Support/Error.h" #include #include @@ -129,7 +130,13 @@ class Interpreter { public: virtual ~Interpreter(); static llvm::Expected> - create(std::unique_ptr CI); + create(std::unique_ptr CI, + std::unique_ptr JITBuilder = nullptr); + static llvm::Expected> + createWithOOPExecutor( + std::unique_ptr CI, + std::unique_ptr EI, + llvm::StringRef OrcRuntimePath); static llvm::Expected> createWithCUDA(std::unique_ptr CI, std::unique_ptr DCI); diff --git a/clang/lib/Interpreter/Interpreter.cpp b/clang/lib/Interpreter/Interpreter.cpp index bc96da811d44cb..21507906618c39 100644 --- a/clang/lib/Interpreter/Interpreter.cpp +++ b/clang/lib/Interpreter/Interpreter.cpp @@ -45,6 +45,7 @@ #include "clang/Serialization/ObjectFilePCHContainerReader.h" #include "llvm/ExecutionEngine/JITSymbol.h" #include "llvm/ExecutionEngine/Orc/LLJIT.h" +#include "llvm/ExecutionEngine/Orc/EPCDynamicLibrarySearchGenerator.h" #include "llvm/IR/Module.h" #include "llvm/Support/Errc.h" #include "llvm/Support/ErrorHandling.h" @@ -456,10 +457,12 @@ const char *const Runtimes = R"( )"; llvm::Expected> -Interpreter::create(std::unique_ptr CI) { +Interpreter::create(std::unique_ptr CI, +std::unique_ptr JB) { llvm::Error Err = llvm::Error::success(); auto Interp = - std::unique_ptr(new Interpreter(std::move(CI), Err)); + std::unique_ptr(new Interpreter(std::move(CI), Err, + JB? std::move(JB): nullptr)); if (Err) return std::move(Err); @@ -578,6 +581,26 @@ createJITTargetMachineBuilder(const std::string &TT) { return llvm::orc::JITTargetMachineBuilder(llvm::Triple(TT)); } +llvm::Expected> +Interpreter::createWithOOPExecutor( +std::unique_ptr CI, +std::unique_ptr EPC, +llvm::StringRef OrcRuntimePath) { + const std::string &TT = CI->getTargetOpts().Triple; + auto JTMB = createJITTargetMachineBuilder(TT); + if (!JTMB) +return JTMB.takeError(); + auto JB = IncrementalExecutor::createDefaultJITBuilder(std::move(*JTMB)); + if (!JB) +return JB.takeError(); + if (EPC) { +JB.get()->setExecutorProcessControl(std::move(EPC)); + JB.get()->setPlatformSetUp(llvm::orc::ExecutorNativePlatform(OrcRuntimePath.str())); + } + + return Interpreter::create(std::move(CI), std::move(*JB)); +} + llvm::Error Interpreter::CreateExecutor() { if (IncrExecutor) return llvm::make_error("Operation failed. " @@ -702,10 +725,10 @@ llvm::Error Interpreter::LoadDynamicLibrary(const char *name) { if (!EE) return EE.takeError(); - auto &DL = EE->getDataLayout(); + // auto &DL = EE->getDataLayout(); - if (auto DLSG = llvm::orc::DynamicLibrarySearchGenerator::Load( - name, DL.getGlobalPrefix())) + if (auto DLSG = llvm::orc::EPCDynamicLibrarySearchGenerator::Load( + EE->getExecutionSession(), name)) EE->getMainJITDylib().addGenerator(std::move(*DLSG)); else return DLSG.takeError(); diff --git a/clang/tools/clang-repl/CMakeLists.txt b/clang/tools/clang-repl/CMakeLists.txt index 7aebbe7a19436a..11164e3b8f5c65 100644 --- a/clang/tools/clang-repl/CMakeLists.txt +++ b/clang/tools/clang-repl/CMakeLists.txt @@ -4,7 +4,9 @@ set( LLVM_LINK_COMPONENTS LineEditor Option OrcJIT + OrcShared Support + TargetParser ) add_clang_tool(clang-repl diff --git a/clang/tools/clang-repl/ClangRepl.cpp b/clang/tools/clang-repl/ClangRepl.cpp index 08c54e6cafa901..21359df01c270f 100644 --- a/clang/tools/clang-repl/ClangRepl.cpp +++ b/clang/tools/clang-repl/C
[clang] [llvm] [Clang-Repl] Add support for out-of-process execution. (PR #110418)
https://github.com/lhames approved this pull request. `EPCDynamicLibrarySearchGenerator` suggestion aside, LGTM. https://github.com/llvm/llvm-project/pull/110418 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [Clang-Repl] Add support for out-of-process execution. (PR #110418)
@@ -702,10 +723,8 @@ llvm::Error Interpreter::LoadDynamicLibrary(const char *name) { if (!EE) return EE.takeError(); - auto &DL = EE->getDataLayout(); - - if (auto DLSG = llvm::orc::DynamicLibrarySearchGenerator::Load( - name, DL.getGlobalPrefix())) + if (auto DLSG = llvm::orc::EPCDynamicLibrarySearchGenerator::Load( lhames wrote: `EPC` is `ExecutorProcessControl` -- using these variants means that the system works regardless of the underlying implementation (`SelfExecutorProcessControl` vs `SimpleRemoteEPC`), whereas using `DynamicLibrarySearchGenerator` _only_ works in the current process. Eventually I want to get rid of the Non-EPC variants. I might even invert the naming scheme and start calling the old ones "LegacyInProcess". :) https://github.com/llvm/llvm-project/pull/110418 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [Clang-Repl] Add support for out-of-process execution. (PR #110418)
@@ -47,6 +76,59 @@ static llvm::cl::opt OptHostSupportsJit("host-supports-jit", static llvm::cl::list OptInputs(llvm::cl::Positional, llvm::cl::desc("[code to run]")); +static llvm::Error sanitizeOopArguments(const char *ArgV0) { + // Only one of -oop-executor and -oop-executor-connect can be used. + if (!!OOPExecutor.getNumOccurrences() && + !!OOPExecutorConnect.getNumOccurrences()) +return llvm::make_error( +"Only one of -" + OOPExecutor.ArgStr + " and -" + +OOPExecutorConnect.ArgStr + " can be specified", +llvm::inconvertibleErrorCode()); + + // If -slab-allocate is passed, check that we're not trying to use it in + // -oop-executor or -oop-executor-connect mode. + // + // FIXME: Remove once we enable remote slab allocation. + if (SlabAllocateSizeString != "") { +if (OOPExecutor.getNumOccurrences() || +OOPExecutorConnect.getNumOccurrences()) + return llvm::make_error( + "-slab-allocate cannot be used with -oop-executor or " + "-oop-executor-connect", + llvm::inconvertibleErrorCode()); + } + + // Out-of-process executors must run with the ORC runtime for destructor + // support. + if (OrcRuntimePath.empty() && (OOPExecutor.getNumOccurrences() || + OOPExecutorConnect.getNumOccurrences())) { +llvm::SmallString<256> OrcPath(llvm::sys::fs::getMainExecutable( +ArgV0, reinterpret_cast(&sanitizeOopArguments))); +llvm::sys::path::remove_filename(OrcPath); // Remove clang-repl filename. +llvm::sys::path::remove_filename(OrcPath); // Remove ./bin directory. +llvm::Triple SystemTriple(llvm::sys::getProcessTriple()); +llvm::StringRef Path; +if (SystemTriple.isOSBinFormatELF()) + Path = "lib/clang/20/lib/x86_64-unknown-linux-gnu/liborc_rt.a"; +else if (SystemTriple.isOSBinFormatMachO()) + Path = "lib/clang/20/lib/darwin/liborc_rt_osx.a"; vgvassilev wrote: No, that won’t work. It hardcodes the clang version. We probably need to use the clang version macro at least. https://github.com/llvm/llvm-project/pull/110418 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [Clang-Repl] Add support for out-of-process execution. (PR #110418)
@@ -47,6 +76,59 @@ static llvm::cl::opt OptHostSupportsJit("host-supports-jit", static llvm::cl::list OptInputs(llvm::cl::Positional, llvm::cl::desc("[code to run]")); +static llvm::Error sanitizeOopArguments(const char *ArgV0) { + // Only one of -oop-executor and -oop-executor-connect can be used. + if (!!OOPExecutor.getNumOccurrences() && + !!OOPExecutorConnect.getNumOccurrences()) +return llvm::make_error( +"Only one of -" + OOPExecutor.ArgStr + " and -" + +OOPExecutorConnect.ArgStr + " can be specified", +llvm::inconvertibleErrorCode()); + + // If -slab-allocate is passed, check that we're not trying to use it in + // -oop-executor or -oop-executor-connect mode. + // + // FIXME: Remove once we enable remote slab allocation. + if (SlabAllocateSizeString != "") { +if (OOPExecutor.getNumOccurrences() || +OOPExecutorConnect.getNumOccurrences()) + return llvm::make_error( + "-slab-allocate cannot be used with -oop-executor or " + "-oop-executor-connect", + llvm::inconvertibleErrorCode()); + } + + // Out-of-process executors must run with the ORC runtime for destructor + // support. + if (OrcRuntimePath.empty() && (OOPExecutor.getNumOccurrences() || + OOPExecutorConnect.getNumOccurrences())) { +llvm::SmallString<256> OrcPath(llvm::sys::fs::getMainExecutable( +ArgV0, reinterpret_cast(&sanitizeOopArguments))); +llvm::sys::path::remove_filename(OrcPath); // Remove clang-repl filename. +llvm::sys::path::remove_filename(OrcPath); // Remove ./bin directory. +llvm::Triple SystemTriple(llvm::sys::getProcessTriple()); +llvm::StringRef Path; +if (SystemTriple.isOSBinFormatELF()) + Path = "lib/clang/20/lib/x86_64-unknown-linux-gnu/liborc_rt.a"; +else if (SystemTriple.isOSBinFormatMachO()) + Path = "lib/clang/20/lib/darwin/liborc_rt_osx.a"; lhames wrote: Ok -- Do we expect this relative path to work there in general? This definitely isn't a blocker for this patch landing, but probably worth adding a TODO for: "Make sure this works with installed toolchains". https://github.com/llvm/llvm-project/pull/110418 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [Clang-Repl] Add support for out-of-process execution. (PR #110418)
@@ -0,0 +1,263 @@ +//===-- RemoteJITUtils.cpp - Utilities for remote-JITing *- C++ -*-===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===--===// + lhames wrote: Let's leave it for now, but add a FIXME to unify the code with the stuff in `llvm-jitlink`. ORC is the right place for it. https://github.com/llvm/llvm-project/pull/110418 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [Clang-Repl] Add support for out-of-process execution. (PR #110418)
@@ -697,15 +718,20 @@ llvm::Error Interpreter::Undo(unsigned N) { return llvm::Error::success(); } -llvm::Error Interpreter::LoadDynamicLibrary(const char *name) { +llvm::Error Interpreter::LoadDynamicLibrary(const char *name, bool UseEPC) { auto EE = getExecutionEngine(); if (!EE) return EE.takeError(); auto &DL = EE->getDataLayout(); - - if (auto DLSG = llvm::orc::DynamicLibrarySearchGenerator::Load( - name, DL.getGlobalPrefix())) + if (UseEPC) { +if (auto DLSG = llvm::orc::EPCDynamicLibrarySearchGenerator::Load( +EE->getExecutionSession(), name)) + EE->getMainJITDylib().addGenerator(std::move(*DLSG)); +else + return DLSG.takeError(); + } else if (auto DLSG = llvm::orc::DynamicLibrarySearchGenerator::Load( + name, DL.getGlobalPrefix())) EE->getMainJITDylib().addGenerator(std::move(*DLSG)); else return DLSG.takeError(); lhames wrote: Have you tried using the EPC generator unconditionally here? That should always work now. https://github.com/llvm/llvm-project/pull/110418 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [Clang-Repl] Add support for out-of-process execution. (PR #110418)
vgvassilev wrote: Any chance in adding tests? https://github.com/llvm/llvm-project/pull/110418 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [Clang-Repl] Add support for out-of-process execution. (PR #110418)
SahilPatidar wrote: > Any chance in adding tests? Yes, I’ll add some tests. https://github.com/llvm/llvm-project/pull/110418 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [Clang-Repl] Add support for out-of-process execution. (PR #110418)
@@ -0,0 +1,263 @@ +//===-- RemoteJITUtils.cpp - Utilities for remote-JITing *- C++ -*-===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===--===// + SahilPatidar wrote: Could we move this to the llvm Support? https://github.com/llvm/llvm-project/pull/110418 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [Clang-Repl] Add support for out-of-process execution. (PR #110418)
https://github.com/SahilPatidar updated https://github.com/llvm/llvm-project/pull/110418 >From a3bdb2c9e5f9f5c75dfb35647cf3513c6c631412 Mon Sep 17 00:00:00 2001 From: SahilPatidar Date: Fri, 7 Jun 2024 13:30:08 +0530 Subject: [PATCH 01/10] [Clang-Repl] Implement out-of-process execution interface for clang-repl --- clang/include/clang/Interpreter/Interpreter.h | 9 +- clang/lib/Interpreter/Interpreter.cpp | 33 ++- clang/tools/clang-repl/CMakeLists.txt | 2 + clang/tools/clang-repl/ClangRepl.cpp | 75 ++- clang/tools/clang-repl/RemoteJITUtils.cpp | 208 ++ clang/tools/clang-repl/RemoteJITUtils.h | 42 llvm/lib/ExecutionEngine/Orc/LLJIT.cpp| 3 + 7 files changed, 364 insertions(+), 8 deletions(-) create mode 100644 clang/tools/clang-repl/RemoteJITUtils.cpp create mode 100644 clang/tools/clang-repl/RemoteJITUtils.h diff --git a/clang/include/clang/Interpreter/Interpreter.h b/clang/include/clang/Interpreter/Interpreter.h index 1230a3a7016fae..147794c5870335 100644 --- a/clang/include/clang/Interpreter/Interpreter.h +++ b/clang/include/clang/Interpreter/Interpreter.h @@ -21,6 +21,7 @@ #include "llvm/ADT/DenseMap.h" #include "llvm/ExecutionEngine/JITSymbol.h" #include "llvm/ExecutionEngine/Orc/Shared/ExecutorAddress.h" +#include "llvm/ExecutionEngine/Orc/ExecutorProcessControl.h" #include "llvm/Support/Error.h" #include #include @@ -129,7 +130,13 @@ class Interpreter { public: virtual ~Interpreter(); static llvm::Expected> - create(std::unique_ptr CI); + create(std::unique_ptr CI, + std::unique_ptr JITBuilder = nullptr); + static llvm::Expected> + createWithOOPExecutor( + std::unique_ptr CI, + std::unique_ptr EI, + llvm::StringRef OrcRuntimePath); static llvm::Expected> createWithCUDA(std::unique_ptr CI, std::unique_ptr DCI); diff --git a/clang/lib/Interpreter/Interpreter.cpp b/clang/lib/Interpreter/Interpreter.cpp index bc96da811d44cb..21507906618c39 100644 --- a/clang/lib/Interpreter/Interpreter.cpp +++ b/clang/lib/Interpreter/Interpreter.cpp @@ -45,6 +45,7 @@ #include "clang/Serialization/ObjectFilePCHContainerReader.h" #include "llvm/ExecutionEngine/JITSymbol.h" #include "llvm/ExecutionEngine/Orc/LLJIT.h" +#include "llvm/ExecutionEngine/Orc/EPCDynamicLibrarySearchGenerator.h" #include "llvm/IR/Module.h" #include "llvm/Support/Errc.h" #include "llvm/Support/ErrorHandling.h" @@ -456,10 +457,12 @@ const char *const Runtimes = R"( )"; llvm::Expected> -Interpreter::create(std::unique_ptr CI) { +Interpreter::create(std::unique_ptr CI, +std::unique_ptr JB) { llvm::Error Err = llvm::Error::success(); auto Interp = - std::unique_ptr(new Interpreter(std::move(CI), Err)); + std::unique_ptr(new Interpreter(std::move(CI), Err, + JB? std::move(JB): nullptr)); if (Err) return std::move(Err); @@ -578,6 +581,26 @@ createJITTargetMachineBuilder(const std::string &TT) { return llvm::orc::JITTargetMachineBuilder(llvm::Triple(TT)); } +llvm::Expected> +Interpreter::createWithOOPExecutor( +std::unique_ptr CI, +std::unique_ptr EPC, +llvm::StringRef OrcRuntimePath) { + const std::string &TT = CI->getTargetOpts().Triple; + auto JTMB = createJITTargetMachineBuilder(TT); + if (!JTMB) +return JTMB.takeError(); + auto JB = IncrementalExecutor::createDefaultJITBuilder(std::move(*JTMB)); + if (!JB) +return JB.takeError(); + if (EPC) { +JB.get()->setExecutorProcessControl(std::move(EPC)); + JB.get()->setPlatformSetUp(llvm::orc::ExecutorNativePlatform(OrcRuntimePath.str())); + } + + return Interpreter::create(std::move(CI), std::move(*JB)); +} + llvm::Error Interpreter::CreateExecutor() { if (IncrExecutor) return llvm::make_error("Operation failed. " @@ -702,10 +725,10 @@ llvm::Error Interpreter::LoadDynamicLibrary(const char *name) { if (!EE) return EE.takeError(); - auto &DL = EE->getDataLayout(); + // auto &DL = EE->getDataLayout(); - if (auto DLSG = llvm::orc::DynamicLibrarySearchGenerator::Load( - name, DL.getGlobalPrefix())) + if (auto DLSG = llvm::orc::EPCDynamicLibrarySearchGenerator::Load( + EE->getExecutionSession(), name)) EE->getMainJITDylib().addGenerator(std::move(*DLSG)); else return DLSG.takeError(); diff --git a/clang/tools/clang-repl/CMakeLists.txt b/clang/tools/clang-repl/CMakeLists.txt index 7aebbe7a19436a..11164e3b8f5c65 100644 --- a/clang/tools/clang-repl/CMakeLists.txt +++ b/clang/tools/clang-repl/CMakeLists.txt @@ -4,7 +4,9 @@ set( LLVM_LINK_COMPONENTS LineEditor Option OrcJIT + OrcShared Support + TargetParser ) add_clang_tool(clang-repl diff --git a/clang/tools/clang-repl/ClangRepl.cpp b/clang/tools/clang-repl/ClangRepl.cpp index 08c54e6cafa901..21359df01c270f 100644 --- a/clang/tools/clang-repl/ClangRepl.cpp +++ b/clang/tools/clang-repl/C
[clang] [llvm] [Clang-Repl] Add support for out-of-process execution. (PR #110418)
@@ -47,6 +76,59 @@ static llvm::cl::opt OptHostSupportsJit("host-supports-jit", static llvm::cl::list OptInputs(llvm::cl::Positional, llvm::cl::desc("[code to run]")); +static llvm::Error sanitizeOopArguments(const char *ArgV0) { + // Only one of -oop-executor and -oop-executor-connect can be used. + if (!!OOPExecutor.getNumOccurrences() && + !!OOPExecutorConnect.getNumOccurrences()) +return llvm::make_error( +"Only one of -" + OOPExecutor.ArgStr + " and -" + +OOPExecutorConnect.ArgStr + " can be specified", +llvm::inconvertibleErrorCode()); + + // If -slab-allocate is passed, check that we're not trying to use it in + // -oop-executor or -oop-executor-connect mode. + // + // FIXME: Remove once we enable remote slab allocation. + if (SlabAllocateSizeString != "") { +if (OOPExecutor.getNumOccurrences() || +OOPExecutorConnect.getNumOccurrences()) + return llvm::make_error( + "-slab-allocate cannot be used with -oop-executor or " + "-oop-executor-connect", + llvm::inconvertibleErrorCode()); + } + + // Out-of-process executors must run with the ORC runtime for destructor + // support. + if (OrcRuntimePath.empty() && (OOPExecutor.getNumOccurrences() || + OOPExecutorConnect.getNumOccurrences())) { +llvm::SmallString<256> OrcPath(llvm::sys::fs::getMainExecutable( +ArgV0, reinterpret_cast(&sanitizeOopArguments))); +llvm::sys::path::remove_filename(OrcPath); // Remove clang-repl filename. +llvm::sys::path::remove_filename(OrcPath); // Remove ./bin directory. +llvm::Triple SystemTriple(llvm::sys::getProcessTriple()); +llvm::StringRef Path; +if (SystemTriple.isOSBinFormatELF()) + Path = "lib/clang/20/lib/x86_64-unknown-linux-gnu/liborc_rt.a"; +else if (SystemTriple.isOSBinFormatMachO()) + Path = "lib/clang/20/lib/darwin/liborc_rt_osx.a"; vgvassilev wrote: Clang-repl is included in the toolchains, yes. https://github.com/llvm/llvm-project/pull/110418 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [Clang-Repl] Add support for out-of-process execution. (PR #110418)
@@ -0,0 +1,263 @@ +//===-- RemoteJITUtils.cpp - Utilities for remote-JITing *- C++ -*-===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===--===// + +#include "clang/Interpreter/RemoteJITUtils.h" + +#include "llvm/ADT/StringExtras.h" +#include "llvm/ExecutionEngine/Orc/DebugObjectManagerPlugin.h" +#include "llvm/ExecutionEngine/Orc/EPCDebugObjectRegistrar.h" +#include "llvm/ExecutionEngine/Orc/EPCDynamicLibrarySearchGenerator.h" +#include "llvm/ExecutionEngine/Orc/MapperJITLinkMemoryManager.h" +#include "llvm/ExecutionEngine/Orc/Shared/OrcRTBridge.h" +#include "llvm/ExecutionEngine/Orc/Shared/SimpleRemoteEPCUtils.h" +#include "llvm/ExecutionEngine/Orc/TargetProcess/JITLoaderGDB.h" +#include "llvm/Support/FileSystem.h" +#include "llvm/Support/Path.h" + +#ifdef LLVM_ON_UNIX +#include +#include +#include +#include +#endif // LLVM_ON_UNIX + +using namespace llvm; +using namespace llvm::orc; + +Expected getSlabAllocSize(StringRef SizeString) { + SizeString = SizeString.trim(); + + uint64_t Units = 1024; + + if (SizeString.ends_with_insensitive("kb")) +SizeString = SizeString.drop_back(2).rtrim(); + else if (SizeString.ends_with_insensitive("mb")) { +Units = 1024 * 1024; +SizeString = SizeString.drop_back(2).rtrim(); + } else if (SizeString.ends_with_insensitive("gb")) { +Units = 1024 * 1024 * 1024; +SizeString = SizeString.drop_back(2).rtrim(); + } + + uint64_t SlabSize = 0; + if (SizeString.getAsInteger(10, SlabSize)) +return make_error("Invalid numeric format for slab size", + inconvertibleErrorCode()); + + return SlabSize * Units; +} + +Expected> +createSharedMemoryManager(SimpleRemoteEPC &SREPC, + StringRef SlabAllocateSizeString) { + SharedMemoryMapper::SymbolAddrs SAs; + if (auto Err = SREPC.getBootstrapSymbols( + {{SAs.Instance, rt::ExecutorSharedMemoryMapperServiceInstanceName}, + {SAs.Reserve, +rt::ExecutorSharedMemoryMapperServiceReserveWrapperName}, + {SAs.Initialize, +rt::ExecutorSharedMemoryMapperServiceInitializeWrapperName}, + {SAs.Deinitialize, +rt::ExecutorSharedMemoryMapperServiceDeinitializeWrapperName}, + {SAs.Release, +rt::ExecutorSharedMemoryMapperServiceReleaseWrapperName}})) +return std::move(Err); + +#ifdef _WIN32 + size_t SlabSize = 1024 * 1024; +#else + size_t SlabSize = 1024 * 1024 * 1024; SahilPatidar wrote: This code is part of `llvm-jitlink.cpp`. https://github.com/llvm/llvm-project/pull/110418 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [Clang-Repl] Add support for out-of-process execution. (PR #110418)
@@ -0,0 +1,263 @@ +//===-- RemoteJITUtils.cpp - Utilities for remote-JITing *- C++ -*-===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===--===// + vgvassilev wrote: Maybe to ORC? https://github.com/llvm/llvm-project/pull/110418 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [Clang-Repl] Add support for out-of-process execution. (PR #110418)
@@ -0,0 +1,261 @@ +//===-- RemoteJITUtils.cpp - Utilities for remote-JITing *- C++ -*-===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===--===// + +#include "clang/Interpreter/RemoteJITUtils.h" + +#include "llvm/ADT/StringExtras.h" +#include "llvm/ExecutionEngine/Orc/DebugObjectManagerPlugin.h" +#include "llvm/ExecutionEngine/Orc/EPCDebugObjectRegistrar.h" +#include "llvm/ExecutionEngine/Orc/EPCDynamicLibrarySearchGenerator.h" +#include "llvm/ExecutionEngine/Orc/MapperJITLinkMemoryManager.h" +#include "llvm/ExecutionEngine/Orc/Shared/OrcRTBridge.h" +#include "llvm/ExecutionEngine/Orc/Shared/SimpleRemoteEPCUtils.h" +#include "llvm/ExecutionEngine/Orc/TargetProcess/JITLoaderGDB.h" +#include "llvm/Support/FileSystem.h" +#include "llvm/Support/Path.h" + +#ifdef LLVM_ON_UNIX +#include +#include +#include +#include +#endif // LLVM_ON_UNIX + +using namespace llvm; +using namespace llvm::orc; + +static ExitOnError ExitOnErr; vgvassilev wrote: We can't have something like this in a library. We should propagate back the errors to the callers. https://github.com/llvm/llvm-project/pull/110418 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [Clang-Repl] Add support for out-of-process execution. (PR #110418)
@@ -702,10 +723,8 @@ llvm::Error Interpreter::LoadDynamicLibrary(const char *name) { if (!EE) return EE.takeError(); - auto &DL = EE->getDataLayout(); - - if (auto DLSG = llvm::orc::DynamicLibrarySearchGenerator::Load( - name, DL.getGlobalPrefix())) + if (auto DLSG = llvm::orc::EPCDynamicLibrarySearchGenerator::Load( vgvassilev wrote: Should we not default to in-process and only if we require out-of-process to set these things specifically for out-of-process? https://github.com/llvm/llvm-project/pull/110418 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [Clang-Repl] Add support for out-of-process execution. (PR #110418)
https://github.com/vgvassilev edited https://github.com/llvm/llvm-project/pull/110418 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [Clang-Repl] Add support for out-of-process execution. (PR #110418)
https://github.com/vgvassilev commented: I'd feel more comfortable if @lhames takes a look, too. Can you run some benchmarks and compare in-process to out-of-process to out-of-process with shared memory (same architecture)? https://github.com/llvm/llvm-project/pull/110418 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [Clang-Repl] Add support for out-of-process execution. (PR #110418)
https://github.com/SahilPatidar updated https://github.com/llvm/llvm-project/pull/110418 >From d3385116da9f9020bd6bb11b0e8ee8ed16348cfd Mon Sep 17 00:00:00 2001 From: SahilPatidar Date: Fri, 7 Jun 2024 13:30:08 +0530 Subject: [PATCH 1/6] [Clang-Repl] Implement out-of-process execution interface for clang-repl --- clang/include/clang/Interpreter/Interpreter.h | 9 +- clang/lib/Interpreter/Interpreter.cpp | 33 ++- clang/tools/clang-repl/CMakeLists.txt | 2 + clang/tools/clang-repl/ClangRepl.cpp | 75 ++- clang/tools/clang-repl/RemoteJITUtils.cpp | 208 ++ clang/tools/clang-repl/RemoteJITUtils.h | 42 llvm/lib/ExecutionEngine/Orc/LLJIT.cpp| 3 + 7 files changed, 364 insertions(+), 8 deletions(-) create mode 100644 clang/tools/clang-repl/RemoteJITUtils.cpp create mode 100644 clang/tools/clang-repl/RemoteJITUtils.h diff --git a/clang/include/clang/Interpreter/Interpreter.h b/clang/include/clang/Interpreter/Interpreter.h index 1230a3a7016fae..147794c5870335 100644 --- a/clang/include/clang/Interpreter/Interpreter.h +++ b/clang/include/clang/Interpreter/Interpreter.h @@ -21,6 +21,7 @@ #include "llvm/ADT/DenseMap.h" #include "llvm/ExecutionEngine/JITSymbol.h" #include "llvm/ExecutionEngine/Orc/Shared/ExecutorAddress.h" +#include "llvm/ExecutionEngine/Orc/ExecutorProcessControl.h" #include "llvm/Support/Error.h" #include #include @@ -129,7 +130,13 @@ class Interpreter { public: virtual ~Interpreter(); static llvm::Expected> - create(std::unique_ptr CI); + create(std::unique_ptr CI, + std::unique_ptr JITBuilder = nullptr); + static llvm::Expected> + createWithOOPExecutor( + std::unique_ptr CI, + std::unique_ptr EI, + llvm::StringRef OrcRuntimePath); static llvm::Expected> createWithCUDA(std::unique_ptr CI, std::unique_ptr DCI); diff --git a/clang/lib/Interpreter/Interpreter.cpp b/clang/lib/Interpreter/Interpreter.cpp index bc96da811d44cb..21507906618c39 100644 --- a/clang/lib/Interpreter/Interpreter.cpp +++ b/clang/lib/Interpreter/Interpreter.cpp @@ -45,6 +45,7 @@ #include "clang/Serialization/ObjectFilePCHContainerReader.h" #include "llvm/ExecutionEngine/JITSymbol.h" #include "llvm/ExecutionEngine/Orc/LLJIT.h" +#include "llvm/ExecutionEngine/Orc/EPCDynamicLibrarySearchGenerator.h" #include "llvm/IR/Module.h" #include "llvm/Support/Errc.h" #include "llvm/Support/ErrorHandling.h" @@ -456,10 +457,12 @@ const char *const Runtimes = R"( )"; llvm::Expected> -Interpreter::create(std::unique_ptr CI) { +Interpreter::create(std::unique_ptr CI, +std::unique_ptr JB) { llvm::Error Err = llvm::Error::success(); auto Interp = - std::unique_ptr(new Interpreter(std::move(CI), Err)); + std::unique_ptr(new Interpreter(std::move(CI), Err, + JB? std::move(JB): nullptr)); if (Err) return std::move(Err); @@ -578,6 +581,26 @@ createJITTargetMachineBuilder(const std::string &TT) { return llvm::orc::JITTargetMachineBuilder(llvm::Triple(TT)); } +llvm::Expected> +Interpreter::createWithOOPExecutor( +std::unique_ptr CI, +std::unique_ptr EPC, +llvm::StringRef OrcRuntimePath) { + const std::string &TT = CI->getTargetOpts().Triple; + auto JTMB = createJITTargetMachineBuilder(TT); + if (!JTMB) +return JTMB.takeError(); + auto JB = IncrementalExecutor::createDefaultJITBuilder(std::move(*JTMB)); + if (!JB) +return JB.takeError(); + if (EPC) { +JB.get()->setExecutorProcessControl(std::move(EPC)); + JB.get()->setPlatformSetUp(llvm::orc::ExecutorNativePlatform(OrcRuntimePath.str())); + } + + return Interpreter::create(std::move(CI), std::move(*JB)); +} + llvm::Error Interpreter::CreateExecutor() { if (IncrExecutor) return llvm::make_error("Operation failed. " @@ -702,10 +725,10 @@ llvm::Error Interpreter::LoadDynamicLibrary(const char *name) { if (!EE) return EE.takeError(); - auto &DL = EE->getDataLayout(); + // auto &DL = EE->getDataLayout(); - if (auto DLSG = llvm::orc::DynamicLibrarySearchGenerator::Load( - name, DL.getGlobalPrefix())) + if (auto DLSG = llvm::orc::EPCDynamicLibrarySearchGenerator::Load( + EE->getExecutionSession(), name)) EE->getMainJITDylib().addGenerator(std::move(*DLSG)); else return DLSG.takeError(); diff --git a/clang/tools/clang-repl/CMakeLists.txt b/clang/tools/clang-repl/CMakeLists.txt index 9ffe853d759caf..9c1eb1ea558c1f 100644 --- a/clang/tools/clang-repl/CMakeLists.txt +++ b/clang/tools/clang-repl/CMakeLists.txt @@ -4,7 +4,9 @@ set( LLVM_LINK_COMPONENTS LineEditor Option OrcJIT + OrcShared Support + TargetParser ) add_clang_tool(clang-repl diff --git a/clang/tools/clang-repl/ClangRepl.cpp b/clang/tools/clang-repl/ClangRepl.cpp index 08c54e6cafa901..21359df01c270f 100644 --- a/clang/tools/clang-repl/ClangRepl.cpp +++ b/clang/tools/clang-repl/Cla
[clang] [llvm] [Clang-Repl] Add support for out-of-process execution. (PR #110418)
github-actions[bot] wrote: :warning: C/C++ code formatter, clang-format found issues in your code. :warning: You can test this locally with the following command: ``bash git-clang-format --diff 75e08a527b716a11b3085a9ea4f5bed80c386323 fa27f86f0630da403f1b5143ac36a9a6ed934af7 --extensions h,cpp -- clang/include/clang/Interpreter/RemoteJITUtils.h clang/lib/Interpreter/RemoteJITUtils.cpp clang/include/clang/Interpreter/Interpreter.h clang/lib/Interpreter/Interpreter.cpp clang/tools/clang-repl/ClangRepl.cpp llvm/lib/ExecutionEngine/Orc/LLJIT.cpp `` View the diff from clang-format here. ``diff diff --git a/clang/include/clang/Interpreter/Interpreter.h b/clang/include/clang/Interpreter/Interpreter.h index db482f1b7e..4248630408 100644 --- a/clang/include/clang/Interpreter/Interpreter.h +++ b/clang/include/clang/Interpreter/Interpreter.h @@ -20,8 +20,8 @@ #include "llvm/ADT/DenseMap.h" #include "llvm/ExecutionEngine/JITSymbol.h" -#include "llvm/ExecutionEngine/Orc/Shared/ExecutorAddress.h" #include "llvm/ExecutionEngine/Orc/ExecutorProcessControl.h" +#include "llvm/ExecutionEngine/Orc/Shared/ExecutorAddress.h" #include "llvm/Support/Error.h" #include #include @@ -136,9 +136,8 @@ public: createWithCUDA(std::unique_ptr CI, std::unique_ptr DCI); static llvm::Expected> - createLLJITBuilder( - std::unique_ptr EPC, - llvm::StringRef OrcRuntimePath); + createLLJITBuilder(std::unique_ptr EPC, + llvm::StringRef OrcRuntimePath); const ASTContext &getASTContext() const; ASTContext &getASTContext(); const CompilerInstance *getCompilerInstance() const; diff --git a/llvm/lib/ExecutionEngine/Orc/LLJIT.cpp b/llvm/lib/ExecutionEngine/Orc/LLJIT.cpp index 3daeaafe03..992659e769 100644 --- a/llvm/lib/ExecutionEngine/Orc/LLJIT.cpp +++ b/llvm/lib/ExecutionEngine/Orc/LLJIT.cpp @@ -1159,7 +1159,8 @@ Expected ExecutorNativePlatform::operator()(LLJIT &J) { auto &ES = J.getExecutionSession(); auto &PlatformJD = ES.createBareJITDylib(""); - if (auto DSGOrErr = EPCDynamicLibrarySearchGenerator::GetForTargetProcess(ES)) { + if (auto DSGOrErr = + EPCDynamicLibrarySearchGenerator::GetForTargetProcess(ES)) { PlatformJD.addGenerator(std::move(*DSGOrErr)); } PlatformJD.addToLinkOrder(*ProcessSymbolsJD); `` https://github.com/llvm/llvm-project/pull/110418 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [llvm] [Clang-Repl] Add support for out-of-process execution. (PR #110418)
https://github.com/SahilPatidar created https://github.com/llvm/llvm-project/pull/110418 This PR introduces out-of-process (OOP) execution support for Clang-Repl. With this enhancement, two new flags, `oop-executor` and `oop-executor-connect`, are added to the Clang-Repl interface. These flags enable the launch of an external executor (`llvm-jitlink-executor`), which handles code execution in a separate process. >From d3385116da9f9020bd6bb11b0e8ee8ed16348cfd Mon Sep 17 00:00:00 2001 From: SahilPatidar Date: Fri, 7 Jun 2024 13:30:08 +0530 Subject: [PATCH 1/5] [Clang-Repl] Implement out-of-process execution interface for clang-repl --- clang/include/clang/Interpreter/Interpreter.h | 9 +- clang/lib/Interpreter/Interpreter.cpp | 33 ++- clang/tools/clang-repl/CMakeLists.txt | 2 + clang/tools/clang-repl/ClangRepl.cpp | 75 ++- clang/tools/clang-repl/RemoteJITUtils.cpp | 208 ++ clang/tools/clang-repl/RemoteJITUtils.h | 42 llvm/lib/ExecutionEngine/Orc/LLJIT.cpp| 3 + 7 files changed, 364 insertions(+), 8 deletions(-) create mode 100644 clang/tools/clang-repl/RemoteJITUtils.cpp create mode 100644 clang/tools/clang-repl/RemoteJITUtils.h diff --git a/clang/include/clang/Interpreter/Interpreter.h b/clang/include/clang/Interpreter/Interpreter.h index 1230a3a7016fae..147794c5870335 100644 --- a/clang/include/clang/Interpreter/Interpreter.h +++ b/clang/include/clang/Interpreter/Interpreter.h @@ -21,6 +21,7 @@ #include "llvm/ADT/DenseMap.h" #include "llvm/ExecutionEngine/JITSymbol.h" #include "llvm/ExecutionEngine/Orc/Shared/ExecutorAddress.h" +#include "llvm/ExecutionEngine/Orc/ExecutorProcessControl.h" #include "llvm/Support/Error.h" #include #include @@ -129,7 +130,13 @@ class Interpreter { public: virtual ~Interpreter(); static llvm::Expected> - create(std::unique_ptr CI); + create(std::unique_ptr CI, + std::unique_ptr JITBuilder = nullptr); + static llvm::Expected> + createWithOOPExecutor( + std::unique_ptr CI, + std::unique_ptr EI, + llvm::StringRef OrcRuntimePath); static llvm::Expected> createWithCUDA(std::unique_ptr CI, std::unique_ptr DCI); diff --git a/clang/lib/Interpreter/Interpreter.cpp b/clang/lib/Interpreter/Interpreter.cpp index bc96da811d44cb..21507906618c39 100644 --- a/clang/lib/Interpreter/Interpreter.cpp +++ b/clang/lib/Interpreter/Interpreter.cpp @@ -45,6 +45,7 @@ #include "clang/Serialization/ObjectFilePCHContainerReader.h" #include "llvm/ExecutionEngine/JITSymbol.h" #include "llvm/ExecutionEngine/Orc/LLJIT.h" +#include "llvm/ExecutionEngine/Orc/EPCDynamicLibrarySearchGenerator.h" #include "llvm/IR/Module.h" #include "llvm/Support/Errc.h" #include "llvm/Support/ErrorHandling.h" @@ -456,10 +457,12 @@ const char *const Runtimes = R"( )"; llvm::Expected> -Interpreter::create(std::unique_ptr CI) { +Interpreter::create(std::unique_ptr CI, +std::unique_ptr JB) { llvm::Error Err = llvm::Error::success(); auto Interp = - std::unique_ptr(new Interpreter(std::move(CI), Err)); + std::unique_ptr(new Interpreter(std::move(CI), Err, + JB? std::move(JB): nullptr)); if (Err) return std::move(Err); @@ -578,6 +581,26 @@ createJITTargetMachineBuilder(const std::string &TT) { return llvm::orc::JITTargetMachineBuilder(llvm::Triple(TT)); } +llvm::Expected> +Interpreter::createWithOOPExecutor( +std::unique_ptr CI, +std::unique_ptr EPC, +llvm::StringRef OrcRuntimePath) { + const std::string &TT = CI->getTargetOpts().Triple; + auto JTMB = createJITTargetMachineBuilder(TT); + if (!JTMB) +return JTMB.takeError(); + auto JB = IncrementalExecutor::createDefaultJITBuilder(std::move(*JTMB)); + if (!JB) +return JB.takeError(); + if (EPC) { +JB.get()->setExecutorProcessControl(std::move(EPC)); + JB.get()->setPlatformSetUp(llvm::orc::ExecutorNativePlatform(OrcRuntimePath.str())); + } + + return Interpreter::create(std::move(CI), std::move(*JB)); +} + llvm::Error Interpreter::CreateExecutor() { if (IncrExecutor) return llvm::make_error("Operation failed. " @@ -702,10 +725,10 @@ llvm::Error Interpreter::LoadDynamicLibrary(const char *name) { if (!EE) return EE.takeError(); - auto &DL = EE->getDataLayout(); + // auto &DL = EE->getDataLayout(); - if (auto DLSG = llvm::orc::DynamicLibrarySearchGenerator::Load( - name, DL.getGlobalPrefix())) + if (auto DLSG = llvm::orc::EPCDynamicLibrarySearchGenerator::Load( + EE->getExecutionSession(), name)) EE->getMainJITDylib().addGenerator(std::move(*DLSG)); else return DLSG.takeError(); diff --git a/clang/tools/clang-repl/CMakeLists.txt b/clang/tools/clang-repl/CMakeLists.txt index 9ffe853d759caf..9c1eb1ea558c1f 100644 --- a/clang/tools/clang-repl/CMakeLists.txt +++ b/clang/tools/clang-repl/CMakeLists.txt @@ -4,7 +4,9 @@ set( LLVM_L