Skip to content

Conversation

AidanBeltonS
Copy link

@AidanBeltonS AidanBeltonS commented Jul 6, 2021

Update tests to specify if unsupported by ROCm.
Add suitable backend checks for tests which require them.
Update lit.site.cfg to select correct AOT AMD device.

vladimirlaz and others added 30 commits November 3, 2020 11:23
Header include is missed for std::max_element. The problem is exposed
only for MS VS 2019
Atomics are not supported for FPGA emulator device
* Fix misprints in RUN commands
* Disable unsupported test on CUDA
The end to end tests with OpenCL/CUDA/Level_Zero dependencies
are moved out in-source LIT tests.
* [SYCL] Fix test issues

- Mark free_function_queries.cpp UNSUPPORTED for Level_Zero.
- Fix global size to enable HandleException.cpp and add OpenCL backend
requirement because expected exception is generated for OpenCL only.
- Remove XFAIL for matrix_transpose_glb.cpp
This patch enables function pointers tests back for Level Zero backend
after fix in Level Zero runtime which resolves hang.
Tests that use images are still failing and are not enabled.
Environemnt setting were not applied for compilation step.
Also improve logging for extra environment settings.
This will improve degubability of the ESIMD tests.
It allows to propagate error message from a backend compiler.
%clangxx and %clang were always set to clang which is not expected.
After the fix the substitutions above are set to the compiler passed by the user.

The change exposed several issues with existing change which were fixed:
* Fix build of tests requiring OpenCL ICD loader
* Fix windows specific test
* Disable unsupported tests
* Fix tests which are not functional with clang-cl
Use of SYCL_BE and SYCL_DEVICE_TYPE was removed from LIT framework.
SYCL_DEVICE_FILTER is used instead:
 - update [CPU|GPU|ACC]_RUN_PLACEHOLDER to use SYCL_DEVICE_FILTER;
 - change values format used to define a backend and a device type to
match SYCL_DEVICE_FILTER requirements;
 - add BE_RUN_PLACEHOLDER to set backend only for tests which require
that;
 - add mapping from old SYCL backend name format to new one to avoid
   impact on CI automation.
* add device tests from intel/llvm
* disable tests which use clang command line format when clang-cl is used
* increase individual test timeout to 600 sec
* remove duplicated files;
 * mark test unsupported if it requires level_zero headers and the
   headers are not availble.
The impacted tests use functions defined in <algorithm>. The header is
not included implicitely on the latest MS VC compiler causing
compilation error. The tests are updated with explicit include of
missing headers.
steffenlarsen and others added 27 commits June 9, 2021 14:08
sub_group_sycl2020.cpp test is currently marked as unsupported for CUDA
due to missing support for kernel-bundles. This patch adds a special
CUDA path for avoiding the use of kernel-bundles, using the known size
of sub-groups instead of querying for it.

Signed-off-by: Steffen Larsen <[email protected]>
…ory (#306)

* [SYCL][ESIMD] add vc-codegen option to private memory tests

* [SYCL][ESIMD] enlarge stateless stack size to avoide frame allocation size warnings
After OpenCL CPU support of SPV_EXT_shader_atomic_float_* has arrived,
the compiler is switched to defining the SYCL_USE_NATIVE_FP_ATOMICS
internally for non-FPGA, non-NVPTX targets. Any further compiler changes
that may come after NVPTX/FPGA HW support lands will not require test
change, as the guarantee will remain that correct (native or emulated)
versions of FP atomic functions get emitted and executed by the HW.

Signed-off-by: Artem Gindinson <[email protected]>
Disable checks for JIT compile/link due to intel/llvm#3862 "Build options are ignored when JIT compile/link is done
as separate commands"
* it seems normalization is working correctly.  Should re-enable sampler tests to avoid future regressions.

Signed-off-by: Chris Perkins <[email protected]>
* Add exception handling into test_set_and_get_on_host test
… type (#327)

* [SYCL][ESIMD] Add a test for noinline function arguments of a pointer type.
This patch prepares FilterSelector tests for transitioning from
sycl::ONEAPI to sycl::oneapi namespace.
Now that the fp16 aspect is connected to the cuda PI (https://github.com/intel/llvm/pull/4029/files) one test case (fp16-with-unnamed-lambda.cpp) that now runs for cuda if the device has the fp16 aspect failed because it was missing the triple for ptx.  The triple has been added.
nan.cpp fails for the fp64 case that was switched on by (intel/llvm#3950).

Signed-off-by: JackAKirk <[email protected]>
ekilmer added a commit to trail-of-forks/instafix-llvm-test-suite that referenced this pull request Jun 10, 2025
[6/7] : && /home/erickilmer/src/llvm-test-suite/build/tools/timeit --summary MultiSource/Benchmarks/tramp3d-v4/tramp3d-v4.link.time /home/erickilmer/src/instafix/out/build/linux/bin/instafix-front/instafix-front --ld-path=instafix-lld-tool --for-linker=--fake-executable=/home/erickilmer/src/instafix/out/build/linux/bin/instafix-ld/instafix-ld    -O3 -DNDEBUG  MultiSource/Benchmarks/tramp3d-v4/CMakeFiles/tramp3d-v4.dir/tramp3d-v4.cpp.o -o MultiSource/Benchmarks/tramp3d-v4/tramp3d-v4   && cd /home/erickilmer/src/llvm-test-suite/build/MultiSource/Benchmarks/tramp3d-v4 && /usr/bin/cmake -E create_symlink /home/erickilmer/src/llvm-test-suite/MultiSource/Benchmarks/tramp3d-v4/tramp3d-v4.reference_output /home/erickilmer/src/llvm-test-suite/build/MultiSource/Benchmarks/tramp3d-v4/tramp3d-v4.reference_output
FAILED: MultiSource/Benchmarks/tramp3d-v4/tramp3d-v4
: && /home/erickilmer/src/llvm-test-suite/build/tools/timeit --summary MultiSource/Benchmarks/tramp3d-v4/tramp3d-v4.link.time /home/erickilmer/src/instafix/out/build/linux/bin/instafix-front/instafix-front --ld-path=instafix-lld-tool --for-linker=--fake-executable=/home/erickilmer/src/instafix/out/build/linux/bin/instafix-ld/instafix-ld    -O3 -DNDEBUG  MultiSource/Benchmarks/tramp3d-v4/CMakeFiles/tramp3d-v4.dir/tramp3d-v4.cpp.o -o MultiSource/Benchmarks/tramp3d-v4/tramp3d-v4   && cd /home/erickilmer/src/llvm-test-suite/build/MultiSource/Benchmarks/tramp3d-v4 && /usr/bin/cmake -E create_symlink /home/erickilmer/src/llvm-test-suite/MultiSource/Benchmarks/tramp3d-v4/tramp3d-v4.reference_output /home/erickilmer/src/llvm-test-suite/build/MultiSource/Benchmarks/tramp3d-v4/tramp3d-v4.reference_output
ClangLoc: /home/erickilmer/src/instafix-llvm/llvm/out/install/linux/bin/clang
Executing a non indexed phase: "/home/erickilmer/src/instafix/out/build/linux/instafix-lld/instafix-lld-tool" -z relro --hash-style=gnu --eh-frame-hdr -m elf_x86_64 -pie -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o MultiSource/Benchmarks/tramp3d-v4/tramp3d-v4 /lib/x86_64-linux-gnu/Scrt1.o /lib/x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib64 -L/lib/x86_64-linux-gnu -L/lib/../lib64 -L/usr/lib/x86_64-linux-gnu -L/usr/lib64 -L/lib -L/usr/lib --fake-executable=/home/erickilmer/src/instafix/out/build/linux/bin/instafix-ld/instafix-ld MultiSource/Benchmarks/tramp3d-v4/CMakeFiles/tramp3d-v4.dir/tramp3d-v4.cpp.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /lib/x86_64-linux-gnu/crtn.o
program_name: /home/erickilmer/src/instafix/out/build/linux/instafix-lld/instafix-lld-tool
input_file: /lib/x86_64-linux-gnu/Scrt1.o
input_file: /lib/x86_64-linux-gnu/crti.o
input_file: /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o
input_file: MultiSource/Benchmarks/tramp3d-v4/CMakeFiles/tramp3d-v4.dir/tramp3d-v4.cpp.o
input_file: /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o
input_file: /lib/x86_64-linux-gnu/crtn.o
instafix-lld-tool: /home/erickilmer/src/instafix-llvm/llvm/include/llvm/ADT/SmallVector.h:313: const_reference llvm::SmallVectorTemplateCommon<mlir::Operation *>::back() const [T = mlir::Operation *]: Assertion `!empty()' failed.
could not parse main module
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.      Program arguments: /home/erickilmer/src/instafix/out/build/linux/bin/instafix-front/instafix-front --ld-path=instafix-lld-tool --for-linker=--fake-executable=/home/erickilmer/src/instafix/out/build/linux/bin/instafix-ld/instafix-ld -O3 -DNDEBUG MultiSource/Benchmarks/tramp3d-v4/CMakeFiles/tramp3d-v4.dir/tramp3d-v4.cpp.o -o MultiSource/Benchmarks/tramp3d-v4/tramp3d-v4
 #0 0x00005b86b8f13d41 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /home/erickilmer/src/instafix-llvm/llvm/lib/Support/Unix/Signals.inc:804:11
 #1 0x00005b86b8f1423b PrintStackTraceSignalHandler(void*) /home/erickilmer/src/instafix-llvm/llvm/lib/Support/Unix/Signals.inc:880:1
 #2 0x00005b86b8f119a6 llvm::sys::RunSignalHandlers() /home/erickilmer/src/instafix-llvm/llvm/lib/Support/Signals.cpp:105:5
 llvm#3 0x00005b86b8f14a1d SignalHandler(int, siginfo_t*, void*) /home/erickilmer/src/instafix-llvm/llvm/lib/Support/Unix/Signals.inc:418:7
 llvm#4 0x00007601f3845330 (/lib/x86_64-linux-gnu/libc.so.6+0x45330)
 llvm#5 0x00005b86abc1a58a mlir::Operation::getRegion(unsigned int) /home/erickilmer/src/instafix-llvm/llvm/out/install/linux/include/mlir/IR/Operation.h:688:5
 llvm#6 0x00005b86ac94eb1f mlir::ModuleOp::getBodyRegion() /home/erickilmer/src/instafix-llvm/llvm/out/build/linux/tools/mlir/include/mlir/IR/BuiltinOps.h.inc:200:5
 llvm#7 0x00005b86affa97b2 mlir::link::LinkState::LinkState(mlir::ModuleOp) /home/erickilmer/src/instafix-llvm/mlir/include/mlir/Linker/LinkerInterface.h:40:61
 llvm#8 0x00005b86affa7108 mlir::link::Linker::link(bool) /home/erickilmer/src/instafix-llvm/mlir/lib/Linker/Linker.cpp:74:13
 llvm#9 0x00005b86abbffd34 instafix::Loader::LinkInstafixLLVM() /home/erickilmer/src/instafix/instafix/lib/instafix.cpp:818:35
llvm#10 0x00005b86abc36dc2 instafix::LLDLoader::NativeLinkAndJIT(int, llvm::ArrayRef<char const*>, bool) /home/erickilmer/src/instafix/instafix/lib/LLDLoader.cpp:42:27
llvm#11 0x00005b86abbfa649 instafix::instafix_main(int, char**) /home/erickilmer/src/instafix/instafix/lib/instafix.cpp:264:32
llvm#12 0x00005b86abbf6992 main /home/erickilmer/src/instafix/bin/instafix-front/Main.cpp:25:3
llvm#13 0x00007601f382a1ca __libc_start_call_main ./csu/../sysdeps/nptl/libc_start_call_main.h:74:3
llvm#14 0x00007601f382a28b call_init ./csu/../csu/libc-start.c:128:20
llvm#15 0x00007601f382a28b __libc_start_main ./csu/../csu/libc-start.c:347:5
llvm#16 0x00005b86abbf68a5 _start (/home/erickilmer/src/instafix/out/build/linux/bin/instafix-front/instafix-front+0x688a8a5)
ekilmer added a commit to trail-of-forks/instafix-llvm-test-suite that referenced this pull request Jun 10, 2025
Just one example, but others are likely similar (at least with same
stacktrace)

```
[1/7] : && /home/erickilmer/src/instafix/out/build/linux/bin/instafix-front/instafix-front --ld-path=instafix-lld-tool --for-linker=--fake-executable=/home/erickilmer/src/instafix/out/build/linux/bin/instafix-ld/instafix-ld    -O3 -DNDEB
UG  tools/CMakeFiles/not.dir/not.cpp.o -o tools/not   && :
FAILED: tools/not
: && /home/erickilmer/src/instafix/out/build/linux/bin/instafix-front/instafix-front --ld-path=instafix-lld-tool --for-linker=--fake-executable=/home/erickilmer/src/instafix/out/build/linux/bin/instafix-ld/instafix-ld    -O3 -DNDEBUG  tools/CMakeFiles/not.dir/not.cpp.o -o tools/not   && :
ClangLoc: /home/erickilmer/src/instafix-llvm/llvm/out/install/linux/bin/clang
Executing a non indexed phase: "/home/erickilmer/src/instafix/out/build/linux/instafix-lld/instafix-lld-tool" -z relro --hash-style=gnu --eh-frame-hdr -m elf_x86_64 -pie -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o tools/not /lib/x86_64-linux-gnu/Scrt1.o /lib/x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib64 -L/lib/x86_64-linux-gnu -L/lib/../lib64 -L/usr/lib/x86_64-linux-gnu -L/usr/lib64 -L/lib -L/usr/lib --fake-executable=/home/erickilmer/src/instafix/out/build/linux/bin/instafix-ld/instafix-ld tools/CMakeFiles/not.dir/not.cpp.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /lib/x86_64-linux-gnu/crtn.o
program_name: /home/erickilmer/src/instafix/out/build/linux/instafix-lld/instafix-lld-tool
input_file: /lib/x86_64-linux-gnu/Scrt1.o
input_file: /lib/x86_64-linux-gnu/crti.o
input_file: /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o
input_file: tools/CMakeFiles/not.dir/not.cpp.o
input_file: /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o
input_file: /lib/x86_64-linux-gnu/crtn.o
loc("/lib/x86_64-linux-gnu/libc.so":1:1): error: unexpected character
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.      Program arguments: /home/erickilmer/src/instafix/out/build/linux/bin/instafix-front/instafix-front --ld-path=instafix-lld-tool --for-linker=--fake-executable=/home/erickilmer/src/instafix/out/build/linux/bin/instafix-ld/instafix-ld -O3 -DNDEBUG tools/CMakeFiles/not.dir/not.cpp.o -o tools/not
 #0 0x000064b890eb6d41 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /home/erickilmer/src/instafix-llvm/llvm/lib/Support/Unix/Signals.inc:804:11
 #1 0x000064b890eb723b PrintStackTraceSignalHandler(void*) /home/erickilmer/src/instafix-llvm/llvm/lib/Support/Unix/Signals.inc:880:1
 #2 0x000064b890eb49a6 llvm::sys::RunSignalHandlers() /home/erickilmer/src/instafix-llvm/llvm/lib/Support/Signals.cpp:105:5
 llvm#3 0x000064b890eb7a1d SignalHandler(int, siginfo_t*, void*) /home/erickilmer/src/instafix-llvm/llvm/lib/Support/Unix/Signals.inc:418:7
 llvm#4 0x00007c3845445330 (/lib/x86_64-linux-gnu/libc.so.6+0x45330)
 llvm#5 0x000064b883cd967c llvm::Value::getType() const /home/erickilmer/src/instafix-llvm/llvm/include/llvm/IR/Value.h:255:34
 llvm#6 0x000064b88fc554d2 llvm::CastInst::castIsValid(llvm::Instruction::CastOps, llvm::Value*, llvm::Type*) /home/erickilmer/src/instafix-llvm/llvm/include/llvm/IR/InstrTypes.h:623:31
 llvm#7 0x000064b890752419 llvm::ConstantExpr::getBitCast(llvm::Constant*, llvm::Type*, bool) /home/erickilmer/src/instafix-llvm/llvm/lib/IR/Constants.cpp:2325:3
 llvm#8 0x000064b887051e16 mlir::LLVM::detail::getLLVMConstant(llvm::Type*, mlir::Attribute, mlir::Location, mlir::LLVM::ModuleTranslation const&) /home/erickilmer/src/instafix-llvm/mlir/lib/Target/LLVMIR/ModuleTranslation.cpp:602:5
 llvm#9 0x000064b88705bb47 mlir::LLVM::ModuleTranslation::convertOneFunction(mlir::LLVM::LLVMFuncOp) /home/erickilmer/src/instafix-llvm/mlir/lib/Target/LLVMIR/ModuleTranslation.cpp:1465:25
llvm#10 0x000064b88705eea3 mlir::LLVM::ModuleTranslation::convertFunctions() /home/erickilmer/src/instafix-llvm/mlir/lib/Target/LLVMIR/ModuleTranslation.cpp:1804:16
llvm#11 0x000064b88706144d mlir::translateModuleToLLVMIR(mlir::Operation*, llvm::LLVMContext&, llvm::StringRef, bool) /home/erickilmer/src/instafix-llvm/mlir/lib/Target/LLVMIR/ModuleTranslation.cpp:2218:25
llvm#12 0x000064b883ba2fda instafix::Loader::LinkInstafixLLVM() /home/erickilmer/src/instafix/instafix/lib/instafix.cpp:837:7
llvm#13 0x000064b883bd9dc2 instafix::LLDLoader::NativeLinkAndJIT(int, llvm::ArrayRef<char const*>, bool) /home/erickilmer/src/instafix/instafix/lib/LLDLoader.cpp:42:27
llvm#14 0x000064b883b9d649 instafix::instafix_main(int, char**) /home/erickilmer/src/instafix/instafix/lib/instafix.cpp:264:32
llvm#15 0x000064b883b99992 main /home/erickilmer/src/instafix/bin/instafix-front/Main.cpp:25:3
llvm#16 0x00007c384542a1ca __libc_start_call_main ./csu/../sysdeps/nptl/libc_start_call_main.h:74:3
llvm#17 0x00007c384542a28b call_init ./csu/../csu/libc-start.c:128:20
llvm#18 0x00007c384542a28b __libc_start_main ./csu/../csu/libc-start.c:347:5
llvm#19 0x000064b883b998a5 _start (/home/erickilmer/src/instafix/out/build/linux/bin/instafix-front/instafix-front+0x688a8a5)
Segmentation fault (core dumped)
```

with gdb stacktrace:

```
$ cd build
$ gdb --args /home/erickilmer/src/instafix/out/build/linux/bin/instafix-front/instafix-front --ld-path=instafix-lld-tool --for-linker=--fake-executable=/home/erickilmer/src/instafix/out/build/linux/bin/instafix-ld/instafix-ld -O3 -DNDEBUG tools/CMakeFiles/not.dir/not.cpp.o -o tools/not
[...]
(gdb) r
[...]
Thread 1 "instafix-front" received signal SIGSEGV, Segmentation fault.
llvm::Value::getType (this=0x0) at /home/erickilmer/src/instafix-llvm/llvm/include/llvm/IR/Value.h:255
255	  Type *getType() const { return VTy; }
(gdb) bt
#0  llvm::Value::getType (this=0x0) at /home/erickilmer/src/instafix-llvm/llvm/include/llvm/IR/Value.h:255
#1  0x0000555567e9a4d2 in llvm::CastInst::castIsValid (op=llvm::Instruction::BitCast, S=0x0, DstTy=0x555569811470) at /home/erickilmer/src/instafix-llvm/llvm/include/llvm/IR/InstrTypes.h:623
#2  0x0000555568997419 in llvm::ConstantExpr::getBitCast (C=0x0, DstTy=0x555569811470, OnlyIfReduced=false) at /home/erickilmer/src/instafix-llvm/llvm/lib/IR/Constants.cpp:2325
llvm#3  0x000055555f296e16 in mlir::LLVM::detail::getLLVMConstant (llvmType=0x555569811470, attr=..., loc=..., moduleTranslation=...) at /home/erickilmer/src/instafix-llvm/mlir/lib/Target/LLVMIR/ModuleTranslation.cpp:602
llvm#4  0x000055555f2a0b47 in mlir::LLVM::ModuleTranslation::convertOneFunction (this=0x7fffffff3710, func=...) at /home/erickilmer/src/instafix-llvm/mlir/lib/Target/LLVMIR/ModuleTranslation.cpp:1465
llvm#5  0x000055555f2a3ea3 in mlir::LLVM::ModuleTranslation::convertFunctions (this=0x7fffffff3710) at /home/erickilmer/src/instafix-llvm/mlir/lib/Target/LLVMIR/ModuleTranslation.cpp:1804
llvm#6  0x000055555f2a644d in mlir::translateModuleToLLVMIR (module=0x5555697e32b0, llvmContext=..., name=..., disableVerification=false) at /home/erickilmer/src/instafix-llvm/mlir/lib/Target/LLVMIR/ModuleTranslation.cpp:2218
llvm#7  0x000055555bde7fda in instafix::Loader::LinkInstafixLLVM (this=0x55556979ea80) at /home/erickilmer/src/instafix/instafix/lib/instafix.cpp:837
llvm#8  0x000055555be1edc2 in instafix::LLDLoader::NativeLinkAndJIT (this=0x55556979ea80, argc=7, argv=..., exec=false) at /home/erickilmer/src/instafix/instafix/lib/LLDLoader.cpp:42
llvm#9  0x000055555bde2649 in instafix::instafix_main (argc=8, argv=0x7fffffffccc8) at /home/erickilmer/src/instafix/instafix/lib/instafix.cpp:264
llvm#10 0x000055555bdde992 in main (argc=8, argv=0x7fffffffccc8) at /home/erickilmer/src/instafix/bin/instafix-front/Main.cpp:25
```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.