diff options
Diffstat (limited to 'llvm/lib/Target/WebAssembly/WebAssemblyCallIndirectFixup.cpp')
-rw-r--r-- | llvm/lib/Target/WebAssembly/WebAssemblyCallIndirectFixup.cpp | 42 |
1 files changed, 26 insertions, 16 deletions
diff --git a/llvm/lib/Target/WebAssembly/WebAssemblyCallIndirectFixup.cpp b/llvm/lib/Target/WebAssembly/WebAssemblyCallIndirectFixup.cpp index 85b8bd6759d..326e838052d 100644 --- a/llvm/lib/Target/WebAssembly/WebAssemblyCallIndirectFixup.cpp +++ b/llvm/lib/Target/WebAssembly/WebAssemblyCallIndirectFixup.cpp @@ -64,18 +64,30 @@ FunctionPass *llvm::createWebAssemblyCallIndirectFixup() { static unsigned GetNonPseudoCallIndirectOpcode(const MachineInstr &MI) { switch (MI.getOpcode()) { using namespace WebAssembly; - case PCALL_INDIRECT_VOID: return CALL_INDIRECT_VOID; - case PCALL_INDIRECT_I32: return CALL_INDIRECT_I32; - case PCALL_INDIRECT_I64: return CALL_INDIRECT_I64; - case PCALL_INDIRECT_F32: return CALL_INDIRECT_F32; - case PCALL_INDIRECT_F64: return CALL_INDIRECT_F64; - case PCALL_INDIRECT_v16i8: return CALL_INDIRECT_v16i8; - case PCALL_INDIRECT_v8i16: return CALL_INDIRECT_v8i16; - case PCALL_INDIRECT_v4i32: return CALL_INDIRECT_v4i32; - case PCALL_INDIRECT_v2i64: return CALL_INDIRECT_v2i64; - case PCALL_INDIRECT_v4f32: return CALL_INDIRECT_v4f32; - case PCALL_INDIRECT_v2f64: return CALL_INDIRECT_v2f64; - default: return INSTRUCTION_LIST_END; + case PCALL_INDIRECT_VOID: + return CALL_INDIRECT_VOID; + case PCALL_INDIRECT_I32: + return CALL_INDIRECT_I32; + case PCALL_INDIRECT_I64: + return CALL_INDIRECT_I64; + case PCALL_INDIRECT_F32: + return CALL_INDIRECT_F32; + case PCALL_INDIRECT_F64: + return CALL_INDIRECT_F64; + case PCALL_INDIRECT_v16i8: + return CALL_INDIRECT_v16i8; + case PCALL_INDIRECT_v8i16: + return CALL_INDIRECT_v8i16; + case PCALL_INDIRECT_v4i32: + return CALL_INDIRECT_v4i32; + case PCALL_INDIRECT_v2i64: + return CALL_INDIRECT_v2i64; + case PCALL_INDIRECT_v4f32: + return CALL_INDIRECT_v4f32; + case PCALL_INDIRECT_v2f64: + return CALL_INDIRECT_v2f64; + default: + return INSTRUCTION_LIST_END; } } @@ -112,10 +124,8 @@ bool WebAssemblyCallIndirectFixup::runOnMachineFunction(MachineFunction &MF) { Ops.push_back(MachineOperand::CreateImm(0)); for (const MachineOperand &MO : - make_range(MI.operands_begin() + - MI.getDesc().getNumDefs() + 1, - MI.operands_begin() + - MI.getNumExplicitOperands())) + make_range(MI.operands_begin() + MI.getDesc().getNumDefs() + 1, + MI.operands_begin() + MI.getNumExplicitOperands())) Ops.push_back(MO); Ops.push_back(MI.getOperand(MI.getDesc().getNumDefs())); |