[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