[PATCH] D53927: [AArch64] Enable libm vectorized functions via SLEEF

Bryan Chan via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Feb 15 15:35:48 PST 2019


bryanpkc added a comment.

In D53927#1399283 <https://reviews.llvm.org/D53927#1399283>, @steleman wrote:

> In D53927#1399263 <https://reviews.llvm.org/D53927#1399263>, @rengolin wrote:
>
> > Thanks Stephan, now looks good.
> >
> > Did you see the comment on lgamma coming after isoc99? I wonder if that's reproducible in all systems...
>
>
> Yup I saw it. But I don't get any errors here (Ubuntu 16.04 / Ubuntu 18.something) AArch64.
>
> And it's not clear to me how that sorted alphabetical order is supposed to work. There's a bunch of other functions that come after lgamma/tgamma that aren't sorted.
>
> For example:
>
>   /// char * __strtok_r(char *s, const char *delim, char **save_ptr);
>   TLI_DEFINE_ENUM_INTERNAL(dunder_strtok_r)
>   TLI_DEFINE_STRING_INTERNAL("__strtok_r")
>   /// int abs(int j);
>   TLI_DEFINE_ENUM_INTERNAL(abs)
>   TLI_DEFINE_STRING_INTERNAL("abs")
>   /// int access(const char *path, int amode);
>   TLI_DEFINE_ENUM_INTERNAL(access)
>   TLI_DEFINE_STRING_INTERNAL("access")
>


The build was fine, but when running the compiler, this assertion in `lib/Analysis/TargetLibraryInfo.cpp` will fail:

  static void initialize(TargetLibraryInfoImpl &TLI, const Triple &T,
                         ArrayRef<StringRef> StandardNames) {
    // Verify that the StandardNames array is in alphabetical order.
    assert(std::is_sorted(StandardNames.begin(), StandardNames.end(),
                          [](StringRef LHS, StringRef RHS) {
                            return LHS < RHS;
                          }) &&
           "TargetLibraryInfoImpl function names must be sorted");

You probably don't see it because you are only building in Release mode.


Repository:
  rL LLVM

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

https://reviews.llvm.org/D53927





More information about the llvm-commits mailing list