/frameworks/compile/slang/ |
H A D | slang.h | 35 #include "clang/Basic/LangOptions.h" 36 #include "clang/Basic/TargetOptions.h" 37 #include "clang/Frontend/CodeGenOptions.h" 38 #include "clang/Lex/ModuleLoader.h" 51 namespace clang { namespace 67 } // namespace clang 75 class Slang : public clang::ModuleLoader { 90 clang::LangOptions LangOpts; 92 clang::CodeGenOptions CodeGenOpts; 98 clang [all...] |
H A D | slang_backend.h | 20 #include "clang/AST/ASTConsumer.h" 40 namespace clang { namespace 59 class Backend : public clang::ASTConsumer { 61 const clang::TargetOptions &mTargetOpts; 70 clang::CodeGenerator *mGen; 89 clang::SourceManager &mSourceMgr; 111 void AnnotateFunction(clang::FunctionDecl *FD); 124 void LowerRSForEachCall(clang::FunctionDecl* FD, bool isKernel); 128 clang::DiagnosticsEngine &mDiagEngine; 129 const clang [all...] |
H A D | slang_rs_ast_replace.h | 20 #include "clang/AST/StmtVisitor.h" 23 #include "clang/AST/ASTContext.h" 25 namespace clang { namespace 33 class RSASTReplace : public clang::StmtVisitor<RSASTReplace> { 35 const clang::ASTContext &C; 36 clang::Stmt *mOuterStmt; 37 clang::Stmt *mOldStmt; 38 clang::Stmt *mNewStmt; 39 clang::Expr *mOldExpr; 40 clang [all...] |
H A D | slang_rs_context.h | 28 #include "clang/Lex/Preprocessor.h" 29 #include "clang/AST/Mangle.h" 41 namespace clang { namespace 50 } // namespace clang 79 clang::Preprocessor &mPP; 80 clang::ASTContext &mCtx; 103 std::unique_ptr<clang::MangleContext> mMangleCtx; 107 bool processExportVar(const clang::VarDecl *VD); 108 bool processExportFunc(const clang::FunctionDecl *FD); 111 int getForEachSlotNumber(const clang [all...] |
H A D | slang_rs_export_element.h | 22 #include "clang/Lex/Token.h" 29 namespace clang { namespace 32 } // namespace clang 58 const clang::Type *T, 67 const clang::DeclaratorDecl *DD);
|
H A D | slang_rs_export_foreach.h | 24 #include "clang/AST/Decl.h" 31 namespace clang { namespace 33 } // namespace clang 42 typedef llvm::SmallVectorImpl<const clang::ParmVarDecl*> InVec; 57 llvm::SmallVector<const clang::ParmVarDecl*, 16> mIns; 58 const clang::ParmVarDecl *mOut; 59 const clang::ParmVarDecl *mUsrData; 64 clang::QualType mResultType; // return type (if present). 76 mResultType(clang::QualType()), mHasReturnType(false), 81 const clang [all...] |
H A D | slang_rs_export_func.h | 26 #include "clang/AST/Decl.h" 36 namespace clang { namespace 38 } // namespace clang 54 const clang::FunctionDecl *FD) 72 const clang::FunctionDecl *FD);
|
H A D | slang_rs_export_reduce.h | 27 namespace clang { namespace 29 } // namespace clang 36 typedef llvm::SmallVectorImpl<const clang::ParmVarDecl*> InVec; 44 clang::SourceLocation mLocation; 74 llvm::SmallVector<const clang::ParmVarDecl*, kAccumulatorInsSmallSize> mAccumulatorIns; 81 const clang::SourceLocation Location, 110 const clang::ParmVarDecl *Param, bool ExpectedQualification); 112 static void checkVoidReturn(StateOfAnalyzeTranslationUnit &S, FnIdent Kind, clang::FunctionDecl *Fn); 114 clang::FunctionDecl *lookupFunction(StateOfAnalyzeTranslationUnit &S, 134 const clang [all...] |
H A D | slang_rs_export_type.cpp | 22 #include "clang/AST/ASTContext.h" 23 #include "clang/AST/Attr.h" 24 #include "clang/AST/RecordLayout.h" 104 clang::BuiltinType::Kind builtinTypeKind; 114 {clang::BuiltinType::Bool, DataTypeBoolean, 116 {clang::BuiltinType::Char_U, DataTypeUnsigned8, 118 {clang::BuiltinType::UChar, DataTypeUnsigned8, 120 {clang::BuiltinType::Char16, DataTypeSigned16, 122 {clang::BuiltinType::Char32, DataTypeSigned32, 124 {clang 208 ConstantArrayTypeExportableHelper( const clang::ConstantArrayType *CAT, llvm::SmallPtrSet<const clang::Type*, 8>& SPS, slang::RSContext *Context, const clang::VarDecl *VD, const clang::RecordDecl *TopLevelRecord, ExportKind EK) argument 481 ValidateTypeHelper( slang::RSContext *Context, clang::ASTContext &C, const clang::Type *&T, const clang::NamedDecl *ND, clang::SourceLocation Loc, llvm::SmallPtrSet<const clang::Type*, 8>& SPS, bool InCompositeType, clang::RecordDecl *UnionDecl, unsigned int TargetAPI, bool IsFilterscript, bool IsExtern) argument [all...] |
H A D | slang_rs_foreach_lowering.h | 20 #include "clang/AST/StmtVisitor.h" 22 namespace clang { namespace 33 class RSForEachLowering : public clang::StmtVisitor<RSForEachLowering> { 42 void handleForEachCalls(clang::FunctionDecl* FD, unsigned int targetAPI); 44 void VisitCallExpr(clang::CallExpr *CE); 45 void VisitStmt(clang::Stmt *S); 49 clang::ASTContext& mASTCtxt; 55 const clang::FunctionDecl* matchFunctionDesignator(clang::Expr* expr); 56 const clang [all...] |
H A D | slang_rs_object_ref_count.h | 23 #include "clang/AST/StmtVisitor.h" 28 namespace clang { namespace 36 bool HasRSObjectType(const clang::Type *T); 48 class RSObjectRefCount : public clang::StmtVisitor<RSObjectRefCount> { 52 clang::CompoundStmt *mCS; // Associated compound statement ({ ... }) 53 clang::Stmt *mCurrent; // The statement currently being analyzed 54 std::list<clang::VarDecl*> mRSO; // Declared RS objects in this scope (but 58 explicit Scope(clang::CompoundStmt *CS) : mCS(CS) { 63 inline void addRSObject(clang::VarDecl* VD) { 67 void ReplaceRSObjectAssignment(clang [all...] |
H A D | slang_rs_pragma_handler.h | 22 #include "clang/Lex/Pragma.h" 24 namespace clang { namespace 34 class RSPragmaHandler : public clang::PragmaHandler { 39 : clang::PragmaHandler(Name), 47 virtual void handleInt(clang::Preprocessor &PP, clang::Token &Tok, 51 void handleItemListPragma(clang::Preprocessor &PP, 52 clang::Token &FirstToken); 55 void handleNonParamPragma(clang::Preprocessor &PP, 56 clang [all...] |