[llvm] [SandboxIR] Implement ReturnInst (PR #99784)

Sriraman Tallam via llvm-commits llvm-commits at lists.llvm.org
Mon Jul 22 13:29:23 PDT 2024


================
@@ -668,6 +710,11 @@ Value *Context::getOrCreateValueInternal(llvm::Value *LLVMV, llvm::User *U) {
     It->second = std::unique_ptr<StoreInst>(new StoreInst(LLVMSt, *this));
     return It->second.get();
   }
+  case llvm::Instruction::Ret: {
+    auto *LLVMRet = cast<llvm::ReturnInst>(LLVMV);
+    It->second = std::unique_ptr<ReturnInst>(new ReturnInst(LLVMRet, *this));
+    return It->second.get();
+  }
   default:
----------------
tmsri wrote:

Can you replace with:

auto lambda = []<typename T>(auto It, auto LLVMV) {
  auto *LLVMVal = cast<T>(LLVMV);
  It->second = std::unique_ptr<T>(new T(...));
  return It->second.get();
};

case llvm::Instruction::Ret: {
           return lambda<ReturnInst>(It);
}

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


More information about the llvm-commits mailing list