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
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
  • [PATCH] D144... Juan Manuel Martinez CaamaƱo via Phabricator via cfe-commits
    • [PATCH]... David Blaikie via Phabricator via cfe-commits

Reply via email to