diff options
Diffstat (limited to 'contrib/llvm/tools/clang/lib/CodeGen/TargetInfo.h')
-rw-r--r-- | contrib/llvm/tools/clang/lib/CodeGen/TargetInfo.h | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/contrib/llvm/tools/clang/lib/CodeGen/TargetInfo.h b/contrib/llvm/tools/clang/lib/CodeGen/TargetInfo.h index d745e420c4a5..b530260ea48f 100644 --- a/contrib/llvm/tools/clang/lib/CodeGen/TargetInfo.h +++ b/contrib/llvm/tools/clang/lib/CodeGen/TargetInfo.h @@ -57,8 +57,7 @@ public: /// setTargetAttributes - Provides a convenient hook to handle extra /// target-specific attributes for the given global. virtual void setTargetAttributes(const Decl *D, llvm::GlobalValue *GV, - CodeGen::CodeGenModule &M, - ForDefinition_t IsForDefinition) const {} + CodeGen::CodeGenModule &M) const {} /// emitTargetMD - Provides a convenient hook to handle extra /// target-specific metadata for the given global. @@ -267,7 +266,7 @@ public: virtual llvm::SyncScope::ID getLLVMSyncScopeID(SyncScope S, llvm::LLVMContext &C) const; - /// Inteface class for filling custom fields of a block literal for OpenCL. + /// Interface class for filling custom fields of a block literal for OpenCL. class TargetOpenCLBlockHelper { public: typedef std::pair<llvm::Value *, StringRef> ValueTy; @@ -297,6 +296,13 @@ public: createEnqueuedBlockKernel(CodeGenFunction &CGF, llvm::Function *BlockInvokeFunc, llvm::Value *BlockLiteral) const; + + /// \return true if the target supports alias from the unmangled name to the + /// mangled name of functions declared within an extern "C" region and marked + /// as 'used', and having internal linkage. + virtual bool shouldEmitStaticExternCAliases() const { return true; } + + virtual void setCUDAKernelCallingConvention(const FunctionType *&FT) const {} }; } // namespace CodeGen |