[clang] [llvm] [X86] Support reserving EDI and ESI on x86-32 (PR #186123)

via cfe-commits cfe-commits at lists.llvm.org
Thu Mar 12 07:44:11 PDT 2026


github-actions[bot] wrote:

<!--PREMERGE ADVISOR COMMENT: Linux-->
# :penguin: Linux x64 Test Results

* 171173 tests passed
* 3035 tests skipped
* 1 test failed

## Failed Tests
(click on a test name to see its output)

### LLVM
<details>
<summary>LLVM.CodeGen/X86/reserveDISIreg.ll</summary>

```
Exit Code: 2

Command Output (stdout):
--
# RUN: at line 6
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/reserveDISIreg.ll -mtriple=i386-unknown-linux-gnu -verify-machineinstrs | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/reserveDISIreg.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -mtriple=i386-unknown-linux-gnu -verify-machineinstrs
# .---command stderr------------
# | Error: Super register $rdi of reserved register $di is not reserved.
# | llc: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Target/X86/X86RegisterInfo.cpp:623: virtual BitVector llvm::X86RegisterInfo::getReservedRegs(const MachineFunction &) const: Assertion `checkAllSuperRegsMarked(Reserved, {X86::SIL, X86::DIL, X86::BPL, X86::SPL, X86::SIH, X86::DIH, X86::BPH, X86::SPH})' failed.
# | 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/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -mtriple=i386-unknown-linux-gnu -verify-machineinstrs
# | 1.	Running pass 'Function Pass Manager' on module '<stdin>'.
# | 2.	Running pass 'Finalize ISel and expand pseudo-instructions' on function '@tedi'
# |  #0 0x000000000851b588 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Support/Unix/Signals.inc:880:13
# |  #1 0x00000000085184f1 llvm::sys::RunSignalHandlers() /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Support/Signals.cpp:109:18
# |  #2 0x000000000851c3a1 SignalHandler(int, siginfo_t*, void*) /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Support/Unix/Signals.inc:448:38
# |  #3 0x000078a13a3be330 (/lib/x86_64-linux-gnu/libc.so.6+0x45330)
# |  #4 0x000078a13a417b2c pthread_kill (/lib/x86_64-linux-gnu/libc.so.6+0x9eb2c)
# |  #5 0x000078a13a3be27e raise (/lib/x86_64-linux-gnu/libc.so.6+0x4527e)
# |  #6 0x000078a13a3a18ff abort (/lib/x86_64-linux-gnu/libc.so.6+0x288ff)
# |  #7 0x000078a13a3a181b (/lib/x86_64-linux-gnu/libc.so.6+0x2881b)
# |  #8 0x000078a13a3b4517 (/lib/x86_64-linux-gnu/libc.so.6+0x3b517)
# |  #9 0x0000000006806b35 MCSubRegIterator /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/MC/MCRegisterInfo.h:554:5
# | #10 0x0000000006806b35 subregs_inclusive /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/MC/MCRegisterInfo.h:803:21
# | #11 0x0000000006806b35 llvm::X86RegisterInfo::getReservedRegs(llvm::MachineFunction const&) const /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Target/X86/X86RegisterInfo.cpp:563:36
# | #12 0x000000000729202f llvm::MachineRegisterInfo::freezeReservedRegs() /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/CodeGen/MachineRegisterInfo.cpp:530:3
# | #13 0x00000000070acd70 end /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/CodeGen/MachineFunction.h:1019:51
# | #14 0x00000000070acd70 runImpl(llvm::MachineFunction&) /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/CodeGen/FinalizeISel.cpp:53:57
# | #15 0x00000000070acfd9 (anonymous namespace)::FinalizeISel::runOnMachineFunction(llvm::MachineFunction&) /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/CodeGen/FinalizeISel.cpp:88:3
# | #16 0x00000000071d7553 llvm::MachineFunctionPass::runOnFunction(llvm::Function&) /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/CodeGen/MachineFunctionPass.cpp:0:10
# | #17 0x00000000077463a8 llvm::FPPassManager::runOnFunction(llvm::Function&) /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:0:27
# | #18 0x000000000774de52 llvm::FPPassManager::runOnModule(llvm::Module&) /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:1444:13
# | #19 0x0000000007746e1b runOnModule /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:1513:27
# | #20 0x0000000007746e1b llvm::legacy::PassManagerImpl::run(llvm::Module&) /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:531:44
# | #21 0x0000000004f283fc compileModule(char**, llvm::SmallVectorImpl<llvm::PassPlugin>&, llvm::LLVMContext&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>&) /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/tools/llc/llc.cpp:871:17
# | #22 0x0000000004f256c3 main /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/tools/llc/llc.cpp:459:13
# | #23 0x000078a13a3a31ca (/lib/x86_64-linux-gnu/libc.so.6+0x2a1ca)
# | #24 0x000078a13a3a328b __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2a28b)
# | #25 0x0000000004f211e5 _start (/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc+0x4f211e5)
# `-----------------------------
# error: command failed with exit status: -6
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/reserveDISIreg.ll
# .---command stderr------------
# | FileCheck error: '<stdin>' is empty.
# | FileCheck command line:  /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/reserveDISIreg.ll
# `-----------------------------
# error: command failed with exit status: 2

--

```
</details>

If these failures are unrelated to your changes (for example tests are broken or flaky at HEAD), please open an issue at https://github.com/llvm/llvm-project/issues and add the `infrastructure` label.

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


More information about the cfe-commits mailing list