[llvm] [SandboxIR] Implement BinaryOperator (PR #104121)
Thorsten Schütt via llvm-commits
llvm-commits at lists.llvm.org
Wed Aug 14 11:45:03 PDT 2024
================
@@ -1432,6 +1435,86 @@ class GetElementPtrInst final
// TODO: Add missing member functions.
};
+class BinaryOperator : public SingleLLVMInstructionImpl<llvm::BinaryOperator> {
+ static Opcode getBinOpOpcode(llvm::Instruction::BinaryOps BinOp) {
+ switch (BinOp) {
+ case llvm::Instruction::Add:
+ return Opcode::Add;
+ case llvm::Instruction::FAdd:
+ return Opcode::FAdd;
+ case llvm::Instruction::Sub:
+ return Opcode::Sub;
+ case llvm::Instruction::FSub:
+ return Opcode::FSub;
+ case llvm::Instruction::Mul:
+ return Opcode::Mul;
+ case llvm::Instruction::FMul:
+ return Opcode::FMul;
+ case llvm::Instruction::UDiv:
+ return Opcode::UDiv;
+ case llvm::Instruction::SDiv:
+ return Opcode::SDiv;
+ case llvm::Instruction::FDiv:
+ return Opcode::FDiv;
+ case llvm::Instruction::URem:
+ return Opcode::URem;
+ case llvm::Instruction::SRem:
+ return Opcode::SRem;
+ case llvm::Instruction::FRem:
+ return Opcode::FRem;
+ case llvm::Instruction::Shl:
+ return Opcode::Shl;
+ case llvm::Instruction::LShr:
+ return Opcode::LShr;
+ case llvm::Instruction::AShr:
+ return Opcode::AShr;
+ case llvm::Instruction::And:
+ return Opcode::And;
+ case llvm::Instruction::Or:
+ return Opcode::Or;
+ case llvm::Instruction::Xor:
+ return Opcode::Xor;
+ case llvm::Instruction::BinaryOpsEnd:
+ llvm_unreachable("Bad BinOp!");
----------------
tschuett wrote:
Not behind switch.
https://github.com/llvm/llvm-project/pull/104121
More information about the llvm-commits
mailing list