A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://clang.llvm.org/doxygen/classclang_1_1CodeGen_1_1ReductionCodeGen.html below:

clang: clang::CodeGen::ReductionCodeGen Class Reference

Class intended to support codegen of all kind of the reduction clauses. More...

#include "/home/buildbot/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/CodeGen/CGOpenMPRuntime.h"

  ReductionCodeGen (ArrayRef< const Expr * > Shareds, ArrayRef< const Expr * > Origs, ArrayRef< const Expr * > Privates, ArrayRef< const Expr * > ReductionOps)   void  emitSharedOrigLValue (CodeGenFunction &CGF, unsigned N)   Emits lvalue for the shared and original reduction item.
  void  emitAggregateType (CodeGenFunction &CGF, unsigned N)   Emits the code for the variable-modified type, if required.
  void  emitAggregateType (CodeGenFunction &CGF, unsigned N, llvm::Value *Size)   Emits the code for the variable-modified type, if required.
  void  emitInitialization (CodeGenFunction &CGF, unsigned N, Address PrivateAddr, Address SharedAddr, llvm::function_ref< bool(CodeGenFunction &)> DefaultInit)   Performs initialization of the private copy for the reduction item.
  bool  needCleanups (unsigned N)   Returns true if the private copy requires cleanups.
  void  emitCleanups (CodeGenFunction &CGF, unsigned N, Address PrivateAddr)   Emits cleanup code for the reduction item.
  Address  adjustPrivateAddress (CodeGenFunction &CGF, unsigned N, Address PrivateAddr)   Adjusts PrivatedAddr for using instead of the original variable address in normal operations.
  LValue  getSharedLValue (unsigned N) const   Returns LValue for the reduction item.
  LValue  getOrigLValue (unsigned N) const   Returns LValue for the original reduction item.
  std::pair< llvm::Value *, llvm::Value * >  getSizes (unsigned N) const   Returns the size of the reduction item (in chars and total number of elements in the item), or nullptr, if the size is a constant.
  const VarDeclgetBaseDecl (unsigned N) const   Returns the base declaration of the reduction item.
  const ExprgetRefExpr (unsigned N) const   Returns the base declaration of the reduction item.
  bool  usesReductionInitializer (unsigned N) const   Returns true if the initialization of the reduction item uses initializer from declare reduction construct.
  QualType  getPrivateType (unsigned N) const   Return the type of the private item.
 

Class intended to support codegen of all kind of the reduction clauses.

Definition at line 129 of file CGOpenMPRuntime.h.

◆ ReductionCodeGen() ◆ adjustPrivateAddress()

Adjusts PrivatedAddr for using instead of the original variable address in normal operations.

Parameters
N Number of the reduction item. PrivateAddr Address of the corresponding private item.

Definition at line 959 of file CGOpenMPRuntime.cpp.

References clang::CodeGen::CodeGenFunction::Builder, castToBase(), clang::CodeGen::CGBuilderTy::CreateGEP(), clang::CodeGen::CGBuilderTy::CreatePointerBitCastOrAddrSpaceCast(), clang::CodeGen::CodeGenFunction::EmitLValue(), clang::CodeGen::Address::emitRawPointer(), clang::CodeGen::LValue::getAddress(), getBaseDecl(), clang::CodeGen::Address::getElementType(), clang::CodeGen::LValue::getPointer(), clang::CodeGen::Address::getType(), and loadToBegin().

◆ emitAggregateType() [1/2]

Emits the code for the variable-modified type, if required.

Parameters
N Number of the reduction item.

Definition at line 798 of file CGOpenMPRuntime.cpp.

References clang::CodeGen::CodeGenFunction::Builder, clang::CodeGen::CodeGenFunction::EmitVariablyModifiedType(), clang::CodeGen::RValue::get(), clang::ASTContext::getAsVariableArrayType(), clang::CodeGen::CodeGenFunction::getContext(), getPrivateType(), clang::VariableArrayType::getSizeExpr(), clang::CodeGen::CodeGenFunction::getTypeSize(), and clang::Type::isVariablyModifiedType().

Referenced by emitReduceCombFunction(), emitReduceFiniFunction(), emitReduceInitFunction(), emitScanBasedDirectiveDecls(), and clang::CodeGen::CGOpenMPRuntime::emitTaskReductionInit().

◆ emitAggregateType() [2/2] ◆ emitCleanups() ◆ emitInitialization() ◆ emitSharedOrigLValue() ◆ getBaseDecl() const VarDecl * clang::CodeGen::ReductionCodeGen::getBaseDecl ( unsigned  N ) const inline ◆ getOrigLValue() LValue clang::CodeGen::ReductionCodeGen::getOrigLValue ( unsigned  N ) const inline ◆ getPrivateType() ◆ getRefExpr() const Expr * clang::CodeGen::ReductionCodeGen::getRefExpr ( unsigned  N ) const inline ◆ getSharedLValue() LValue clang::CodeGen::ReductionCodeGen::getSharedLValue ( unsigned  N ) const inline ◆ getSizes() std::pair< llvm::Value *, llvm::Value * > clang::CodeGen::ReductionCodeGen::getSizes ( unsigned  N ) const inline ◆ needCleanups() ◆ usesReductionInitializer() bool ReductionCodeGen::usesReductionInitializer ( unsigned  N ) const

The documentation for this class was generated from the following files:


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4