|
clang 22.0.0git
|
#include "CIRGenCall.h"#include "CIRGenFunction.h"#include "CIRGenModule.h"#include "CIRGenValue.h"#include "mlir/IR/BuiltinAttributes.h"#include "mlir/IR/Value.h"#include "mlir/Support/LLVM.h"#include "clang/AST/DeclBase.h"#include "clang/AST/Expr.h"#include "clang/AST/GlobalDecl.h"#include "clang/Basic/Builtins.h"#include "clang/Basic/OperatorKinds.h"#include "clang/CIR/Dialect/IR/CIRTypes.h"#include "clang/CIR/MissingFeatures.h"#include "llvm/Support/ErrorHandling.h"Go to the source code of this file.
Functions | |
| static RValue | emitLibraryCall (CIRGenFunction &cgf, const FunctionDecl *fd, const CallExpr *e, mlir::Operation *calleeValue) |
| template<typename Op> | |
| static RValue | emitBuiltinBitOp (CIRGenFunction &cgf, const CallExpr *e, bool poisonZero=false) |
| static WidthAndSignedness | getIntegerWidthAndSignedness (const clang::ASTContext &astContext, const clang::QualType type) |
| static struct WidthAndSignedness | EncompassingIntegerType (ArrayRef< struct WidthAndSignedness > types) |
| template<class Operation> | |
| static RValue | emitUnaryMaybeConstrainedFPBuiltin (CIRGenFunction &cgf, const CallExpr &e) |
| template<class Operation> | |
| static RValue | emitUnaryFPBuiltin (CIRGenFunction &cgf, const CallExpr &e) |
| static RValue | errorBuiltinNYI (CIRGenFunction &cgf, const CallExpr *e, unsigned builtinID) |
| static RValue | emitBuiltinAlloca (CIRGenFunction &cgf, const CallExpr *e, unsigned builtinID) |
| static mlir::Value | emitTargetArchBuiltinExpr (CIRGenFunction *cgf, unsigned builtinID, const CallExpr *e, ReturnValueSlot &returnValue, llvm::Triple::ArchType arch) |
|
static |
Definition at line 154 of file CIRGenBuiltin.cpp.
References clang::CIRGen::CIRGenFunction::cgm, cir::CIRBaseBuilderTy::createAlloca(), cir::CIRBaseBuilderTy::createBitcast(), clang::CIRGen::CIRGenFunction::emitScalarExpr(), clang::CIRGen::CIRGenModule::errorNYI(), clang::CIRGen::RValue::get(), clang::QualType::getAddressSpace(), clang::CallExpr::getArg(), clang::CIRGen::CIRGenFunction::getBuilder(), clang::CIRGen::CIRGenTypeCache::getCIRAllocaAddressSpace(), clang::CIRGen::CIRGenFunction::getContext(), clang::CIRGen::CIRGenFunction::getLangOpts(), clang::CIRGen::CIRGenFunction::getLoc(), clang::Type::getPointeeType(), clang::Stmt::getSourceRange(), clang::TargetInfo::getSuitableAlign(), clang::ASTContext::getTargetInfo(), clang::Expr::getType(), clang::CIRGen::CIRGenBuilderTy::getUInt8PtrTy(), clang::CIRGen::CIRGenBuilderTy::getUInt8Ty(), cir::CIRBaseBuilderTy::getVoidPtrTy(), cir::isMatchingAddressSpace(), clang::LangOptionsBase::Pattern, clang::ASTContext::toCharUnitsFromBits(), clang::LangOptionsBase::Uninitialized, and clang::LangOptionsBase::Zero.
Referenced by clang::CIRGen::CIRGenFunction::emitBuiltinExpr().
|
static |
Definition at line 41 of file CIRGenBuiltin.cpp.
References cir::MissingFeatures::builtinCheckKind(), clang::CIRGen::CIRGenFunction::convertType(), cir::CIRBaseBuilderTy::createIntCast(), clang::CIRGen::CIRGenFunction::emitScalarExpr(), clang::CIRGen::RValue::get(), clang::CallExpr::getArg(), clang::CIRGen::CIRGenFunction::getBuilder(), clang::CIRGen::CIRGenFunction::getLoc(), clang::Stmt::getSourceRange(), and clang::Expr::getType().
Referenced by clang::CIRGen::CIRGenFunction::emitBuiltinExpr().
|
static |
Definition at line 34 of file CIRGenBuiltin.cpp.
References clang::CIRGen::CIRGenFunction::emitCall(), clang::CIRGen::CIRGenCallee::forDirect(), clang::CallExpr::getCallee(), and clang::Expr::getType().
Referenced by clang::CodeGen::CodeGenFunction::EmitBuiltinExpr(), and clang::CIRGen::CIRGenFunction::emitBuiltinExpr().
|
static |
Definition at line 1290 of file CIRGenBuiltin.cpp.
References clang::CIRGen::CIRGenFunction::emitX86BuiltinExpr(), clang::CIRGen::CIRGenFunction::getLangOpts(), clang::CIRGen::CIRGenFunction::getTarget(), and clang::TargetInfo::getTriple().
Referenced by clang::CIRGen::CIRGenFunction::emitTargetBuiltinExpr().
|
static |
Definition at line 130 of file CIRGenBuiltin.cpp.
References clang::CIRGen::CIRGenFunction::emitScalarExpr(), clang::CIRGen::RValue::get(), clang::CallExpr::getArg(), and clang::CIRGen::CIRGenFunction::getBuilder().
Referenced by clang::CIRGen::CIRGenFunction::emitBuiltinExpr().
|
static |
Definition at line 117 of file CIRGenBuiltin.cpp.
References cir::MissingFeatures::cgFPOptionsRAII(), clang::CIRGen::CIRGenFunction::emitScalarExpr(), cir::MissingFeatures::fpConstraints(), clang::CIRGen::RValue::get(), clang::CallExpr::getArg(), and clang::CIRGen::CIRGenFunction::getBuilder().
Referenced by clang::CodeGen::CodeGenFunction::EmitBuiltinExpr(), clang::CIRGen::CIRGenFunction::emitBuiltinExpr(), and clang::CodeGen::CodeGenFunction::EmitPPCBuiltinExpr().
|
static |
Definition at line 85 of file CIRGenBuiltin.cpp.
References EncompassingIntegerType(), and clang::ast_matchers::type.
Referenced by clang::CodeGen::CodeGenFunction::EmitBuiltinExpr(), clang::CIRGen::CIRGenFunction::emitBuiltinExpr(), EncompassingIntegerType(), and EncompassingIntegerType().
|
static |
Definition at line 137 of file CIRGenBuiltin.cpp.
References clang::ASTContext::BuiltinInfo, clang::CIRGen::CIRGenFunction::cgm, clang::CIRGen::CIRGenModule::errorNYI(), clang::CIRGen::CIRGenFunction::getContext(), clang::Builtin::Context::getName(), clang::Stmt::getSourceRange(), clang::Expr::getType(), clang::CIRGen::CIRGenFunction::getUndefRValue(), and clang::Builtin::Context::isLibFunction().
Referenced by clang::CIRGen::CIRGenFunction::emitBuiltinExpr().
|
static |
Definition at line 71 of file CIRGenBuiltin.cpp.
References clang::ASTContext::getIntWidth(), clang::ASTContext::getTypeInfo(), clang::ast_matchers::type, and clang::TypeInfo::Width.
Referenced by clang::CodeGen::CodeGenFunction::EmitBuiltinExpr(), and clang::CIRGen::CIRGenFunction::emitBuiltinExpr().