aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/CodeGen/CodeGenFunction.h
diff options
context:
space:
mode:
authorSimon Tatham <simon.tatham@arm.com>2018-05-30 07:54:05 +0000
committerSimon Tatham <simon.tatham@arm.com>2018-05-30 07:54:05 +0000
commit89e31fa7fc28f68866f07dd31bc998dcb79997d7 (patch)
tree2b6d17b7507b26a69873ca757eb52a17496c9bbf /clang/lib/CodeGen/CodeGenFunction.h
parent60e6ce415532d5f25f0c7ad682d86c3e3d83a33e (diff)
downloadllvm-89e31fa7fc28f68866f07dd31bc998dcb79997d7.zip
llvm-89e31fa7fc28f68866f07dd31bc998dcb79997d7.tar.gz
llvm-89e31fa7fc28f68866f07dd31bc998dcb79997d7.tar.bz2
Support __iso_volatile_load8 etc on aarch64-win32.
These intrinsics are used by MSVC's header files on AArch64 Windows as well as AArch32, so we should support them for both targets. I've factored them out of CodeGenFunction::EmitARMBuiltinExpr into separate functions that EmitAArch64BuiltinExpr can call as well. Reviewers: javed.absar, mstorsjo Reviewed By: mstorsjo Subscribers: kristof.beyls, cfe-commits Differential Revision: https://reviews.llvm.org/D47476 llvm-svn: 333513
Diffstat (limited to 'clang/lib/CodeGen/CodeGenFunction.h')
-rw-r--r--clang/lib/CodeGen/CodeGenFunction.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/clang/lib/CodeGen/CodeGenFunction.h b/clang/lib/CodeGen/CodeGenFunction.h
index 1cd952c..56b07e5 100644
--- a/clang/lib/CodeGen/CodeGenFunction.h
+++ b/clang/lib/CodeGen/CodeGenFunction.h
@@ -3541,6 +3541,10 @@ public:
SmallVectorImpl<llvm::Value *> &Ops,
Address PtrOp0, Address PtrOp1,
llvm::Triple::ArchType Arch);
+
+ llvm::Value *EmitISOVolatileLoad(const CallExpr *E);
+ llvm::Value *EmitISOVolatileStore(const CallExpr *E);
+
llvm::Function *LookupNeonLLVMIntrinsic(unsigned IntrinsicID,
unsigned Modifier, llvm::Type *ArgTy,
const CallExpr *E);