LLVM  8.0.1
Macros | Functions
Instruction.cpp File Reference
#include "llvm/IR/Instruction.h"
#include "llvm/IR/IntrinsicInst.h"
#include "llvm/ADT/DenseSet.h"
#include "llvm/IR/Constants.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/MDBuilder.h"
#include "llvm/IR/Operator.h"
#include "llvm/IR/Type.h"
#include "llvm/IR/Instruction.def"
Include dependency graph for Instruction.cpp:

Go to the source code of this file.

Macros

#define HANDLE_TERM_INST(N, OPC, CLASS)
 
#define HANDLE_TERM_INST(N, OPC, CLASS)
 
#define HANDLE_TERM_INST(N, OPC, CLASS)
 
#define HANDLE_INST(num, opc, clas)
 

Functions

static bool haveSameSpecialState (const Instruction *I1, const Instruction *I2, bool IgnoreAlignment=false)
 Return true if both instructions have the same special state. More...
 

Macro Definition Documentation

◆ HANDLE_INST

#define HANDLE_INST (   num,
  opc,
  clas 
)
Value:
case Instruction::opc: \
New = cast<clas>(this)->cloneImpl(); \
break;

◆ HANDLE_TERM_INST [1/3]

#define HANDLE_TERM_INST (   N,
  OPC,
  CLASS 
)
Value:
case Instruction::OPC: \
return static_cast<const CLASS *>(this)->getNumSuccessors();

◆ HANDLE_TERM_INST [2/3]

#define HANDLE_TERM_INST (   N,
  OPC,
  CLASS 
)
Value:
case Instruction::OPC: \
return static_cast<const CLASS *>(this)->getSuccessor(idx);

◆ HANDLE_TERM_INST [3/3]

#define HANDLE_TERM_INST (   N,
  OPC,
  CLASS 
)
Value:
case Instruction::OPC: \
return static_cast<CLASS *>(this)->setSuccessor(idx, B);
static GCRegistry::Add< OcamlGC > B("ocaml", "ocaml 3.10-compatible GC")

Function Documentation

◆ haveSameSpecialState()

static bool haveSameSpecialState ( const Instruction I1,
const Instruction I2,
bool  IgnoreAlignment = false 
)
static

Return true if both instructions have the same special state.

This must be kept in sync with FunctionComparator::cmpOperations in lib/Transforms/IPO/MergeFunctions.cpp.

Definition at line 377 of file Instruction.cpp.

References assert(), getAlignment(), llvm::Intrinsic::getAttributes(), llvm::AttributeList::getAttributes(), llvm::Instruction::getOpcode(), llvm::PPC::getPredicate(), isVolatile(), isWeak(), and SI.

Referenced by llvm::Instruction::isIdenticalToWhenDefined(), and llvm::Instruction::isSameOperationAs().