[clang] [llvm] [Clang-Repl] Add support for out-of-process execution. (PR #110418)

2024-11-13 Thread LLVM Continuous Integration via cfe-commits

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)

2024-11-13 Thread LLVM Continuous Integration via cfe-commits

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)

2024-11-12 Thread LLVM Continuous Integration via cfe-commits

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)

2024-11-12 Thread LLVM Continuous Integration via cfe-commits

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)

2024-11-12 Thread LLVM Continuous Integration via cfe-commits

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)

2024-11-12 Thread LLVM Continuous Integration via cfe-commits

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)

2024-11-12 Thread LLVM Continuous Integration via cfe-commits

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)

2024-11-12 Thread LLVM Continuous Integration via cfe-commits

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)

2024-11-12 Thread LLVM Continuous Integration via cfe-commits

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)

2024-11-12 Thread LLVM Continuous Integration via cfe-commits

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)

2024-11-12 Thread LLVM Continuous Integration via cfe-commits

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)

2024-11-12 Thread LLVM Continuous Integration via cfe-commits

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)

2024-11-12 Thread LLVM Continuous Integration via cfe-commits

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)

2024-11-12 Thread LLVM Continuous Integration via cfe-commits

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)

2024-11-12 Thread LLVM Continuous Integration via cfe-commits

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)

2024-11-12 Thread LLVM Continuous Integration via cfe-commits

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)

2024-11-12 Thread LLVM Continuous Integration via cfe-commits

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)

2024-11-12 Thread LLVM Continuous Integration via cfe-commits

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)

2024-11-12 Thread Tom Weaver via cfe-commits

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)

2024-11-12 Thread Vassil Vassilev via cfe-commits

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)

2024-11-12 Thread Vassil Vassilev via cfe-commits

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)

2024-11-12 Thread Paul Osmialowski via cfe-commits

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)

2024-11-12 Thread LLVM Continuous Integration via cfe-commits

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)

2024-11-12 Thread Tom Weaver via cfe-commits

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)

2024-11-12 Thread LLVM Continuous Integration via cfe-commits

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)

2024-11-12 Thread LLVM Continuous Integration via cfe-commits

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)

2024-11-12 Thread LLVM Continuous Integration via cfe-commits

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)

2024-11-12 Thread LLVM Continuous Integration via cfe-commits

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)

2024-11-12 Thread LLVM Continuous Integration via cfe-commits

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)

2024-11-12 Thread LLVM Continuous Integration via cfe-commits

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)

2024-11-12 Thread LLVM Continuous Integration via cfe-commits

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)

2024-11-12 Thread LLVM Continuous Integration via cfe-commits

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)

2024-11-12 Thread LLVM Continuous Integration via cfe-commits

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)

2024-11-12 Thread LLVM Continuous Integration via cfe-commits

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)

2024-11-12 Thread LLVM Continuous Integration via cfe-commits

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)

2024-11-12 Thread LLVM Continuous Integration via cfe-commits

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)

2024-11-12 Thread LLVM Continuous Integration via cfe-commits

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)

2024-11-12 Thread LLVM Continuous Integration via cfe-commits

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)

2024-11-12 Thread LLVM Continuous Integration via cfe-commits

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)

2024-11-12 Thread via cfe-commits

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)

2024-11-12 Thread LLVM Continuous Integration via cfe-commits

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)

2024-11-12 Thread LLVM Continuous Integration via cfe-commits

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)

2024-11-12 Thread LLVM Continuous Integration via cfe-commits

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)

2024-11-12 Thread via cfe-commits

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)

2024-11-11 Thread Vassil Vassilev via cfe-commits

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)

2024-11-11 Thread via cfe-commits


@@ -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)

2024-11-11 Thread via cfe-commits

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)

2024-11-10 Thread Vassil Vassilev via cfe-commits


@@ -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)

2024-11-10 Thread Vassil Vassilev via cfe-commits


@@ -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)

2024-11-10 Thread via cfe-commits

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)

2024-11-09 Thread via cfe-commits

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)

2024-11-08 Thread via cfe-commits


@@ -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)

2024-11-07 Thread via cfe-commits

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)

2024-11-06 Thread Lang Hames via cfe-commits

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)

2024-11-06 Thread Lang Hames via cfe-commits


@@ -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)

2024-11-06 Thread Vassil Vassilev via cfe-commits


@@ -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)

2024-11-06 Thread Lang Hames via cfe-commits


@@ -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)

2024-11-06 Thread Lang Hames via cfe-commits


@@ -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)

2024-11-06 Thread Lang Hames via cfe-commits


@@ -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)

2024-11-06 Thread Vassil Vassilev via cfe-commits

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)

2024-11-06 Thread via cfe-commits

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)

2024-11-06 Thread via cfe-commits


@@ -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)

2024-11-06 Thread via cfe-commits

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)

2024-11-06 Thread Vassil Vassilev via cfe-commits


@@ -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)

2024-11-06 Thread via cfe-commits


@@ -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)

2024-11-06 Thread Vassil Vassilev via cfe-commits


@@ -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)

2024-11-06 Thread Vassil Vassilev via cfe-commits


@@ -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)

2024-10-01 Thread Vassil Vassilev via cfe-commits


@@ -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)

2024-10-01 Thread Vassil Vassilev via cfe-commits

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)

2024-10-01 Thread Vassil Vassilev via cfe-commits

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)

2024-09-29 Thread via cfe-commits

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)

2024-09-29 Thread via cfe-commits

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)

2024-09-29 Thread via cfe-commits

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