Skip to content

[mlir][llvm] adds an attribute for the module level assembly #151318

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 9 commits into from
Jul 31, 2025

Conversation

gitoleg
Copy link
Contributor

@gitoleg gitoleg commented Jul 30, 2025

Adds a support for the module level assembly in the LLVM IR dialect.

@llvmbot
Copy link
Member

llvmbot commented Jul 30, 2025

@llvm/pr-subscribers-mlir

@llvm/pr-subscribers-mlir-llvm

Author: None (gitoleg)

Changes

This small PR adds a support for the module level assembly in the LLVM IR dialect.

As an alternative way I can introduce a separate attribute in the LLVM dialect for file scope assembly, but given it's a module-level entity and is nothing but a string - I thing it's ok to implement it in the same fashion like, for example, triple attribute.

Also, one extremely small test added.

Please let me know, if I need to implement it somehow different.


Full diff: https://github.com/llvm/llvm-project/pull/151318.diff

3 Files Affected:

  • (modified) mlir/include/mlir/Dialect/LLVMIR/LLVMDialect.td (+3)
  • (modified) mlir/lib/Target/LLVMIR/ModuleTranslation.cpp (+4)
  • (added) mlir/test/Target/LLVMIR/module-asm.mlir (+5)
diff --git a/mlir/include/mlir/Dialect/LLVMIR/LLVMDialect.td b/mlir/include/mlir/Dialect/LLVMIR/LLVMDialect.td
index c4c011f30b3bc..e6e3ad48c407f 100644
--- a/mlir/include/mlir/Dialect/LLVMIR/LLVMDialect.td
+++ b/mlir/include/mlir/Dialect/LLVMIR/LLVMDialect.td
@@ -71,6 +71,9 @@ def LLVM_Dialect : Dialect {
       return "llvm.emit_c_interface";
     }
 
+    /// Name of the module level assembly attribute.
+    static StringRef getModuleLevelAsmAttrName() { return "llvm.module_asm"; }
+
     /// Returns `true` if the given type is compatible with the LLVM dialect.
     static bool isCompatibleType(Type);
 
diff --git a/mlir/lib/Target/LLVMIR/ModuleTranslation.cpp b/mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
index 1722d74c08b62..46ec4d1abdc81 100644
--- a/mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
+++ b/mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
@@ -1531,6 +1531,10 @@ prepareLLVMModule(Operation *m, llvm::LLVMContext &llvmContext,
           m->getDiscardableAttr(LLVM::LLVMDialect::getTargetTripleAttrName()))
     llvmModule->setTargetTriple(cast<StringAttr>(targetTripleAttr).getValue());
 
+  if (auto asmAttr =
+          m->getDiscardableAttr(LLVM::LLVMDialect::getModuleLevelAsmAttrName()))
+    llvmModule->setModuleInlineAsm(cast<StringAttr>(asmAttr).getValue());
+
   return llvmModule;
 }
 
diff --git a/mlir/test/Target/LLVMIR/module-asm.mlir b/mlir/test/Target/LLVMIR/module-asm.mlir
new file mode 100644
index 0000000000000..fa8158ac2677a
--- /dev/null
+++ b/mlir/test/Target/LLVMIR/module-asm.mlir
@@ -0,0 +1,5 @@
+// RUN: mlir-translate -mlir-to-llvmir %s | FileCheck %s
+
+module attributes {llvm.module_asm = "foo"} {}
+
+// CHECK: module asm "foo"
\ No newline at end of file

@gitoleg gitoleg force-pushed the mlir-llvm-module-asm branch from a02be32 to dd8b762 Compare July 30, 2025 12:48
@gitoleg
Copy link
Contributor Author

gitoleg commented Jul 30, 2025

@gysit

@gysit
Copy link
Contributor

gysit commented Jul 30, 2025

@gitoleg

Looking at the language ref and some code examples in LLVM it looks like there can be many of these module level assembly blocks? Wouldn't it make more sense to implement them as a module level operation similar to GlobalOp / AliasOp etc. I mean an operation that needs to be nested directly within the moduleOp.

Or do I miss something and there is just one inline assembly string per module? Then an attribute makes more sense.

@gitoleg
Copy link
Contributor Author

gitoleg commented Jul 30, 2025

@gysit
well, to be precise there may be many file scope assembly strings - and in LLVM IR - I mean in the codegen - they just concatenated, see codegen
and the module itself.

So my initial intention was to let user to collect all the strings as necessary, but looks like you're right - there should be at least an array of string attributes.

Speaking about a special operation - it definitely may be an option. But from my understanding operation should represent something that may change while attributes stands for something constant.

But surely it's up to you - what do you prefer? An ArrayAttr or an operation ?

@gysit
Copy link
Contributor

gysit commented Jul 30, 2025

But surely it's up to you - what do you prefer? An ArrayAttr or an operation ?

Ok, if this is more like an attribute that is passed through the compiler then an ArrayAttribute maybe an ok solution.

@gitoleg gitoleg force-pushed the mlir-llvm-module-asm branch from 97dc0a2 to bc7cf6c Compare July 30, 2025 15:44
Copy link

github-actions bot commented Jul 30, 2025

✅ With the latest revision this PR passed the C/C++ code formatter.

Copy link
Contributor

@Dinistro Dinistro left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you also add the corresponding import implementation?

@gitoleg gitoleg force-pushed the mlir-llvm-module-asm branch from f8f9c9e to 5d8479f Compare July 31, 2025 08:30
@gitoleg gitoleg force-pushed the mlir-llvm-module-asm branch from 90ef278 to 9a0ec93 Compare July 31, 2025 09:01
@gitoleg
Copy link
Contributor Author

gitoleg commented Jul 31, 2025

@gysit @Dinistro
Could you please take a look again?
added import implementation, error messages, more tests ...

UPD about import
LLVM IR module internally concatenates strings with \n and keep only one string, that's why we need to split them back in order to have a string array attribute

Copy link
Contributor

@gysit gysit left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the improvements!

I have some nit comments otherwise this looks good to me.

Copy link
Contributor

@gysit gysit left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM modulo last nit.

Should we land this for you? If yes can you update the PR description to the commit message you would like to have.

@gitoleg
Copy link
Contributor Author

gitoleg commented Jul 31, 2025

Should we land this for you? If yes can you update the PR description to the commit message you would like to have.

I don't know ) I think that given a PR is rather small, the short description is enough. Feel free to change it!

Copy link
Contributor

@Dinistro Dinistro left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Thanks for addressing the comments.

@gysit gysit merged commit 49b0014 into llvm:main Jul 31, 2025
9 checks passed
@llvm-ci
Copy link
Collaborator

llvm-ci commented Jul 31, 2025

LLVM Buildbot has detected a new failure on builder sanitizer-x86_64-linux-fast running on sanitizer-buildbot3 while building mlir at step 2 "annotate".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/169/builds/13496

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:520: 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:520: 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:520: 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:520: 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:520: 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:520: 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:520: 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:73: 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: 91709 tests, 88 workers --
Testing:  0.. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90
FAIL: LLVM :: ExecutionEngine/JITLink/x86-64/MachO_archive_load_hidden_expect_failure.s (67737 of 91709)
******************** TEST 'LLVM :: ExecutionEngine/JITLink/x86-64/MachO_archive_load_hidden_expect_failure.s' FAILED ********************
Exit Code: 1

Command Output (stderr):
--
rm -rf /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/test/ExecutionEngine/JITLink/x86-64/Output/MachO_archive_load_hidden_expect_failure.s.tmp && mkdir -p /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/test/ExecutionEngine/JITLink/x86-64/Output/MachO_archive_load_hidden_expect_failure.s.tmp # RUN: at line 1
+ rm -rf /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/test/ExecutionEngine/JITLink/x86-64/Output/MachO_archive_load_hidden_expect_failure.s.tmp
+ mkdir -p /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/test/ExecutionEngine/JITLink/x86-64/Output/MachO_archive_load_hidden_expect_failure.s.tmp
/home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/llvm-mc -triple x86_64-apple-macosx10.9 -filetype=obj    -o /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/test/ExecutionEngine/JITLink/x86-64/Output/MachO_archive_load_hidden_expect_failure.s.tmp/MachO_extra_def_strong.o /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/test/ExecutionEngine/JITLink/x86-64/Inputs/MachO_extra_def_strong.s # RUN: at line 2
+ /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/llvm-mc -triple x86_64-apple-macosx10.9 -filetype=obj -o /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/test/ExecutionEngine/JITLink/x86-64/Output/MachO_archive_load_hidden_expect_failure.s.tmp/MachO_extra_def_strong.o /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/test/ExecutionEngine/JITLink/x86-64/Inputs/MachO_extra_def_strong.s
/home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/llvm-ar crs /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/test/ExecutionEngine/JITLink/x86-64/Output/MachO_archive_load_hidden_expect_failure.s.tmp/libExtraDef.a /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/test/ExecutionEngine/JITLink/x86-64/Output/MachO_archive_load_hidden_expect_failure.s.tmp/MachO_extra_def_strong.o # RUN: at line 4
+ /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/llvm-ar crs /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/test/ExecutionEngine/JITLink/x86-64/Output/MachO_archive_load_hidden_expect_failure.s.tmp/libExtraDef.a /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/test/ExecutionEngine/JITLink/x86-64/Output/MachO_archive_load_hidden_expect_failure.s.tmp/MachO_extra_def_strong.o
/home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/llvm-mc -triple x86_64-apple-macosx10.9 -filetype=obj    -o /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/test/ExecutionEngine/JITLink/x86-64/Output/MachO_archive_load_hidden_expect_failure.s.tmp/MachO_archive_load_hidden_support.o /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/test/ExecutionEngine/JITLink/x86-64/MachO_archive_load_hidden_expect_failure.s # RUN: at line 5
+ /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/llvm-mc -triple x86_64-apple-macosx10.9 -filetype=obj -o /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/test/ExecutionEngine/JITLink/x86-64/Output/MachO_archive_load_hidden_expect_failure.s.tmp/MachO_archive_load_hidden_support.o /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/test/ExecutionEngine/JITLink/x86-64/MachO_archive_load_hidden_expect_failure.s
not /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/llvm-jitlink -noexec /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/test/ExecutionEngine/JITLink/x86-64/Output/MachO_archive_load_hidden_expect_failure.s.tmp/MachO_archive_load_hidden_support.o -lFoo    -jd Foo -L/home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/test/ExecutionEngine/JITLink/x86-64/Output/MachO_archive_load_hidden_expect_failure.s.tmp -hidden-lExtraDef # RUN: at line 7
+ not /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/llvm-jitlink -noexec /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/test/ExecutionEngine/JITLink/x86-64/Output/MachO_archive_load_hidden_expect_failure.s.tmp/MachO_archive_load_hidden_support.o -lFoo -jd Foo -L/home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/test/ExecutionEngine/JITLink/x86-64/Output/MachO_archive_load_hidden_expect_failure.s.tmp -hidden-lExtraDef
llvm-jitlink error: Symbols not found: [ ExtraDef ]
libc++abi: Pure virtual function called!
error: Aborted

--

********************
Testing:  0.. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90..
Slowest Tests:
--------------------------------------------------------------------------
576.37s: LLVM :: CodeGen/AMDGPU/sched-group-barrier-pipeline-solver.mir
342.48s: Clang :: Driver/fsanitize.c
331.58s: LLVM :: CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
255.08s: Clang :: Preprocessor/riscv-target-features.c
249.86s: LLVM :: CodeGen/AMDGPU/memintrinsic-unroll.ll
220.12s: Clang :: OpenMP/target_defaultmap_codegen_01.cpp
219.69s: Clang :: Driver/arm-cortex-cpus-2.c
219.03s: Clang :: Driver/arm-cortex-cpus-1.c
218.19s: Clang :: CodeGen/AArch64/sve-intrinsics/acle_sve_reinterpret.c
216.46s: Clang :: OpenMP/target_update_codegen.cpp
199.66s: Clang :: Preprocessor/arm-target-features.c
190.85s: Clang :: Preprocessor/aarch64-target-features.c
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:520: 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:520: 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:520: 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:520: 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:520: 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:520: 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:520: 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:73: 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: 91709 tests, 88 workers --
Testing:  0.. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90
FAIL: LLVM :: ExecutionEngine/JITLink/x86-64/MachO_archive_load_hidden_expect_failure.s (67737 of 91709)
******************** TEST 'LLVM :: ExecutionEngine/JITLink/x86-64/MachO_archive_load_hidden_expect_failure.s' FAILED ********************
Exit Code: 1

Command Output (stderr):
--
rm -rf /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/test/ExecutionEngine/JITLink/x86-64/Output/MachO_archive_load_hidden_expect_failure.s.tmp && mkdir -p /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/test/ExecutionEngine/JITLink/x86-64/Output/MachO_archive_load_hidden_expect_failure.s.tmp # RUN: at line 1
+ rm -rf /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/test/ExecutionEngine/JITLink/x86-64/Output/MachO_archive_load_hidden_expect_failure.s.tmp
+ mkdir -p /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/test/ExecutionEngine/JITLink/x86-64/Output/MachO_archive_load_hidden_expect_failure.s.tmp
/home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/llvm-mc -triple x86_64-apple-macosx10.9 -filetype=obj    -o /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/test/ExecutionEngine/JITLink/x86-64/Output/MachO_archive_load_hidden_expect_failure.s.tmp/MachO_extra_def_strong.o /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/test/ExecutionEngine/JITLink/x86-64/Inputs/MachO_extra_def_strong.s # RUN: at line 2
+ /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/llvm-mc -triple x86_64-apple-macosx10.9 -filetype=obj -o /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/test/ExecutionEngine/JITLink/x86-64/Output/MachO_archive_load_hidden_expect_failure.s.tmp/MachO_extra_def_strong.o /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/test/ExecutionEngine/JITLink/x86-64/Inputs/MachO_extra_def_strong.s
/home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/llvm-ar crs /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/test/ExecutionEngine/JITLink/x86-64/Output/MachO_archive_load_hidden_expect_failure.s.tmp/libExtraDef.a /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/test/ExecutionEngine/JITLink/x86-64/Output/MachO_archive_load_hidden_expect_failure.s.tmp/MachO_extra_def_strong.o # RUN: at line 4
+ /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/llvm-ar crs /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/test/ExecutionEngine/JITLink/x86-64/Output/MachO_archive_load_hidden_expect_failure.s.tmp/libExtraDef.a /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/test/ExecutionEngine/JITLink/x86-64/Output/MachO_archive_load_hidden_expect_failure.s.tmp/MachO_extra_def_strong.o
/home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/llvm-mc -triple x86_64-apple-macosx10.9 -filetype=obj    -o /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/test/ExecutionEngine/JITLink/x86-64/Output/MachO_archive_load_hidden_expect_failure.s.tmp/MachO_archive_load_hidden_support.o /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/test/ExecutionEngine/JITLink/x86-64/MachO_archive_load_hidden_expect_failure.s # RUN: at line 5
+ /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/llvm-mc -triple x86_64-apple-macosx10.9 -filetype=obj -o /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/test/ExecutionEngine/JITLink/x86-64/Output/MachO_archive_load_hidden_expect_failure.s.tmp/MachO_archive_load_hidden_support.o /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/test/ExecutionEngine/JITLink/x86-64/MachO_archive_load_hidden_expect_failure.s
not /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/llvm-jitlink -noexec /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/test/ExecutionEngine/JITLink/x86-64/Output/MachO_archive_load_hidden_expect_failure.s.tmp/MachO_archive_load_hidden_support.o -lFoo    -jd Foo -L/home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/test/ExecutionEngine/JITLink/x86-64/Output/MachO_archive_load_hidden_expect_failure.s.tmp -hidden-lExtraDef # RUN: at line 7
+ not /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/llvm-jitlink -noexec /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/test/ExecutionEngine/JITLink/x86-64/Output/MachO_archive_load_hidden_expect_failure.s.tmp/MachO_archive_load_hidden_support.o -lFoo -jd Foo -L/home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/test/ExecutionEngine/JITLink/x86-64/Output/MachO_archive_load_hidden_expect_failure.s.tmp -hidden-lExtraDef
llvm-jitlink error: Symbols not found: [ ExtraDef ]
libc++abi: Pure virtual function called!
error: Aborted

--

********************
Testing:  0.. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90..
Slowest Tests:
--------------------------------------------------------------------------
576.37s: LLVM :: CodeGen/AMDGPU/sched-group-barrier-pipeline-solver.mir
342.48s: Clang :: Driver/fsanitize.c
331.58s: LLVM :: CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
255.08s: Clang :: Preprocessor/riscv-target-features.c
249.86s: LLVM :: CodeGen/AMDGPU/memintrinsic-unroll.ll
220.12s: Clang :: OpenMP/target_defaultmap_codegen_01.cpp
219.69s: Clang :: Driver/arm-cortex-cpus-2.c
219.03s: Clang :: Driver/arm-cortex-cpus-1.c
218.19s: Clang :: CodeGen/AArch64/sve-intrinsics/acle_sve_reinterpret.c
216.46s: Clang :: OpenMP/target_update_codegen.cpp
199.66s: Clang :: Preprocessor/arm-target-features.c
190.85s: Clang :: Preprocessor/aarch64-target-features.c

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants