[clang] [llvm] [Clang][inlineasm] Add special support for "rm" output constraints (PR #92040)

LLVM Continuous Integration via cfe-commits cfe-commits at lists.llvm.org
Sat Feb 14 05:18:35 PST 2026


llvm-ci wrote:

LLVM Buildbot has detected a new failure on builder `llvm-clang-x86_64-expensive-checks-ubuntu` running on `as-builder-4` while building `clang,llvm` at step 7 "test-check-all".

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

<details>
<summary>Here is the relevant piece of the build log for the reference</summary>

```
Step 7 (test-check-all) failure: Test just built components: check-all completed (failure)
******************** TEST 'LLVM :: CodeGen/AArch64/callbr-prepare.ll' FAILED ********************
Exit Code: 2

Command Output (stdout):
--
# RUN: at line 2
/home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/build/bin/opt /home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/llvm-project/llvm/test/CodeGen/AArch64/callbr-prepare.ll -mtriple=aarch64-linux-gnu -inline-asm-prepare -S -o - | /home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/build/bin/FileCheck /home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/llvm-project/llvm/test/CodeGen/AArch64/callbr-prepare.ll
# executed command: /home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/build/bin/opt /home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/llvm-project/llvm/test/CodeGen/AArch64/callbr-prepare.ll -mtriple=aarch64-linux-gnu -inline-asm-prepare -S -o -
# executed command: /home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/build/bin/FileCheck /home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/llvm-project/llvm/test/CodeGen/AArch64/callbr-prepare.ll
# RUN: at line 3
/home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/build/bin/opt /home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/llvm-project/llvm/test/CodeGen/AArch64/callbr-prepare.ll -mtriple=aarch64-linux-gnu -passes=inline-asm-prepare -S -o - | /home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/build/bin/FileCheck /home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/llvm-project/llvm/test/CodeGen/AArch64/callbr-prepare.ll
# executed command: /home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/build/bin/opt /home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/llvm-project/llvm/test/CodeGen/AArch64/callbr-prepare.ll -mtriple=aarch64-linux-gnu -passes=inline-asm-prepare -S -o -
# .---command stderr------------
# | Error: InlineAsmPreparePass does not invalidate CFG analyses but CFG changes detected in function @test0:
# | Different number of non-leaf basic blocks: before=2, after=4
# | Non-leaf block entry.indirect_crit_edge<0x5ae89b4c7f00> is added (1 successors)
# | Different successors of block entry<0x5ae89b488a40> (unordered):
# | - before (2): indirect<0x5ae89b488c80>, direct<0x5ae89b488ba0>, 
# | - after (2): entry.indirect_crit_edge<0x5ae89b4c7f00>, direct<0x5ae89b488ba0>, 
# | Non-leaf block direct.indirect_crit_edge<0x5ae89b4c8220> is added (1 successors)
# | Different successors of block direct<0x5ae89b488ba0> (unordered):
# | - before (2): direct2<0x5ae89b488c20>, indirect<0x5ae89b488c80>, 
# | - after (2): direct2<0x5ae89b488c20>, direct.indirect_crit_edge<0x5ae89b4c8220>, 
# | LLVM ERROR: CFG unexpectedly changed by InlineAsmPreparePass
# | PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace and instructions to reproduce the bug.
# | Stack dump:
# | 0.	Program arguments: /home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/build/bin/opt /home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/llvm-project/llvm/test/CodeGen/AArch64/callbr-prepare.ll -mtriple=aarch64-linux-gnu -passes=inline-asm-prepare -S -o -
# | 1.	Running pass "function(inline-asm-prepare)" on module "/home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/llvm-project/llvm/test/CodeGen/AArch64/callbr-prepare.ll"
# | 2.	Running pass "inline-asm-prepare" on function "test0"
# |  #0 0x00005ae88158f858 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/build/bin/opt+0x50a8858)
# |  #1 0x00005ae88158ce75 llvm::sys::RunSignalHandlers() (/home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/build/bin/opt+0x50a5e75)
# |  #2 0x00005ae881590911 SignalHandler(int, siginfo_t*, void*) Signals.cpp:0:0
# |  #3 0x00007bdfd4045330 (/lib/x86_64-linux-gnu/libc.so.6+0x45330)
# |  #4 0x00007bdfd409eb2c pthread_kill (/lib/x86_64-linux-gnu/libc.so.6+0x9eb2c)
# |  #5 0x00007bdfd404527e raise (/lib/x86_64-linux-gnu/libc.so.6+0x4527e)
# |  #6 0x00007bdfd40288ff abort (/lib/x86_64-linux-gnu/libc.so.6+0x288ff)
# |  #7 0x00005ae881555785 llvm::report_fatal_error(llvm::Twine const&, bool) (/home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/build/bin/opt+0x506e785)
# |  #8 0x00005ae882a94e70 void llvm::detail::UniqueFunctionBase<void, llvm::StringRef, llvm::Any, llvm::PreservedAnalyses const&>::CallImpl<llvm::PreservedCFGCheckerInstrumentation::registerCallbacks(llvm::PassInstrumentationCallbacks&, llvm::AnalysisManager<llvm::Module>&)::$_2>(void*, llvm::StringRef, llvm::Any&, llvm::PreservedAnalyses const&) StandardInstrumentations.cpp:0:0
# |  #9 0x00005ae8817ae528 llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (/home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/build/bin/opt+0x52c7528)
# | #10 0x00005ae882adf5dd llvm::detail::PassModel<llvm::Function, llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function>>, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) PassBuilderPipelines.cpp:0:0
# | #11 0x00005ae8817b2f11 llvm::ModuleToFunctionPassAdaptor::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/build/bin/opt+0x52cbf11)
# | #12 0x00005ae882a6f6fd llvm::detail::PassModel<llvm::Module, llvm::ModuleToFunctionPassAdaptor, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) NewPMDriver.cpp:0:0
# | #13 0x00005ae8817ad237 llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/build/bin/opt+0x52c6237)
# | #14 0x00005ae882a67b82 llvm::runPassPipeline(llvm::StringRef, llvm::Module&, llvm::TargetMachine*, llvm::TargetLibraryInfoImpl*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::StringRef, llvm::ArrayRef<llvm::PassPlugin>, llvm::ArrayRef<std::function<void (llvm::PassBuilder&)>>, llvm::opt_tool::OutputKind, llvm::opt_tool::VerifierKind, bool, bool, bool, bool, bool, bool, bool, bool) (/home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/build/bin/opt+0x6580b82)
# | #15 0x00005ae88152f62d optMain (/home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/build/bin/opt+0x504862d)
# | #16 0x00007bdfd402a1ca (/lib/x86_64-linux-gnu/libc.so.6+0x2a1ca)
# | #17 0x00007bdfd402a28b __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2a28b)
# | #18 0x00005ae881528925 _start (/home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/build/bin/opt+0x5041925)
# `-----------------------------
# error: command failed with exit status: -6
...

```

</details>

https://github.com/llvm/llvm-project/pull/92040


More information about the cfe-commits mailing list