The visitTableCopy and visitTableFill guards in LLVMMemoryCopyFillLowering are defined with an uppercase V:
void VisitTableCopy(TableCopy* curr) {
Fatal() << "table.copy instruction found...";
}
void VisitTableFill(TableCopy* curr) { // also wrong param type
Fatal() << "table.fill instruction found...";
}
The PostWalker dispatches to lowercase visit* methods, so these are never called. The pass silently ignores table.copy and table.fill instructions instead of producing the intended error.
There is also a wrong parameter type: VisitTableFill takes TableCopy* instead of TableFill*.
The working visitor methods in the same file (visitMemoryCopy, visitMemoryFill) use lowercase v.
Fix: #8291