LLVM API Documentation

Classes | Namespaces | Defines
InstrTypes.h File Reference
#include "llvm/ADT/Twine.h"
#include "llvm/IR/DerivedTypes.h"
#include "llvm/IR/Instruction.h"
#include "llvm/IR/OperandTraits.h"
#include "llvm/IR/Instruction.def"
Include dependency graph for InstrTypes.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  llvm::TerminatorInst
class  llvm::UnaryInstruction
struct  llvm::OperandTraits< UnaryInstruction >
class  llvm::BinaryOperator
struct  llvm::OperandTraits< BinaryOperator >
class  llvm::CastInst
 Base class of casting instructions. More...
class  llvm::CmpInst
 Abstract base class of comparison instructions. More...
struct  llvm::OperandTraits< CmpInst >

Namespaces

namespace  llvm
 

List of target independent CodeGen pass IDs.


Defines

#define HANDLE_BINARY_INST(N, OPC, CLASS)
#define HANDLE_BINARY_INST(N, OPC, CLASS)
#define HANDLE_BINARY_INST(N, OPC, CLASS)
#define DEFINE_HELPERS(OPC, NUWNSWEXACT)

Define Documentation

#define DEFINE_HELPERS (   OPC,
  NUWNSWEXACT 
)
Value:
static BinaryOperator *Create ## NUWNSWEXACT ## OPC                        \
           (Value *V1, Value *V2, const Twine &Name = "") {                  \
    return Create ## NUWNSWEXACT(Instruction::OPC, V1, V2, Name);            \
  }                                                                          \
  static BinaryOperator *Create ## NUWNSWEXACT ## OPC                        \
           (Value *V1, Value *V2, const Twine &Name, BasicBlock *BB) {       \
    return Create ## NUWNSWEXACT(Instruction::OPC, V1, V2, Name, BB);        \
  }                                                                          \
  static BinaryOperator *Create ## NUWNSWEXACT ## OPC                        \
           (Value *V1, Value *V2, const Twine &Name, Instruction *I) {       \
    return Create ## NUWNSWEXACT(Instruction::OPC, V1, V2, Name, I);         \
  }

Definition at line 248 of file InstrTypes.h.

#define HANDLE_BINARY_INST (   N,
  OPC,
  CLASS 
)
Value:
static BinaryOperator *Create##OPC(Value *V1, Value *V2, \
                                     const Twine &Name = "") {\
    return Create(Instruction::OPC, V1, V2, Name);\
  }

These methods just forward to Create, and are useful when you statically know what type of instruction you're going to create. These helpers just save some typing.

Definition at line 184 of file InstrTypes.h.

#define HANDLE_BINARY_INST (   N,
  OPC,
  CLASS 
)
Value:
static BinaryOperator *Create##OPC(Value *V1, Value *V2, \
                                     const Twine &Name, BasicBlock *BB) {\
    return Create(Instruction::OPC, V1, V2, Name, BB);\
  }

These methods just forward to Create, and are useful when you statically know what type of instruction you're going to create. These helpers just save some typing.

Definition at line 184 of file InstrTypes.h.

#define HANDLE_BINARY_INST (   N,
  OPC,
  CLASS 
)
Value:
static BinaryOperator *Create##OPC(Value *V1, Value *V2, \
                                     const Twine &Name, Instruction *I) {\
    return Create(Instruction::OPC, V1, V2, Name, I);\
  }

These methods just forward to Create, and are useful when you statically know what type of instruction you're going to create. These helpers just save some typing.

Definition at line 184 of file InstrTypes.h.