[llvm] [CodeGen] Add generic INIT_UNDEF pseudo (PR #106744)

Chris B via llvm-commits llvm-commits at lists.llvm.org
Thu Sep 5 08:02:35 PDT 2024


llvm-beanz wrote:

Starting with this commit I'm hitting an assert running tablegen for AArch64:

```
15/57] Building AArch64GenGlobalISel.inc...
FAILED: lib/Target/AArch64/AArch64GenGlobalISel.inc /Users/cbieneman/dev/llvm-project/build-rel/lib/Target/AArch64/AArch64GenGlobalISel.inc 
cd /Users/cbieneman/dev/llvm-project/build-rel && /Users/cbieneman/dev/llvm-project/build-rel/bin/llvm-tblgen -gen-global-isel -I /Users/cbieneman/dev/llvm-project/llvm/lib/Target/AArch64 -I/Users/cbieneman/dev/llvm-project/build-rel/include -I/Users/cbieneman/dev/llvm-project/llvm/include -I /Users/cbieneman/dev/llvm-project/llvm/lib/Target /Users/cbieneman/dev/llvm-project/llvm/lib/Target/AArch64/AArch64.td --write-if-changed -o lib/Target/AArch64/AArch64GenGlobalISel.inc -d lib/Target/AArch64/AArch64GenGlobalISel.inc.d
Assertion failed: (InstrsByEnum.size() == Insts.size() && "Missing predefined instr"), function ComputeInstrsByEnum, file CodeGenTarget.cpp, line 329.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.      Program arguments: /Users/cbieneman/dev/llvm-project/build-rel/bin/llvm-tblgen -gen-global-isel -I /Users/cbieneman/dev/llvm-project/llvm/lib/Target/AArch64 -I/Users/cbieneman/dev/llvm-project/build-rel/include -I/Users/cbieneman/dev/llvm-project/llvm/include -I /Users/cbieneman/dev/llvm-project/llvm/lib/Target /Users/cbieneman/dev/llvm-project/llvm/lib/Target/AArch64/AArch64.td --write-if-changed -o lib/Target/AArch64/AArch64GenGlobalISel.inc -d lib/Target/AArch64/AArch64GenGlobalISel.inc.d
 #0 0x00000001048c07c4 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/Users/cbieneman/dev/llvm-project/build-rel/bin/llvm-tblgen+0x10028c7c4)
 #1 0x00000001048beea0 llvm::sys::RunSignalHandlers() (/Users/cbieneman/dev/llvm-project/build-rel/bin/llvm-tblgen+0x10028aea0)
 #2 0x00000001048c0e38 SignalHandler(int) (/Users/cbieneman/dev/llvm-project/build-rel/bin/llvm-tblgen+0x10028ce38)
 #3 0x0000000188b82584 (/usr/lib/system/libsystem_platform.dylib+0x18047a584)
 #4 0x0000000188b51c20 (/usr/lib/system/libsystem_pthread.dylib+0x180449c20)
 #5 0x0000000188a5ea30 (/usr/lib/system/libsystem_c.dylib+0x180356a30)
 #6 0x0000000188a5dd20 (/usr/lib/system/libsystem_c.dylib+0x180355d20)
 #7 0x0000000104928240 llvm::CodeGenTarget::ComputeInstrsByEnum() const (.cold.4) (/Users/cbieneman/dev/llvm-project/build-rel/bin/llvm-tblgen+0x1002f4240)
 #8 0x00000001046d5968 llvm::CodeGenTarget::ComputeInstrsByEnum() const (/Users/cbieneman/dev/llvm-project/build-rel/bin/llvm-tblgen+0x1000a1968)
 #9 0x00000001046887dc llvm::CodeGenDAGPatterns::InferInstructionFlags() (/Users/cbieneman/dev/llvm-project/build-rel/bin/llvm-tblgen+0x1000547dc)
#10 0x0000000104685b80 llvm::CodeGenDAGPatterns::CodeGenDAGPatterns(llvm::RecordKeeper&, std::__1::function<void (llvm::TreePattern*)>) (/Users/cbieneman/dev/llvm-project/build-rel/bin/llvm-tblgen+0x100051b80)
#11 0x00000001047cb55c llvm::TableGen::Emitter::OptClass<(anonymous namespace)::GlobalISelEmitter>::run(llvm::RecordKeeper&, llvm::raw_ostream&) (/Users/cbieneman/dev/llvm-project/build-rel/bin/llvm-tblgen+0x10019755c)
#12 0x00000001048e3280 llvm::TableGen::Emitter::ApplyCallback(llvm::RecordKeeper&, llvm::raw_ostream&) (/Users/cbieneman/dev/llvm-project/build-rel/bin/llvm-tblgen+0x1002af280)
#13 0x00000001048c5fc0 llvm::TableGenMain(char const*, std::__1::function<bool (llvm::raw_ostream&, llvm::RecordKeeper&)>) (/Users/cbieneman/dev/llvm-project/build-rel/bin/llvm-tblgen+0x100291fc0)
#14 0x000000010485ffc4 main (/Users/cbieneman/dev/llvm-project/build-rel/bin/llvm-tblgen+0x10022bfc4)
#15 0x00000001887c7154 
```

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


More information about the llvm-commits mailing list