[PATCH] D156522: [LLVM] move verification of convergence control to a class template

Steven Wu via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Aug 2 12:17:43 PDT 2023


steven_wu added inline comments.


================
Comment at: llvm/include/llvm/ADT/GenericConvergenceVerifierImpl.h:34
+#include "llvm/ADT/Twine.h"
+#include "llvm/IR/Intrinsics.h"
+
----------------
sameerds wrote:
> steven_wu wrote:
> > This commit also breaks clang module. You cannot add a dependency from ADT -> IR. This will cause a cyclic dependency in modules between LLVM_Utils <-> LLVM_IR.
> Fixed this by moving the file into llvm/IR. But I still see a failure in the modules build, in a different place:
> 
> 
> ```
> In file included from /home/ssahasra/projects/llvm-gmir-verifier/llvm/lib/Support/MemAlloc.cpp:10:
> ...
> /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/type_traits:2993:41: error: template parameter redefines default argument
> template <typename _Tp, unsigned _Idx = 0>
>                                         ^
> /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/type_traits:2993:41: note: previous default template argument defined here
> template <typename _Tp, unsigned _Idx = 0>
>                                         ^
> 1 error generated.
> ```
> 
> Is that expected? I am using "Ubuntu clang version 14.0.6"
I am not too familiar with stdc++ implementation (it should work) but libcxx should just work. We have some macOS bots covering the module builds (it didn't report last time because your commit and revert happen to landed in the same build).


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D156522



More information about the llvm-commits mailing list