dblaikie added inline comments.
================ Comment at: llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp:712-714 + assert(!getAbstractScopeDIEs().count(DS) && + "Abstract DIE for this scope exists!"); + getAbstractScopeDIEs()[DS] = ScopeDIE; ---------------- jmmartinez wrote: > krisb wrote: > > jmmartinez wrote: > > > NIT: You could use `insert/try_emplace` instead of using `count` and > > > `operator[]`. The assertion would become something like: > > > ``` > > > auto Inserted = getAbstractScopeDIEs().try_emplace(DS, ScopeDIE); > > > assert(Inserted.second && "Abstract DIE for this scope exists!"); > > > return ScopeDIE; > > > ``` > > I'd slightly prefer to keep the original code as it looks a bit more > > readable to me (in your example, there should be another line to void out > > unused `Inserted` variable, otherwise it'd cause a warning). > > Additional `count()` call in the `assert()` doesn't seem too expensive to > > me, but if you still think `try_emplace()` is better, I'll change to it. > Ok for me. If the use of count was outside the assert I would have argued > against. FWIW I'd lean towards avoiding the extra lookup in the +Asserts build (by using emplace or try_emplace, etc - yeah, with the extra void cast for the non-asserts-unused variable), but wouldn't insist on it. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D144006/new/ https://reviews.llvm.org/D144006 _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
