From 25ce2393d5812e0f33e37d4acdb1cce7447a5dec Mon Sep 17 00:00:00 2001 From: Eric Kilmer Date: Fri, 6 Jun 2025 13:15:26 +0000 Subject: [PATCH 1/6] Ignore ill-formed C programs https://github.com/trailofbits/instafix-llvm/pull/44 is an attempted workaround for some ill-formed C programs that we still need to support building, but it will cause way more LLVM indirect calls to be generated, and calls to be generated with the wrong number of arguments against the original declaration Essentially, the issue is that some programs do ```c int foo() { ... } ``` Then somewhere else: ```c extern int foo(int bar); foo(0); ``` --- MultiSource/Applications/CMakeLists.txt | 4 ++-- MultiSource/Applications/JM/CMakeLists.txt | 2 +- MultiSource/Benchmarks/CMakeLists.txt | 2 +- MultiSource/Benchmarks/MallocBench/CMakeLists.txt | 6 +++--- MultiSource/Benchmarks/mediabench/CMakeLists.txt | 2 +- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/MultiSource/Applications/CMakeLists.txt b/MultiSource/Applications/CMakeLists.txt index b008394f1b..46e23dc61d 100644 --- a/MultiSource/Applications/CMakeLists.txt +++ b/MultiSource/Applications/CMakeLists.txt @@ -10,8 +10,8 @@ if(NOT ARCH STREQUAL "PowerPC") # be restored when the issue is corrected. add_subdirectory(oggenc) endif() -add_subdirectory(sgefa) -add_subdirectory(spiff) +#add_subdirectory(sgefa) +#add_subdirectory(spiff) add_subdirectory(viterbi) add_subdirectory(ALAC) diff --git a/MultiSource/Applications/JM/CMakeLists.txt b/MultiSource/Applications/JM/CMakeLists.txt index 2a0be7f2da..5802db9bcc 100644 --- a/MultiSource/Applications/JM/CMakeLists.txt +++ b/MultiSource/Applications/JM/CMakeLists.txt @@ -1,2 +1,2 @@ add_subdirectory(ldecod) -add_subdirectory(lencod) +#add_subdirectory(lencod) diff --git a/MultiSource/Benchmarks/CMakeLists.txt b/MultiSource/Benchmarks/CMakeLists.txt index 61d1fd080f..7a503970fb 100644 --- a/MultiSource/Benchmarks/CMakeLists.txt +++ b/MultiSource/Benchmarks/CMakeLists.txt @@ -1,7 +1,7 @@ add_subdirectory(ASCI_Purple) add_subdirectory(ASC_Sequoia) add_subdirectory(BitBench) -add_subdirectory(Fhourstones) +#add_subdirectory(Fhourstones) add_subdirectory(Fhourstones-3.1) add_subdirectory(FreeBench) add_subdirectory(MallocBench) diff --git a/MultiSource/Benchmarks/MallocBench/CMakeLists.txt b/MultiSource/Benchmarks/MallocBench/CMakeLists.txt index e871a4a5cb..8d61d78f89 100644 --- a/MultiSource/Benchmarks/MallocBench/CMakeLists.txt +++ b/MultiSource/Benchmarks/MallocBench/CMakeLists.txt @@ -1,5 +1,5 @@ -add_subdirectory(espresso) -add_subdirectory(gs) +#add_subdirectory(espresso) +#add_subdirectory(gs) if(NOT "${ARCH}" STREQUAL "Alpha") - add_subdirectory(cfrac) + #add_subdirectory(cfrac) endif() diff --git a/MultiSource/Benchmarks/mediabench/CMakeLists.txt b/MultiSource/Benchmarks/mediabench/CMakeLists.txt index b375382d3f..6388be4a78 100644 --- a/MultiSource/Benchmarks/mediabench/CMakeLists.txt +++ b/MultiSource/Benchmarks/mediabench/CMakeLists.txt @@ -1,5 +1,5 @@ add_subdirectory(adpcm) -add_subdirectory(g721) +#add_subdirectory(g721) add_subdirectory(gsm) add_subdirectory(jpeg) add_subdirectory(mpeg2) From 45b0fe1aa04260c108ebd61fb19bc7295b3f2f04 Mon Sep 17 00:00:00 2001 From: Eric Kilmer Date: Tue, 10 Jun 2025 22:22:09 +0000 Subject: [PATCH 2/6] Ignore failing tests due to error: expected comdat symbol The error is ``` loc(...): error: expected comdat symbol ``` --- MultiSource/Applications/CMakeLists.txt | 8 ++++---- MultiSource/Benchmarks/CMakeLists.txt | 6 +++--- .../Benchmarks/DOE-ProxyApps-C++/CMakeLists.txt | 8 ++++---- MultiSource/Benchmarks/Prolangs-C++/CMakeLists.txt | 12 ++++++------ 4 files changed, 17 insertions(+), 17 deletions(-) diff --git a/MultiSource/Applications/CMakeLists.txt b/MultiSource/Applications/CMakeLists.txt index 46e23dc61d..f4806df80a 100644 --- a/MultiSource/Applications/CMakeLists.txt +++ b/MultiSource/Applications/CMakeLists.txt @@ -16,10 +16,10 @@ add_subdirectory(viterbi) add_subdirectory(ALAC) add_subdirectory(hbd) -add_subdirectory(lambda-0.1.3) -add_subdirectory(minisat) +#add_subdirectory(lambda-0.1.3) +#add_subdirectory(minisat) if(NOT TARGET_OS STREQUAL "SunOS") - add_subdirectory(hexxagon) + #add_subdirectory(hexxagon) endif() if(NOT DEFINED SMALL_PROBLEM_SIZE) add_subdirectory(lua) @@ -28,7 +28,7 @@ if((TARGET_OS STREQUAL "Linux" OR TARGET_OS STREQUAL "Darwin") AND (NOT ARCH STR add_subdirectory(obsequi) endif() if(NOT TARGET_OS STREQUAL "SunOS") - add_subdirectory(kimwitu++) + #add_subdirectory(kimwitu++) endif() if(NOT TARGET_OS STREQUAL "SunOS") add_subdirectory(SPASS) diff --git a/MultiSource/Benchmarks/CMakeLists.txt b/MultiSource/Benchmarks/CMakeLists.txt index 7a503970fb..8cc313551a 100644 --- a/MultiSource/Benchmarks/CMakeLists.txt +++ b/MultiSource/Benchmarks/CMakeLists.txt @@ -23,7 +23,7 @@ if((NOT "${TARGET_OS}" STREQUAL "Darwin") OR (NOT "${ARCH}" STREQUAL "ARM")) add_subdirectory(TSVC) endif() add_subdirectory(Prolangs-C++) -add_subdirectory(Bullet) +#add_subdirectory(Bullet) add_subdirectory(tramp3d-v4) if(NOT "${ARCH}" STREQUAL "Hexagon") add_subdirectory(DOE-ProxyApps-C++) @@ -31,8 +31,8 @@ if(NOT "${ARCH}" STREQUAL "Hexagon") add_subdirectory(MiBench) endif() if(NOT "${ARCH}" STREQUAL "XCore") - add_subdirectory(7zip) - add_subdirectory(PAQ8p) + #add_subdirectory(7zip) + #add_subdirectory(PAQ8p) endif() if(NOT DEFINED SMALL_PROBLEM_SIZE) add_subdirectory(mafft) diff --git a/MultiSource/Benchmarks/DOE-ProxyApps-C++/CMakeLists.txt b/MultiSource/Benchmarks/DOE-ProxyApps-C++/CMakeLists.txt index 992808049b..f9bdd6d4dd 100644 --- a/MultiSource/Benchmarks/DOE-ProxyApps-C++/CMakeLists.txt +++ b/MultiSource/Benchmarks/DOE-ProxyApps-C++/CMakeLists.txt @@ -1,7 +1,7 @@ -add_subdirectory(HPCCG) -add_subdirectory(PENNANT) -add_subdirectory(miniFE) +#add_subdirectory(HPCCG) +#add_subdirectory(PENNANT) +#add_subdirectory(miniFE) if(NOT CMAKE_SYSTEM_NAME MATCHES "AIX") -add_subdirectory(CLAMR) +#add_subdirectory(CLAMR) endif() add_subdirectory(HACCKernels) diff --git a/MultiSource/Benchmarks/Prolangs-C++/CMakeLists.txt b/MultiSource/Benchmarks/Prolangs-C++/CMakeLists.txt index c669b6f2b4..3c7ff807ce 100644 --- a/MultiSource/Benchmarks/Prolangs-C++/CMakeLists.txt +++ b/MultiSource/Benchmarks/Prolangs-C++/CMakeLists.txt @@ -1,9 +1,9 @@ -add_subdirectory(city) -add_subdirectory(employ) -add_subdirectory(life) -add_subdirectory(ocean) -add_subdirectory(primes) -add_subdirectory(simul) +#add_subdirectory(city) +#add_subdirectory(employ) +#add_subdirectory(life) +#add_subdirectory(ocean) +#add_subdirectory(primes) +#add_subdirectory(simul) if(NOT TEST_SUITE_BENCHMARKING_ONLY) add_subdirectory(NP) add_subdirectory(deriv1) From c1d7abe2d537d7de79de37410acc42e28673971a Mon Sep 17 00:00:00 2001 From: Eric Kilmer Date: Tue, 10 Jun 2025 22:23:54 +0000 Subject: [PATCH 3/6] Ignore tests with missing symbols on link ld.lld: error: undefined symbol: __divdc3 ld.lld: error: undefined symbol: __muldc3 --- MultiSource/Benchmarks/DOE-ProxyApps-C/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MultiSource/Benchmarks/DOE-ProxyApps-C/CMakeLists.txt b/MultiSource/Benchmarks/DOE-ProxyApps-C/CMakeLists.txt index 3bbf8de56b..f4834f391e 100644 --- a/MultiSource/Benchmarks/DOE-ProxyApps-C/CMakeLists.txt +++ b/MultiSource/Benchmarks/DOE-ProxyApps-C/CMakeLists.txt @@ -3,7 +3,7 @@ # Est. Memory Usage is different with reference output. if(NOT ARCH STREQUAL "CSKY") add_subdirectory(XSBench) - add_subdirectory(RSBench) + #add_subdirectory(RSBench) endif() add_subdirectory(Pathfinder) add_subdirectory(miniAMR) From 3d1063f61957ab7ba92f45cfbaa969786078108e Mon Sep 17 00:00:00 2001 From: Eric Kilmer Date: Tue, 10 Jun 2025 22:29:37 +0000 Subject: [PATCH 4/6] Ignore tramp3dv4 [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::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 #3 0x00005b86b8f14a1d SignalHandler(int, siginfo_t*, void*) /home/erickilmer/src/instafix-llvm/llvm/lib/Support/Unix/Signals.inc:418:7 #4 0x00007601f3845330 (/lib/x86_64-linux-gnu/libc.so.6+0x45330) #5 0x00005b86abc1a58a mlir::Operation::getRegion(unsigned int) /home/erickilmer/src/instafix-llvm/llvm/out/install/linux/include/mlir/IR/Operation.h:688:5 #6 0x00005b86ac94eb1f mlir::ModuleOp::getBodyRegion() /home/erickilmer/src/instafix-llvm/llvm/out/build/linux/tools/mlir/include/mlir/IR/BuiltinOps.h.inc:200:5 #7 0x00005b86affa97b2 mlir::link::LinkState::LinkState(mlir::ModuleOp) /home/erickilmer/src/instafix-llvm/mlir/include/mlir/Linker/LinkerInterface.h:40:61 #8 0x00005b86affa7108 mlir::link::Linker::link(bool) /home/erickilmer/src/instafix-llvm/mlir/lib/Linker/Linker.cpp:74:13 #9 0x00005b86abbffd34 instafix::Loader::LinkInstafixLLVM() /home/erickilmer/src/instafix/instafix/lib/instafix.cpp:818:35 #10 0x00005b86abc36dc2 instafix::LLDLoader::NativeLinkAndJIT(int, llvm::ArrayRef, bool) /home/erickilmer/src/instafix/instafix/lib/LLDLoader.cpp:42:27 #11 0x00005b86abbfa649 instafix::instafix_main(int, char**) /home/erickilmer/src/instafix/instafix/lib/instafix.cpp:264:32 #12 0x00005b86abbf6992 main /home/erickilmer/src/instafix/bin/instafix-front/Main.cpp:25:3 #13 0x00007601f382a1ca __libc_start_call_main ./csu/../sysdeps/nptl/libc_start_call_main.h:74:3 #14 0x00007601f382a28b call_init ./csu/../csu/libc-start.c:128:20 #15 0x00007601f382a28b __libc_start_main ./csu/../csu/libc-start.c:347:5 #16 0x00005b86abbf68a5 _start (/home/erickilmer/src/instafix/out/build/linux/bin/instafix-front/instafix-front+0x688a8a5) --- MultiSource/Benchmarks/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MultiSource/Benchmarks/CMakeLists.txt b/MultiSource/Benchmarks/CMakeLists.txt index 8cc313551a..2879b6628a 100644 --- a/MultiSource/Benchmarks/CMakeLists.txt +++ b/MultiSource/Benchmarks/CMakeLists.txt @@ -24,7 +24,7 @@ if((NOT "${TARGET_OS}" STREQUAL "Darwin") OR (NOT "${ARCH}" STREQUAL "ARM")) endif() add_subdirectory(Prolangs-C++) #add_subdirectory(Bullet) -add_subdirectory(tramp3d-v4) +#add_subdirectory(tramp3d-v4) if(NOT "${ARCH}" STREQUAL "Hexagon") add_subdirectory(DOE-ProxyApps-C++) add_subdirectory(DOE-ProxyApps-C) From fe57c349a9895d368cfad4b726e02619ff829967 Mon Sep 17 00:00:00 2001 From: Eric Kilmer Date: Tue, 10 Jun 2025 22:47:36 +0000 Subject: [PATCH 5/6] Ignore failures due to null pointer segfault 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 #3 0x000064b890eb7a1d SignalHandler(int, siginfo_t*, void*) /home/erickilmer/src/instafix-llvm/llvm/lib/Support/Unix/Signals.inc:418:7 #4 0x00007c3845445330 (/lib/x86_64-linux-gnu/libc.so.6+0x45330) #5 0x000064b883cd967c llvm::Value::getType() const /home/erickilmer/src/instafix-llvm/llvm/include/llvm/IR/Value.h:255:34 #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 #7 0x000064b890752419 llvm::ConstantExpr::getBitCast(llvm::Constant*, llvm::Type*, bool) /home/erickilmer/src/instafix-llvm/llvm/lib/IR/Constants.cpp:2325:3 #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 #9 0x000064b88705bb47 mlir::LLVM::ModuleTranslation::convertOneFunction(mlir::LLVM::LLVMFuncOp) /home/erickilmer/src/instafix-llvm/mlir/lib/Target/LLVMIR/ModuleTranslation.cpp:1465:25 #10 0x000064b88705eea3 mlir::LLVM::ModuleTranslation::convertFunctions() /home/erickilmer/src/instafix-llvm/mlir/lib/Target/LLVMIR/ModuleTranslation.cpp:1804:16 #11 0x000064b88706144d mlir::translateModuleToLLVMIR(mlir::Operation*, llvm::LLVMContext&, llvm::StringRef, bool) /home/erickilmer/src/instafix-llvm/mlir/lib/Target/LLVMIR/ModuleTranslation.cpp:2218:25 #12 0x000064b883ba2fda instafix::Loader::LinkInstafixLLVM() /home/erickilmer/src/instafix/instafix/lib/instafix.cpp:837:7 #13 0x000064b883bd9dc2 instafix::LLDLoader::NativeLinkAndJIT(int, llvm::ArrayRef, bool) /home/erickilmer/src/instafix/instafix/lib/LLDLoader.cpp:42:27 #14 0x000064b883b9d649 instafix::instafix_main(int, char**) /home/erickilmer/src/instafix/instafix/lib/instafix.cpp:264:32 #15 0x000064b883b99992 main /home/erickilmer/src/instafix/bin/instafix-front/Main.cpp:25:3 #16 0x00007c384542a1ca __libc_start_call_main ./csu/../sysdeps/nptl/libc_start_call_main.h:74:3 #17 0x00007c384542a28b call_init ./csu/../csu/libc-start.c:128:20 #18 0x00007c384542a28b __libc_start_main ./csu/../csu/libc-start.c:347:5 #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 #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 #4 0x000055555f2a0b47 in mlir::LLVM::ModuleTranslation::convertOneFunction (this=0x7fffffff3710, func=...) at /home/erickilmer/src/instafix-llvm/mlir/lib/Target/LLVMIR/ModuleTranslation.cpp:1465 #5 0x000055555f2a3ea3 in mlir::LLVM::ModuleTranslation::convertFunctions (this=0x7fffffff3710) at /home/erickilmer/src/instafix-llvm/mlir/lib/Target/LLVMIR/ModuleTranslation.cpp:1804 #6 0x000055555f2a644d in mlir::translateModuleToLLVMIR (module=0x5555697e32b0, llvmContext=..., name=..., disableVerification=false) at /home/erickilmer/src/instafix-llvm/mlir/lib/Target/LLVMIR/ModuleTranslation.cpp:2218 #7 0x000055555bde7fda in instafix::Loader::LinkInstafixLLVM (this=0x55556979ea80) at /home/erickilmer/src/instafix/instafix/lib/instafix.cpp:837 #8 0x000055555be1edc2 in instafix::LLDLoader::NativeLinkAndJIT (this=0x55556979ea80, argc=7, argv=..., exec=false) at /home/erickilmer/src/instafix/instafix/lib/LLDLoader.cpp:42 #9 0x000055555bde2649 in instafix::instafix_main (argc=8, argv=0x7fffffffccc8) at /home/erickilmer/src/instafix/instafix/lib/instafix.cpp:264 #10 0x000055555bdde992 in main (argc=8, argv=0x7fffffffccc8) at /home/erickilmer/src/instafix/bin/instafix-front/Main.cpp:25 ``` --- MultiSource/Applications/ALAC/CMakeLists.txt | 4 ++-- MultiSource/Applications/CMakeLists.txt | 2 +- MultiSource/Benchmarks/DOE-ProxyApps-C++/CMakeLists.txt | 2 +- tools/CMakeLists.txt | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/MultiSource/Applications/ALAC/CMakeLists.txt b/MultiSource/Applications/ALAC/CMakeLists.txt index 9c302e3192..cec8a867d3 100644 --- a/MultiSource/Applications/ALAC/CMakeLists.txt +++ b/MultiSource/Applications/ALAC/CMakeLists.txt @@ -1,2 +1,2 @@ -add_subdirectory(encode) -add_subdirectory(decode) +#add_subdirectory(encode) +#add_subdirectory(decode) diff --git a/MultiSource/Applications/CMakeLists.txt b/MultiSource/Applications/CMakeLists.txt index f4806df80a..e60c637328 100644 --- a/MultiSource/Applications/CMakeLists.txt +++ b/MultiSource/Applications/CMakeLists.txt @@ -15,7 +15,7 @@ endif() add_subdirectory(viterbi) add_subdirectory(ALAC) -add_subdirectory(hbd) +#add_subdirectory(hbd) #add_subdirectory(lambda-0.1.3) #add_subdirectory(minisat) if(NOT TARGET_OS STREQUAL "SunOS") diff --git a/MultiSource/Benchmarks/DOE-ProxyApps-C++/CMakeLists.txt b/MultiSource/Benchmarks/DOE-ProxyApps-C++/CMakeLists.txt index f9bdd6d4dd..233778368a 100644 --- a/MultiSource/Benchmarks/DOE-ProxyApps-C++/CMakeLists.txt +++ b/MultiSource/Benchmarks/DOE-ProxyApps-C++/CMakeLists.txt @@ -4,4 +4,4 @@ if(NOT CMAKE_SYSTEM_NAME MATCHES "AIX") #add_subdirectory(CLAMR) endif() -add_subdirectory(HACCKernels) +#add_subdirectory(HACCKernels) diff --git a/tools/CMakeLists.txt b/tools/CMakeLists.txt index e8812d8265..1b90fea8e3 100644 --- a/tools/CMakeLists.txt +++ b/tools/CMakeLists.txt @@ -40,4 +40,4 @@ else() llvm_add_host_executable(build-timeit timeit timeit.c) endif() -add_executable(not ${CMAKE_CURRENT_SOURCE_DIR}/not.cpp) +#add_executable(not ${CMAKE_CURRENT_SOURCE_DIR}/not.cpp) From 706ddafdea4701b3a5e09c9367b47a43238f4912 Mon Sep 17 00:00:00 2001 From: Eric Kilmer Date: Tue, 10 Jun 2025 23:30:51 +0000 Subject: [PATCH 6/6] Don't try to strip instafix binaries when running lit tests Instafix binaries can't be stripped at this time --- litsupport/modules/hash.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/litsupport/modules/hash.py b/litsupport/modules/hash.py index 7cabc56ab4..b748c60854 100644 --- a/litsupport/modules/hash.py +++ b/litsupport/modules/hash.py @@ -11,7 +11,7 @@ def compute(context): executable = context.executable try: # Darwin's and Solaris' "strip" don't support these arguments. - if platform.system() != "Darwin" and platform.system() != "SunOS": + if False and platform.system() != "Darwin" and platform.system() != "SunOS": stripped_executable = executable + ".stripped" testplan.check_call( [