clang 22.0.0git
|
#include "CIRGenModule.h"
#include "CIRGenCXXABI.h"
#include "CIRGenConstantEmitter.h"
#include "CIRGenFunction.h"
#include "clang/AST/ASTContext.h"
#include "clang/AST/DeclBase.h"
#include "clang/AST/DeclOpenACC.h"
#include "clang/AST/GlobalDecl.h"
#include "clang/AST/RecordLayout.h"
#include "clang/Basic/SourceManager.h"
#include "clang/CIR/Dialect/IR/CIRDialect.h"
#include "clang/CIR/Interfaces/CIROpInterfaces.h"
#include "clang/CIR/MissingFeatures.h"
#include "CIRGenFunctionInfo.h"
#include "mlir/IR/BuiltinOps.h"
#include "mlir/IR/Location.h"
#include "mlir/IR/MLIRContext.h"
#include "mlir/IR/Verifier.h"
Go to the source code of this file.
Functions | |
static CIRGenCXXABI * | createCXXABI (CIRGenModule &cgm) |
static void | setLinkageForGV (cir::GlobalOp &gv, const NamedDecl *nd) |
static bool | shouldBeInCOMDAT (CIRGenModule &cgm, const Decl &d) |
static bool | isVarDeclStrongDefinition (const ASTContext &astContext, CIRGenModule &cgm, const VarDecl *vd, bool noCommon) |
static cir::GlobalOp | generateStringLiteral (mlir::Location loc, mlir::TypedAttr c, cir::GlobalLinkageKind lt, CIRGenModule &cgm, StringRef globalName, CharUnits alignment) |
static std::string | getMangledNameImpl (CIRGenModule &cgm, GlobalDecl gd, const NamedDecl *nd) |
static bool | shouldAssumeDSOLocal (const CIRGenModule &cgm, cir::CIRGlobalValueInterface gv) |
|
static |
Definition at line 37 of file CIRGenModule.cpp.
References clang::CIRGen::CreateCIRGenItaniumCXXABI(), clang::CIRGen::CIRGenModule::errorNYI(), clang::CIRGen::CIRGenModule::getASTContext(), and clang::ASTContext::getCXXABIKind().
|
static |
Definition at line 1257 of file CIRGenModule.cpp.
References cir::MissingFeatures::addressSpace(), c, clang::CIRGen::CIRGenModule::createGlobalOp(), clang::CIRGen::CIRGenModule::getBuilder(), clang::CIRGen::CIRGenModule::getLangOpts(), clang::CIRGen::CIRGenModule::getSize(), cir::MissingFeatures::opGlobalThreadLocal(), cir::MissingFeatures::opGlobalUnnamedAddr(), clang::CIRGen::CIRGenModule::setDSOLocal(), clang::CIRGen::CIRGenModule::setInitializer(), and clang::CIRGen::CIRGenModule::supportsCOMDAT().
Referenced by clang::CIRGen::CIRGenModule::getGlobalForStringLiteral().
|
static |
Definition at line 1543 of file CIRGenModule.cpp.
References clang::CC_X86RegCall, clang::CIRGen::CIRGenModule::errorNYI(), clang::FunctionType::getCallConv(), clang::CIRGen::CIRGenModule::getCXXABI(), clang::NamedDecl::getIdentifier(), clang::GlobalDecl::getKernelReferenceKind(), clang::CIRGen::CIRGenModule::getLangOpts(), clang::CIRGen::CIRGenCXXABI::getMangleContext(), clang::IdentifierInfo::getName(), clang::Decl::getSourceRange(), clang::GlobalDecl::getWithDecl(), clang::MangleContext::mangleName(), cir::MissingFeatures::moduleNameHash(), clang::out, clang::MangleContext::shouldMangleDeclName(), and clang::Stub.
Referenced by clang::CIRGen::CIRGenModule::getMangledName(), and clang::CodeGen::CodeGenModule::getMangledName().
|
static |
Definition at line 1031 of file CIRGenModule.cpp.
References clang::CharUnits::fromQuantity(), clang::Type::getAsRecordDecl(), clang::TargetInfo::getCXXABI(), clang::VarDecl::getInit(), clang::ASTContext::getTargetInfo(), clang::VarDecl::getTLSKind(), clang::TargetInfo::getTriple(), clang::ValueDecl::getType(), clang::ASTContext::getTypeAlignIfKnown(), clang::Decl::hasAttr(), clang::VarDecl::hasExternalStorage(), clang::ASTContext::isAlignmentRequired(), clang::TargetCXXABI::isMicrosoft(), shouldBeInCOMDAT(), and clang::ASTContext::toBits().
Referenced by clang::CIRGen::CIRGenModule::getCIRLinkageForDeclarator(), and clang::CodeGen::CodeGenModule::getLLVMLinkageForDeclarator().
|
static |
Definition at line 536 of file CIRGenModule.cpp.
References clang::LinkageInfo::getLinkage(), clang::NamedDecl::getLinkageAndVisibility(), clang::Decl::hasAttr(), clang::isExternallyVisible(), clang::Decl::isWeakImported(), and clang::LinkageInfo::setLinkage().
Referenced by clang::CodeGen::CodeGenModule::GetOrCreateLLVMGlobal().
|
static |
Definition at line 1702 of file CIRGenModule.cpp.
References clang::CIRGen::CIRGenModule::errorNYI(), clang::CIRGen::CIRGenModule::getCodeGenOpts(), clang::CIRGen::CIRGenModule::getLangOpts(), clang::CIRGen::CIRGenModule::getTriple(), cir::MissingFeatures::opGlobalDLLImportExport(), cir::MissingFeatures::opGlobalThreadLocal(), and clang::CodeGenOptions::RelocationModel.
Referenced by clang::CIRGen::CIRGenModule::setDSOLocal(), and clang::CodeGen::CodeGenModule::setDSOLocal().
|
static |
Definition at line 896 of file CIRGenModule.cpp.
References clang::CIRGen::CIRGenModule::getASTContext(), clang::ASTContext::GetGVALinkageForFunction(), clang::ASTContext::GetGVALinkageForVariable(), clang::GVA_AvailableExternally, clang::GVA_DiscardableODR, clang::GVA_Internal, clang::GVA_StrongExternal, clang::GVA_StrongODR, clang::Decl::hasAttr(), and clang::CIRGen::CIRGenModule::supportsCOMDAT().
Referenced by isVarDeclStrongDefinition(), clang::CIRGen::CIRGenModule::maybeSetTrivialComdat(), and clang::CodeGen::CodeGenModule::maybeSetTrivialComdat().