[PATCH] D47917: [ARM] Lower llvm.ctlz.i32 to a libcall when clz is not available.

Dave Green via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jun 13 08:21:13 PDT 2018


dmgreen accepted this revision.
dmgreen added a comment.
This revision is now accepted and ready to land.

So we (Arm Compiler 6) don't ship/compile against compiler-rt. At least not at the moment. I'm not sure why, it's been like that from before my time, we have just survived like that for a long while. I'm guessing our c library has always just filled in the gaps (at least the parts that we need).

I asked some people around here, Peter S suggested this probably didn't count as gnueabi, seeing as it works on many platforms (darwin, windows, etc). We probably have to just presume these rt functions are present, which I think makes sense from a compiler perspective. From reading the libgcc docs, they are always presumed to be present (even with nostdlib, afaict)

I can fix this up downstream, either by adding the function to our c library, or more likely by partially reverting this just in AC6 until we have these functions.

With that out the way, LGTM. This looks like a good codesize improvement.


Repository:
  rL LLVM

https://reviews.llvm.org/D47917





More information about the llvm-commits mailing list