clang 17.0.0git
Macros | Typedefs | Functions
CGExprComplex.cpp File Reference
#include "CGOpenMPRuntime.h"
#include "CodeGenFunction.h"
#include "CodeGenModule.h"
#include "ConstantEmitter.h"
#include "clang/AST/StmtVisitor.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/IR/Constants.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/MDBuilder.h"
#include "llvm/IR/Metadata.h"
#include <algorithm>
Include dependency graph for CGExprComplex.cpp:

Go to the source code of this file.

Macros

#define HANDLEBINOP(OP)
 
#define HANDLE_BINOP(OP)
 

Typedefs

typedef CodeGenFunction::ComplexPairTy ComplexPairTy
 
typedef ComplexPairTy(ComplexExprEmitter::* CompoundFunc) (const ComplexExprEmitter::BinOpInfo &)
 

Functions

static const ComplexTypegetComplexType (QualType type)
 Return the complex type that we are meant to emit.
 
static StringRef getComplexMultiplyLibCallName (llvm::Type *Ty)
 Lookup the libcall name for a given floating point type complex multiply.
 
static CompoundFunc getComplexOp (BinaryOperatorKind Op)
 

Macro Definition Documentation

◆ HANDLE_BINOP

#define HANDLE_BINOP (   OP)
Value:
case BO_##OP: \
return EmitBin##OP(EmitBinOps(BO, PromotionType));

◆ HANDLEBINOP

#define HANDLEBINOP (   OP)
Value:
ComplexPairTy VisitBin##OP(const BinaryOperator *E) { \
QualType promotionTy = getPromotionType(E->getType()); \
ComplexPairTy result = EmitBin##OP(EmitBinOps(E, promotionTy)); \
if (!promotionTy.isNull()) \
result = \
CGF.EmitUnPromotedValue(result, E->getType()); \
return result; \
}
CodeGenFunction::ComplexPairTy ComplexPairTy
A builtin binary operation expression such as "x + y" or "x <= y".
Definition: Expr.h:3814
QualType getType() const
Definition: Expr.h:142
A (possibly-)qualified type.
Definition: Type.h:736
bool isNull() const
Return true if this QualType doesn't point to a type yet.
Definition: Type.h:803

Definition at line 289 of file CGExprComplex.cpp.

Typedef Documentation

◆ ComplexPairTy

typedef CodeGenFunction::ComplexPairTy ComplexPairTy

Definition at line 31 of file CGExprComplex.cpp.

◆ CompoundFunc

typedef ComplexPairTy(ComplexExprEmitter::* CompoundFunc) (const ComplexExprEmitter::BinOpInfo &)

Definition at line 1333 of file CGExprComplex.cpp.

Function Documentation

◆ getComplexMultiplyLibCallName()

static StringRef getComplexMultiplyLibCallName ( llvm::Type Ty)
static

Lookup the libcall name for a given floating point type complex multiply.

Definition at line 724 of file CGExprComplex.cpp.

◆ getComplexOp()

static CompoundFunc getComplexOp ( BinaryOperatorKind  Op)
static

Definition at line 1336 of file CGExprComplex.cpp.

◆ getComplexType()

static const ComplexType * getComplexType ( QualType  type)
static

Return the complex type that we are meant to emit.

Definition at line 34 of file CGExprComplex.cpp.

References clang::ast_matchers::type.