OmniSciDB  29e35f4d58
ResultSetReductionOps.h File Reference
#include <Shared/Logger.h>
#include <memory>
#include <string>
#include <vector>
+ Include dependency graph for ResultSetReductionOps.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  Value
 
class  Constant
 
class  ConstantInt
 
class  ConstantFP
 
class  Argument
 
class  Instruction
 
class  Function
 
struct  Function::NamedArg
 
class  GetElementPtr
 
class  Load
 
class  ICmp
 
class  BinaryOperator
 
class  Cast
 
class  Ret
 
class  Call
 
class  ExternalCall
 
class  Alloca
 
class  MemCpy
 
class  ReturnEarly
 
class  For
 

Enumerations

enum  Type {
  Type::Int1, Type::Int8, Type::Int32, Type::Int64,
  Type::Float, Type::Double, Type::Void, Type::Int8Ptr,
  Type::Int32Ptr, Type::Int64Ptr, Type::FloatPtr, Type::DoublePtr,
  Type::VoidPtr, Type::Int64PtrPtr
}
 

Functions

Type pointee_type (const Type pointer)
 
Type pointer_type (const Type pointee)
 

Variables

thread_local size_t g_value_id
 

Enumeration Type Documentation

◆ Type

enum Type
strong
Enumerator
Int1 
Int8 
Int32 
Int64 
Float 
Double 
Void 
Int8Ptr 
Int32Ptr 
Int64Ptr 
FloatPtr 
DoublePtr 
VoidPtr 
Int64PtrPtr 

Definition at line 33 of file ResultSetReductionOps.h.

Function Documentation

◆ pointee_type()

Type pointee_type ( const Type  pointer)
inline

Definition at line 51 of file ResultSetReductionOps.h.

References Double, DoublePtr, logger::FATAL, Float, FloatPtr, Int32, Int32Ptr, Int64, Int64Ptr, Int64PtrPtr, Int8, Int8Ptr, LOG, and Void.

Referenced by anonymous_namespace{ResultSetReductionCodegen.cpp}::translate_body().

51  {
52  switch (pointer) {
53  case Type::Int8Ptr: {
54  return Type::Int8;
55  }
56  case Type::Int32Ptr: {
57  return Type::Int32;
58  }
59  case Type::Int64Ptr: {
60  return Type::Int64;
61  }
62  case Type::FloatPtr: {
63  return Type::Float;
64  }
65  case Type::DoublePtr: {
66  return Type::Double;
67  }
68  case Type::Int64PtrPtr: {
69  return Type::Int64Ptr;
70  }
71  default: {
72  LOG(FATAL) << "Invalid pointer type: " << static_cast<int>(pointer);
73  }
74  }
75  return Type::Void;
76 }
#define LOG(tag)
Definition: Logger.h:188
+ Here is the caller graph for this function:

◆ pointer_type()

Type pointer_type ( const Type  pointee)
inline

Definition at line 79 of file ResultSetReductionOps.h.

References logger::FATAL, Int64, Int64Ptr, Int64PtrPtr, Int8, Int8Ptr, LOG, and Void.

79  {
80  switch (pointee) {
81  case Type::Int8: {
82  return Type::Int8Ptr;
83  }
84  case Type::Int64: {
85  return Type::Int64Ptr;
86  }
87  case Type::Int64Ptr: {
88  return Type::Int64PtrPtr;
89  }
90  default: {
91  LOG(FATAL) << "Invalid pointee type: " << static_cast<int>(pointee);
92  }
93  }
94  return Type::Void;
95 }
#define LOG(tag)
Definition: Logger.h:188

Variable Documentation

◆ g_value_id

thread_local size_t g_value_id

Definition at line 20 of file ResultSetReductionInterpreter.cpp.

Referenced by Function::Function().