[PATCH] D38821: [COFF, ARM64] Add MS builtins __dmb, __dsb, __isb
Martin Storsjö via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Thu Oct 12 00:00:49 PDT 2017
mstorsjo added a comment.
In https://reviews.llvm.org/D38821#895527, @compnerd wrote:
> Don't you need a change to the intrinsics to actually map the builtin?
This seems to be automatically mapped via this piece of code in CGBuiltin.cpp:
// See if we have a target specific intrinsic.
const char *Name = getContext().BuiltinInfo.getName(BuiltinID);
Intrinsic::ID IntrinsicID = Intrinsic::not_intrinsic;
StringRef Prefix =
llvm::Triple::getArchTypePrefix(getTarget().getTriple().getArch());
if (!Prefix.empty()) {
IntrinsicID = Intrinsic::getIntrinsicForGCCBuiltin(Prefix.data(), Name);
// NOTE we dont need to perform a compatibility flag check here since the
// intrinsics are declared in Builtins*.def via LANGBUILTIN which filter the
// MS builtins via ALL_MS_LANGUAGES and are filtered earlier.
if (IntrinsicID == Intrinsic::not_intrinsic)
IntrinsicID = Intrinsic::getIntrinsicForMSBuiltin(Prefix.data(), Name);
}
And these target specific intrinsics are already hooked up on the LLVM side in SVN r310502.
https://reviews.llvm.org/D38821
More information about the cfe-commits
mailing list