aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/CodeGen/CodeGenFunction.h
diff options
context:
space:
mode:
authorAlbert Gutowski <agutowski@google.com>2016-10-12 22:01:05 +0000
committerAlbert Gutowski <agutowski@google.com>2016-10-12 22:01:05 +0000
commit2a0621e58a3929a0e1662c67ae59bfbb11b3b08f (patch)
tree450a0dc1c8c17034ab81373d27bde892e19813cc /clang/lib/CodeGen/CodeGenFunction.h
parenta8c44c3d0c4553e349c74b52b07d83fe0be7b39c (diff)
downloadllvm-2a0621e58a3929a0e1662c67ae59bfbb11b3b08f.zip
llvm-2a0621e58a3929a0e1662c67ae59bfbb11b3b08f.tar.gz
llvm-2a0621e58a3929a0e1662c67ae59bfbb11b3b08f.tar.bz2
Implement MS _BitScan intrinsics
Summary: _BitScan intrinsics (and some others, for example _Interlocked and _bittest) are supposed to work on both ARM and x86. This is an attempt to isolate them, avoiding repeating their code or writing separate function for each builtin. Reviewers: hans, thakis, rnk, majnemer Subscribers: RKSimon, cfe-commits, aemerson Differential Revision: https://reviews.llvm.org/D25264 llvm-svn: 284060
Diffstat (limited to 'clang/lib/CodeGen/CodeGenFunction.h')
-rw-r--r--clang/lib/CodeGen/CodeGenFunction.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/clang/lib/CodeGen/CodeGenFunction.h b/clang/lib/CodeGen/CodeGenFunction.h
index eac759f..4de0987 100644
--- a/clang/lib/CodeGen/CodeGenFunction.h
+++ b/clang/lib/CodeGen/CodeGenFunction.h
@@ -2961,6 +2961,12 @@ public:
llvm::Value *EmitWebAssemblyBuiltinExpr(unsigned BuiltinID,
const CallExpr *E);
+private:
+ enum class MSVCIntrin;
+
+public:
+ llvm::Value *EmitMSVCBuiltinExpr(MSVCIntrin BuiltinID, const CallExpr *E);
+
llvm::Value *EmitObjCProtocolExpr(const ObjCProtocolExpr *E);
llvm::Value *EmitObjCStringLiteral(const ObjCStringLiteral *E);
llvm::Value *EmitObjCBoxedExpr(const ObjCBoxedExpr *E);