LLVM API Documentation

Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

SelectionDAG.h File Reference

#include "llvm/CodeGen/ValueTypes.h"
#include "llvm/Support/DataTypes.h"
#include <map>
#include <vector>
#include <cassert>

Include dependency graph for SelectionDAG.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  llvm
namespace  llvm::ISD

Classes

class  llvm::SelectionDAG
class  llvm::SelectionDAGReducedValue
class  llvm::SelectionDAGNode
struct  llvm::SelectionDAGTargetBuilder
struct  llvm::ReducedValue< ValType, NodeCode >

Typedefs

typedef ReducedValue< int,
ISD::FrameIndex_i32_Slot > 
llvm::ReducedValue_FrameIndex_i32
typedef ReducedValue< int,
ISD::FrameIndex_i64_Slot > 
llvm::ReducedValue_FrameIndex_i64
typedef ReducedValue< MachineBasicBlock *,
ISD::BasicBlock_i32_Slot > 
llvm::ReducedValue_BasicBlock_i32
typedef ReducedValue< MachineBasicBlock *,
ISD::BasicBlock_i64_Slot > 
llvm::ReducedValue_BasicBlock_i64
typedef ReducedValue< bool,
ISD::Constant_i1_Slot > 
llvm::ReducedValue_Constant_i1
typedef ReducedValue< unsigned
char, ISD::Constant_i8_Slot > 
llvm::ReducedValue_Constant_i8
typedef ReducedValue< unsigned
short, ISD::Constant_i16_Slot > 
llvm::ReducedValue_Constant_i16
typedef ReducedValue< unsigned,
ISD::Constant_i32_Slot > 
llvm::ReducedValue_Constant_i32
typedef ReducedValue< uint64_t,
ISD::Constant_i64_Slot > 
llvm::ReducedValue_Constant_i64
typedef ReducedValue< float,
ISD::Constant_f32_Slot > 
llvm::ReducedValue_Constant_f32
typedef ReducedValue< double,
ISD::Constant_f64_Slot > 
llvm::ReducedValue_Constant_f64

Enumerations

enum  llvm::ISD::NodeType {
  llvm::ISD::ChainNode, llvm::ISD::BlockChainNode, llvm::ISD::ProtoNode, llvm::ISD::Constant,
  llvm::ISD::FrameIndex, llvm::ISD::BasicBlock, llvm::ISD::Plus, llvm::ISD::Minus,
  llvm::ISD::Times, llvm::ISD::SDiv, llvm::ISD::UDiv, llvm::ISD::SRem,
  llvm::ISD::URem, llvm::ISD::And, llvm::ISD::Or, llvm::ISD::Xor,
  llvm::ISD::SetEQ, llvm::ISD::SetNE, llvm::ISD::SetLT, llvm::ISD::SetLE,
  llvm::ISD::SetGT, llvm::ISD::SetGE, llvm::ISD::Br, llvm::ISD::BrCond,
  llvm::ISD::Switch, llvm::ISD::Ret, llvm::ISD::RetVoid, llvm::ISD::Load,
  llvm::ISD::Store, llvm::ISD::PHI, llvm::ISD::Call, llvm::ISD::Unspec1,
  llvm::ISD::Unspec2
}
enum  {
  llvm::ISD::Constant_i1_Slot, llvm::ISD::Constant_i8_Slot, llvm::ISD::Constant_i16_Slot, llvm::ISD::Constant_i32_Slot,
  llvm::ISD::Constant_i64_Slot, llvm::ISD::Constant_f32_Slot, llvm::ISD::Constant_f64_Slot, llvm::ISD::FrameIndex_i32_Slot,
  llvm::ISD::FrameIndex_i64_Slot, llvm::ISD::BasicBlock_i32_Slot, llvm::ISD::BasicBlock_i64_Slot, llvm::ISD::NumBuiltinSlots
}