LLVM  8.0.1
Classes | Namespaces | Macros
VariadicFunction.h File Reference
#include "llvm/ADT/ArrayRef.h"
Include dependency graph for VariadicFunction.h:

Go to the source code of this file.

Classes

struct  llvm::VariadicFunction< ResultT, ArgT, Func >
 Class which can simulate a type-safe variadic function. More...
 
struct  llvm::VariadicFunction1< ResultT, Param0T, ArgT, Func >
 
struct  llvm::VariadicFunction2< ResultT, Param0T, Param1T, ArgT, Func >
 
struct  llvm::VariadicFunction3< ResultT, Param0T, Param1T, Param2T, ArgT, Func >
 

Namespaces

 llvm
 This class represents lattice values for constants.
 

Macros

#define LLVM_COMMA_JOIN1(x)   x ## 0
 
#define LLVM_COMMA_JOIN2(x)   LLVM_COMMA_JOIN1(x), x ## 1
 
#define LLVM_COMMA_JOIN3(x)   LLVM_COMMA_JOIN2(x), x ## 2
 
#define LLVM_COMMA_JOIN4(x)   LLVM_COMMA_JOIN3(x), x ## 3
 
#define LLVM_COMMA_JOIN5(x)   LLVM_COMMA_JOIN4(x), x ## 4
 
#define LLVM_COMMA_JOIN6(x)   LLVM_COMMA_JOIN5(x), x ## 5
 
#define LLVM_COMMA_JOIN7(x)   LLVM_COMMA_JOIN6(x), x ## 6
 
#define LLVM_COMMA_JOIN8(x)   LLVM_COMMA_JOIN7(x), x ## 7
 
#define LLVM_COMMA_JOIN9(x)   LLVM_COMMA_JOIN8(x), x ## 8
 
#define LLVM_COMMA_JOIN10(x)   LLVM_COMMA_JOIN9(x), x ## 9
 
#define LLVM_COMMA_JOIN11(x)   LLVM_COMMA_JOIN10(x), x ## 10
 
#define LLVM_COMMA_JOIN12(x)   LLVM_COMMA_JOIN11(x), x ## 11
 
#define LLVM_COMMA_JOIN13(x)   LLVM_COMMA_JOIN12(x), x ## 12
 
#define LLVM_COMMA_JOIN14(x)   LLVM_COMMA_JOIN13(x), x ## 13
 
#define LLVM_COMMA_JOIN15(x)   LLVM_COMMA_JOIN14(x), x ## 14
 
#define LLVM_COMMA_JOIN16(x)   LLVM_COMMA_JOIN15(x), x ## 15
 
#define LLVM_COMMA_JOIN17(x)   LLVM_COMMA_JOIN16(x), x ## 16
 
#define LLVM_COMMA_JOIN18(x)   LLVM_COMMA_JOIN17(x), x ## 17
 
#define LLVM_COMMA_JOIN19(x)   LLVM_COMMA_JOIN18(x), x ## 18
 
#define LLVM_COMMA_JOIN20(x)   LLVM_COMMA_JOIN19(x), x ## 19
 
#define LLVM_COMMA_JOIN21(x)   LLVM_COMMA_JOIN20(x), x ## 20
 
#define LLVM_COMMA_JOIN22(x)   LLVM_COMMA_JOIN21(x), x ## 21
 
#define LLVM_COMMA_JOIN23(x)   LLVM_COMMA_JOIN22(x), x ## 22
 
#define LLVM_COMMA_JOIN24(x)   LLVM_COMMA_JOIN23(x), x ## 23
 
#define LLVM_COMMA_JOIN25(x)   LLVM_COMMA_JOIN24(x), x ## 24
 
#define LLVM_COMMA_JOIN26(x)   LLVM_COMMA_JOIN25(x), x ## 25
 
#define LLVM_COMMA_JOIN27(x)   LLVM_COMMA_JOIN26(x), x ## 26
 
#define LLVM_COMMA_JOIN28(x)   LLVM_COMMA_JOIN27(x), x ## 27
 
#define LLVM_COMMA_JOIN29(x)   LLVM_COMMA_JOIN28(x), x ## 28
 
#define LLVM_COMMA_JOIN30(x)   LLVM_COMMA_JOIN29(x), x ## 29
 
#define LLVM_COMMA_JOIN31(x)   LLVM_COMMA_JOIN30(x), x ## 30
 
#define LLVM_COMMA_JOIN32(x)   LLVM_COMMA_JOIN31(x), x ## 31
 
#define LLVM_DEFINE_OVERLOAD(N)
 
#define LLVM_DEFINE_OVERLOAD(N)
 
#define LLVM_DEFINE_OVERLOAD(N)
 
#define LLVM_DEFINE_OVERLOAD(N)
 

Macro Definition Documentation

◆ LLVM_COMMA_JOIN1

#define LLVM_COMMA_JOIN1 (   x)    x ## 0

Definition at line 23 of file VariadicFunction.h.

◆ LLVM_COMMA_JOIN10

#define LLVM_COMMA_JOIN10 (   x)    LLVM_COMMA_JOIN9(x), x ## 9

Definition at line 32 of file VariadicFunction.h.

◆ LLVM_COMMA_JOIN11

#define LLVM_COMMA_JOIN11 (   x)    LLVM_COMMA_JOIN10(x), x ## 10

Definition at line 33 of file VariadicFunction.h.

◆ LLVM_COMMA_JOIN12

#define LLVM_COMMA_JOIN12 (   x)    LLVM_COMMA_JOIN11(x), x ## 11

Definition at line 34 of file VariadicFunction.h.

◆ LLVM_COMMA_JOIN13

#define LLVM_COMMA_JOIN13 (   x)    LLVM_COMMA_JOIN12(x), x ## 12

Definition at line 35 of file VariadicFunction.h.

◆ LLVM_COMMA_JOIN14

#define LLVM_COMMA_JOIN14 (   x)    LLVM_COMMA_JOIN13(x), x ## 13

Definition at line 36 of file VariadicFunction.h.

◆ LLVM_COMMA_JOIN15

#define LLVM_COMMA_JOIN15 (   x)    LLVM_COMMA_JOIN14(x), x ## 14

Definition at line 37 of file VariadicFunction.h.

◆ LLVM_COMMA_JOIN16

#define LLVM_COMMA_JOIN16 (   x)    LLVM_COMMA_JOIN15(x), x ## 15

Definition at line 38 of file VariadicFunction.h.

◆ LLVM_COMMA_JOIN17

#define LLVM_COMMA_JOIN17 (   x)    LLVM_COMMA_JOIN16(x), x ## 16

Definition at line 39 of file VariadicFunction.h.

◆ LLVM_COMMA_JOIN18

#define LLVM_COMMA_JOIN18 (   x)    LLVM_COMMA_JOIN17(x), x ## 17

Definition at line 40 of file VariadicFunction.h.

◆ LLVM_COMMA_JOIN19

#define LLVM_COMMA_JOIN19 (   x)    LLVM_COMMA_JOIN18(x), x ## 18

Definition at line 41 of file VariadicFunction.h.

◆ LLVM_COMMA_JOIN2

#define LLVM_COMMA_JOIN2 (   x)    LLVM_COMMA_JOIN1(x), x ## 1

Definition at line 24 of file VariadicFunction.h.

◆ LLVM_COMMA_JOIN20

#define LLVM_COMMA_JOIN20 (   x)    LLVM_COMMA_JOIN19(x), x ## 19

Definition at line 42 of file VariadicFunction.h.

◆ LLVM_COMMA_JOIN21

#define LLVM_COMMA_JOIN21 (   x)    LLVM_COMMA_JOIN20(x), x ## 20

Definition at line 43 of file VariadicFunction.h.

◆ LLVM_COMMA_JOIN22

#define LLVM_COMMA_JOIN22 (   x)    LLVM_COMMA_JOIN21(x), x ## 21

Definition at line 44 of file VariadicFunction.h.

◆ LLVM_COMMA_JOIN23

#define LLVM_COMMA_JOIN23 (   x)    LLVM_COMMA_JOIN22(x), x ## 22

Definition at line 45 of file VariadicFunction.h.

◆ LLVM_COMMA_JOIN24

#define LLVM_COMMA_JOIN24 (   x)    LLVM_COMMA_JOIN23(x), x ## 23

Definition at line 46 of file VariadicFunction.h.

◆ LLVM_COMMA_JOIN25

#define LLVM_COMMA_JOIN25 (   x)    LLVM_COMMA_JOIN24(x), x ## 24

Definition at line 47 of file VariadicFunction.h.

◆ LLVM_COMMA_JOIN26

#define LLVM_COMMA_JOIN26 (   x)    LLVM_COMMA_JOIN25(x), x ## 25

Definition at line 48 of file VariadicFunction.h.

◆ LLVM_COMMA_JOIN27

#define LLVM_COMMA_JOIN27 (   x)    LLVM_COMMA_JOIN26(x), x ## 26

Definition at line 49 of file VariadicFunction.h.

◆ LLVM_COMMA_JOIN28

#define LLVM_COMMA_JOIN28 (   x)    LLVM_COMMA_JOIN27(x), x ## 27

Definition at line 50 of file VariadicFunction.h.

◆ LLVM_COMMA_JOIN29

#define LLVM_COMMA_JOIN29 (   x)    LLVM_COMMA_JOIN28(x), x ## 28

Definition at line 51 of file VariadicFunction.h.

◆ LLVM_COMMA_JOIN3

#define LLVM_COMMA_JOIN3 (   x)    LLVM_COMMA_JOIN2(x), x ## 2

Definition at line 25 of file VariadicFunction.h.

◆ LLVM_COMMA_JOIN30

#define LLVM_COMMA_JOIN30 (   x)    LLVM_COMMA_JOIN29(x), x ## 29

Definition at line 52 of file VariadicFunction.h.

◆ LLVM_COMMA_JOIN31

#define LLVM_COMMA_JOIN31 (   x)    LLVM_COMMA_JOIN30(x), x ## 30

Definition at line 53 of file VariadicFunction.h.

◆ LLVM_COMMA_JOIN32

#define LLVM_COMMA_JOIN32 (   x)    LLVM_COMMA_JOIN31(x), x ## 31

Definition at line 54 of file VariadicFunction.h.

◆ LLVM_COMMA_JOIN4

#define LLVM_COMMA_JOIN4 (   x)    LLVM_COMMA_JOIN3(x), x ## 3

Definition at line 26 of file VariadicFunction.h.

◆ LLVM_COMMA_JOIN5

#define LLVM_COMMA_JOIN5 (   x)    LLVM_COMMA_JOIN4(x), x ## 4

Definition at line 27 of file VariadicFunction.h.

◆ LLVM_COMMA_JOIN6

#define LLVM_COMMA_JOIN6 (   x)    LLVM_COMMA_JOIN5(x), x ## 5

Definition at line 28 of file VariadicFunction.h.

◆ LLVM_COMMA_JOIN7

#define LLVM_COMMA_JOIN7 (   x)    LLVM_COMMA_JOIN6(x), x ## 6

Definition at line 29 of file VariadicFunction.h.

◆ LLVM_COMMA_JOIN8

#define LLVM_COMMA_JOIN8 (   x)    LLVM_COMMA_JOIN7(x), x ## 7

Definition at line 30 of file VariadicFunction.h.

◆ LLVM_COMMA_JOIN9

#define LLVM_COMMA_JOIN9 (   x)    LLVM_COMMA_JOIN8(x), x ## 8

Definition at line 31 of file VariadicFunction.h.

◆ LLVM_DEFINE_OVERLOAD [1/4]

#define LLVM_DEFINE_OVERLOAD (   N)
Value:
ResultT operator()(LLVM_COMMA_JOIN ## N(const ArgT &A)) const { \
const ArgT *const Args[] = { LLVM_COMMA_JOIN ## N(&A) }; \
return Func(makeArrayRef(Args)); \
}
ArrayRef< T > makeArrayRef(const T &OneElt)
Construct an ArrayRef from a single element.
Definition: ArrayRef.h:451
#define N
static GCRegistry::Add< ErlangGC > A("erlang", "erlang-compatible garbage collector")
constexpr char Args[]
Key for Kernel::Metadata::mArgs.

Definition at line 254 of file VariadicFunction.h.

Referenced by llvm::VariadicFunction< ResultT, ArgT, Func >::operator()(), llvm::VariadicFunction1< ResultT, Param0T, ArgT, Func >::operator()(), and llvm::VariadicFunction2< ResultT, Param0T, Param1T, ArgT, Func >::operator()().

◆ LLVM_DEFINE_OVERLOAD [2/4]

#define LLVM_DEFINE_OVERLOAD (   N)
Value:
ResultT operator()(Param0T P0, LLVM_COMMA_JOIN ## N(const ArgT &A)) const { \
const ArgT *const Args[] = { LLVM_COMMA_JOIN ## N(&A) }; \
return Func(P0, makeArrayRef(Args)); \
}
ArrayRef< T > makeArrayRef(const T &OneElt)
Construct an ArrayRef from a single element.
Definition: ArrayRef.h:451
#define N
static GCRegistry::Add< ErlangGC > A("erlang", "erlang-compatible garbage collector")
constexpr char Args[]
Key for Kernel::Metadata::mArgs.

Definition at line 254 of file VariadicFunction.h.

◆ LLVM_DEFINE_OVERLOAD [3/4]

#define LLVM_DEFINE_OVERLOAD (   N)
Value:
ResultT operator()(Param0T P0, Param1T P1, \
LLVM_COMMA_JOIN ## N(const ArgT &A)) const { \
const ArgT *const Args[] = { LLVM_COMMA_JOIN ## N(&A) }; \
return Func(P0, P1, makeArrayRef(Args)); \
}
ArrayRef< T > makeArrayRef(const T &OneElt)
Construct an ArrayRef from a single element.
Definition: ArrayRef.h:451
#define N
static GCRegistry::Add< ErlangGC > A("erlang", "erlang-compatible garbage collector")
constexpr char Args[]
Key for Kernel::Metadata::mArgs.

Definition at line 254 of file VariadicFunction.h.

◆ LLVM_DEFINE_OVERLOAD [4/4]

#define LLVM_DEFINE_OVERLOAD (   N)
Value:
ResultT operator()(Param0T P0, Param1T P1, Param2T P2, \
LLVM_COMMA_JOIN ## N(const ArgT &A)) const { \
const ArgT *const Args[] = { LLVM_COMMA_JOIN ## N(&A) }; \
return Func(P0, P1, P2, makeArrayRef(Args)); \
}
ArrayRef< T > makeArrayRef(const T &OneElt)
Construct an ArrayRef from a single element.
Definition: ArrayRef.h:451
#define N
static GCRegistry::Add< ErlangGC > A("erlang", "erlang-compatible garbage collector")
constexpr char Args[]
Key for Kernel::Metadata::mArgs.

Definition at line 254 of file VariadicFunction.h.