[IR2Vec] Simplifying creation of Embedder (#143999)
This change simplifies the API by removing the error handling complexity. - Changed `Embedder::create()` to return `std::unique_ptr<Embedder>` directly instead of `Expected<std::unique_ptr<Embedder>>` - Updated documentation and tests to reflect the new API - Added death test for invalid IR2Vec kind in debug mode - In release mode, simply returns nullptr for invalid kinds instead of creating an error (Tracking issue - #141817)
This commit is contained in:
committed by
GitHub
parent
24c4bba076
commit
9438048816
@@ -488,14 +488,9 @@ embeddings can be computed and accessed via an ``ir2vec::Embedder`` instance.
|
||||
|
||||
// Assuming F is an llvm::Function&
|
||||
// For example, using IR2VecKind::Symbolic:
|
||||
Expected<std::unique_ptr<ir2vec::Embedder>> EmbOrErr =
|
||||
std::unique_ptr<ir2vec::Embedder> Emb =
|
||||
ir2vec::Embedder::create(IR2VecKind::Symbolic, F, Vocabulary);
|
||||
|
||||
if (auto Err = EmbOrErr.takeError()) {
|
||||
// Handle error in embedder creation
|
||||
return;
|
||||
}
|
||||
std::unique_ptr<ir2vec::Embedder> Emb = std::move(*EmbOrErr);
|
||||
|
||||
3. **Compute and Access Embeddings**:
|
||||
Call ``getFunctionVector()`` to get the embedding for the function.
|
||||
|
||||
Reference in New Issue
Block a user