@@ -66,16 +66,16 @@ Embedder::Embedder(const Function &F, const Vocab &Vocabulary,
6666 OpcWeight(::OpcWeight), TypeWeight(::TypeWeight), ArgWeight(::ArgWeight) {
6767}
6868
69- ErrorOr <std::unique_ptr<Embedder>> Embedder::create (IR2VecKind Mode,
70- const Function &F,
71- const Vocab &Vocabulary,
72- unsigned Dimension) {
69+ Expected <std::unique_ptr<Embedder>> Embedder::create (IR2VecKind Mode,
70+ const Function &F,
71+ const Vocab &Vocabulary,
72+ unsigned Dimension) {
7373 switch (Mode) {
7474 case IR2VecKind::Symbolic:
7575 return std::make_unique<SymbolicEmbedder>(F, Vocabulary, Dimension);
7676 default :
77- return errorToErrorCode (
78- make_error<StringError>( " Unknown IR2VecKind " , errc::invalid_argument) );
77+ return make_error<StringError>( " Unknown IR2VecKind " ,
78+ errc::invalid_argument);
7979 }
8080}
8181
@@ -262,12 +262,13 @@ PreservedAnalyses IR2VecPrinterPass::run(Module &M,
262262
263263 auto Vocab = IR2VecVocabResult.getVocabulary ();
264264 auto Dim = IR2VecVocabResult.getDimension ();
265-
266265 for (Function &F : M) {
267- ErrorOr <std::unique_ptr<Embedder>> EmbOrErr =
266+ Expected <std::unique_ptr<Embedder>> EmbOrErr =
268267 Embedder::create (IR2VecKind::Symbolic, F, Vocab, Dim);
269- if (auto EC = EmbOrErr.getError ()) {
270- OS << " Error creating IR2Vec embeddings: " << EC.message () << " \n " ;
268+ if (auto Err = EmbOrErr.takeError ()) {
269+ handleAllErrors (std::move (Err), [&](const ErrorInfoBase &EI) {
270+ OS << " Error creating IR2Vec embeddings: " << EI.message () << " \n " ;
271+ });
271272 continue ;
272273 }
273274
0 commit comments