These changes are required to resolve the call_once related errors seen while building the Swift toolchain on PowerPC64LE. The existing macro checks are inadequate while building Swift on PowerPC64LE.
Did we not address the PPC related checks earlier? IIRC, the problem was that gcc does not define __PPC__ but does define __ppc__. The problem with std::call_once was not related to endian, so why not extend the condition on L32 to include __PPC__?
In https://reviews.llvm.org/D55503, we had extended the condition to include PPC.
However, the check required to build LLVM on PPC64LE was missed in SVN r348970.
Hence as requested by @nemanjai in review request D55503, I have raised this new review request D56382. I have also extended the condition to include PPC by submitting an additional diff to this new review request D56382.
@sarveshtamba As the author mentioned, yes, this has been upstreamed.
However, looks like swift-llvm did not sync the repo timely( or correctly),
So it only contains rL348970 for now.
You'll either have to wait, or contact maintainer of swift-llvm to report the sync issue.