[PATCH] D71847: [OpenMP][Part 1] Reusable OpenMP context/traits handling

Johannes Doerfert via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Mar 13 17:49:59 PDT 2020


jdoerfert marked an inline comment as done.
jdoerfert added inline comments.


================
Comment at: llvm/include/llvm/Frontend/OpenMP/OMPContext.h:119
+
+  SmallSet<TraitProperty, 8> RequiredTraits;
+  SmallVector<TraitProperty, 8> ConstructTraits;
----------------
rnk wrote:
> I'd suggest that you think about different data structures here. I noticed that this instantiation of SmallSet, which wraps std::set, takes ~20ms, and happens in every file that includes OMPContext.h.
> 
> Can you use a BitVector or std::bitset instead?
TBH, I don't understand why this takes any time at all as it is just a type. Do you mean having `std::set` in the type is already slow?

I still run test but what do you think of D76170 ?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D71847/new/

https://reviews.llvm.org/D71847





More information about the llvm-commits mailing list