[PATCH] D26718: [llvm] Iterate SmallPtrSet in reverse order to uncover non-determinism in codegen

Mandeep Singh Grang via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Dec 7 12:11:16 PST 2016


mgrang added inline comments.


================
Comment at: include/llvm/ADT/SmallPtrSet.h:30
+#if LLVM_ENABLE_ABI_BREAKING_CHECKS
+extern bool ReverseIterate;
+#endif
----------------
mehdi_amini wrote:
> mgrang wrote:
> > mgrang wrote:
> > > mehdi_amini wrote:
> > > > This introduces a dependency from ADT to Support, I'm not sure it is OK.
> > > > Also the symbol should be in the LLVM namespace.
> > > @mehdi_amini Yes, I will move ReverseIterate to LLVM namespace.
> > > 
> > > Initially I was skeptical about defining ReverseIterate in Support. But then I did not know of a better place to do this, Could you please suggest what would be a preferable place to define this?
> > @mehdi_amini Could you please take a look at my updated patch and comment when you get a chance?
> I don't have a good suggestion. This is quite annoying. Maybe making them weak definition in a header (possibly using template)?
@mehdi_amini Thanks for the suggestion.

Variable templates are a C++14 feature and the compiler will output this warning:
"warning: variable templates are a C++14 extension [-Wc++14-extensions]"

Would we need to silence these? By passing -Wno-c++14-extensions in the CMake flags?


https://reviews.llvm.org/D26718





More information about the llvm-commits mailing list