[PATCH] D81905: Enhance Itanium demangler interface.
Alexey Sachkov via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Jul 2 12:58:09 PDT 2020
AlexeySachkov added a comment.
> and insert the C++ templated declaration of `__esimd_flat_atomic0` into `esimd_builtins.h`, correct? I have a question then - the signature may include const references to **vectors**, how to represent those?
> More generally, if we want "C++ intrinsics" there should probably be a way to represent C++ types in the signature - ?
>
> A **vector **is `vector_type::type` from
>
> template <typename Ty, int N> struct vector_type {
> static constexpr int length = N;
> using type = Ty __attribute__((ext_vector_type(N)));
> };
According to {{clang/include/clang/Basic/Builtins.def}}, you can represent pointers and references via `*` and `&`; for vectors - there are `V`, `q`, and `E`. I don't know how to deal with template parameter here, but reference to 4-component vector should be something like `&E4i`
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D81905/new/
https://reviews.llvm.org/D81905
More information about the llvm-commits
mailing list