[llvm] [WebAssembly][GlobalISel] Add legalization & selection of most integer ops (PR #190234)
Matt Arsenault via llvm-commits
llvm-commits at lists.llvm.org
Fri Apr 3 05:52:57 PDT 2026
================
@@ -83,14 +84,65 @@ WebAssemblyInstructionSelector::WebAssemblyInstructionSelector(
{
}
+static const TargetRegisterClass &getRegClassForBank(const RegisterBank &RB) {
+ switch (RB.getID()) {
+ case WebAssembly::I32RegBankID:
+ return WebAssembly::I32RegClass;
+ case WebAssembly::I64RegBankID:
+ return WebAssembly::I64RegClass;
+ case WebAssembly::F32RegBankID:
+ return WebAssembly::F32RegClass;
+ case WebAssembly::F64RegBankID:
+ return WebAssembly::F64RegClass;
+ case WebAssembly::EXNREFRegBankID:
+ return WebAssembly::EXNREFRegClass;
+ case WebAssembly::EXTERNREFRegBankID:
+ return WebAssembly::EXTERNREFRegClass;
+ case WebAssembly::FUNCREFRegBankID:
+ return WebAssembly::FUNCREFRegClass;
+ case WebAssembly::V128RegBankID:
+ return WebAssembly::V128RegClass;
+ default:
+ reportFatalInternalError(
+ "Found unexpected RegisterBank in `getRegClassForBank`");
----------------
arsenm wrote:
This seems like a case for llvm_unreachable
https://github.com/llvm/llvm-project/pull/190234
More information about the llvm-commits
mailing list