LLVM API Documentation

ScheduleDAGInstrs.cpp File Reference

#include "llvm/Analysis/AliasAnalysis.h"
#include "llvm/CodeGen/MachineDominators.h"
#include "llvm/CodeGen/MachineFunctionPass.h"
#include "llvm/CodeGen/MachineLoopInfo.h"
#include "llvm/CodeGen/MachineRegisterInfo.h"
#include "llvm/CodeGen/ScheduleDAGInstrs.h"
#include "llvm/CodeGen/PseudoSourceValue.h"
#include "llvm/Target/TargetMachine.h"
#include "llvm/Target/TargetInstrInfo.h"
#include "llvm/Target/TargetRegisterInfo.h"
#include "llvm/Target/TargetSubtarget.h"
#include "llvm/Support/Compiler.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/ADT/SmallSet.h"
#include <map>

Include dependency graph for ScheduleDAGInstrs.cpp:

Go to the source code of this file.

Defines

#define DEBUG_TYPE   "sched-instrs"

Functions

static unsigned getOpcode (const Value *V)
static const Value * getUnderlyingObjectFromInt (const Value *V)
static const Value * getUnderlyingObject (const Value *V)
static const Value * getUnderlyingObjectForInstr (const MachineInstr *MI)


Define Documentation

#define DEBUG_TYPE   "sched-instrs"

Definition at line 15 of file ScheduleDAGInstrs.cpp.


Function Documentation

static unsigned getOpcode ( const Value *  V  )  [static]

getOpcode - If this is an Instruction or a ConstantExpr, return the opcode value. Otherwise return UserOp1.

Definition at line 101 of file ScheduleDAGInstrs.cpp.

References UserOp1.

static const Value* getUnderlyingObject ( const Value *  V  )  [static]

getUnderlyingObject - This is a wrapper around Value::getUnderlyingObject and adds support for basic ptrtoint+arithmetic+inttoptr sequences.

Definition at line 139 of file ScheduleDAGInstrs.cpp.

References getOpcode(), llvm::Value::getType(), llvm::Value::getUnderlyingObject(), and getUnderlyingObjectFromInt().

Referenced by getUnderlyingObjectForInstr().

static const Value* getUnderlyingObjectForInstr ( const MachineInstr *  MI  )  [static]

getUnderlyingObjectForInstr - If this machine instr has memory reference information and it can be tracked to a normal reference to a known object, return the Value for that object. Otherwise return null.

Definition at line 158 of file ScheduleDAGInstrs.cpp.

References getUnderlyingObject(), llvm::MachineInstr::hasOneMemOperand(), llvm::isIdentifiedObject(), llvm::MachineInstr::memoperands_begin(), and V.

Referenced by llvm::ScheduleDAGInstrs::BuildSchedGraph().

static const Value* getUnderlyingObjectFromInt ( const Value *  V  )  [static]

getUnderlyingObjectFromInt - This is the function that does the work of looking through basic ptrtoint+arithmetic+inttoptr sequences.

Definition at line 112 of file ScheduleDAGInstrs.cpp.

References Add(), getOpcode(), llvm::Value::getType(), and PtrToInt.

Referenced by getUnderlyingObject().


Variable Documentation

LoopDeps Deps

Definition at line 42 of file ScheduleDAGInstrs.cpp.

Definition at line 37 of file ScheduleDAGInstrs.cpp.

Definition at line 36 of file ScheduleDAGInstrs.cpp.