• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.10/llvmCore-3425.0.34/include/llvm/

Lines Matching refs:Value

1 //===-- llvm/Value.h - Definition of the Value class ------------*- C++ -*-===//
10 // This file declares the Value class.
34 typedef StringMapEntry<Value*> ValueName;
45 // Value Class
49 /// computed by a program that may be used as operands to other values. Value is
51 /// All Values have a Type. Type is not a subclass of Value. Some values can
52 /// have a name and they belong to some Module. Setting the name on the Value
56 /// using this Value. A Value can also have an arbitrary number of ValueHandle
60 /// @brief LLVM Value Representation
61 class Value {
84 void operator=(const Value &) LLVM_DELETED_FUNCTION;
85 Value(const Value &) LLVM_DELETED_FUNCTION;
88 /// printCustom - Value subclasses can override this to implement custom
92 Value(Type *Ty, unsigned scid);
94 virtual ~Value();
100 /// print - Implement operator<< on Value.
130 void takeName(Value *V);
136 void replaceAllUsesWith(Value *V);
139 // Methods for handling the chain of uses of this Value.
162 /// hasNUses - Return true if this Value has exactly N users.
173 /// getNumUses - This method computes the number of uses of this Value. This
182 /// An enumeration for keeping track of the concrete subclass of Value that
184 /// Value classes SubclassID field. They are used for concrete type
247 bool hasSameSubclassOptionalData(const Value *V) const {
253 void intersectOptionalDataWith(const Value *V) {
262 static inline bool classof(const Value *) {
269 Value *stripPointerCasts();
270 const Value *stripPointerCasts() const {
271 return const_cast<Value*>(this)->stripPointerCasts();
278 Value *stripInBoundsConstantOffsets();
279 const Value *stripInBoundsConstantOffsets() const {
280 return const_cast<Value*>(this)->stripInBoundsConstantOffsets();
287 Value *stripInBoundsOffsets();
288 const Value *stripInBoundsOffsets() const {
289 return const_cast<Value*>(this)->stripInBoundsOffsets();
300 Value *DoPHITranslation(const BasicBlock *CurBB, const BasicBlock *PredBB);
302 const Value *DoPHITranslation(const BasicBlock *CurBB,
304 return const_cast<Value*>(this)->DoPHITranslation(CurBB, PredBB);
311 /// mutateType - Mutate the type of this Value to be of the specified type.
325 inline raw_ostream &operator<<(raw_ostream &OS, const Value &V) {
330 void Use::set(Value *V) {
340 template <> struct isa_impl<Constant, Value> {
341 static inline bool doit(const Value &Val) {
342 return Val.getValueID() >= Value::ConstantFirstVal &&
343 Val.getValueID() <= Value::ConstantLastVal;
347 template <> struct isa_impl<Argument, Value> {
348 static inline bool doit (const Value &Val) {
349 return Val.getValueID() == Value::ArgumentVal;
353 template <> struct isa_impl<InlineAsm, Value> {
354 static inline bool doit(const Value &Val) {
355 return Val.getValueID() == Value::InlineAsmVal;
359 template <> struct isa_impl<Instruction, Value> {
360 static inline bool doit(const Value &Val) {
361 return Val.getValueID() >= Value::InstructionVal;
365 template <> struct isa_impl<BasicBlock, Value> {
366 static inline bool doit(const Value &Val) {
367 return Val.getValueID() == Value::BasicBlockVal;
371 template <> struct isa_impl<Function, Value> {
372 static inline bool doit(const Value &Val) {
373 return Val.getValueID() == Value::FunctionVal;
377 template <> struct isa_impl<GlobalVariable, Value> {
378 static inline bool doit(const Value &Val) {
379 return Val.getValueID() == Value::GlobalVariableVal;
383 template <> struct isa_impl<GlobalAlias, Value> {
384 static inline bool doit(const Value &Val) {
385 return Val.getValueID() == Value::GlobalAliasVal;
389 template <> struct isa_impl<GlobalValue, Value> {
390 static inline bool doit(const Value &Val) {
396 template <> struct isa_impl<MDNode, Value> {
397 static inline bool doit(const Value &Val) {
398 return Val.getValueID() == Value::MDNodeVal;
402 // Value* is only 4-byte aligned.
404 class PointerLikeTypeTraits<Value*> {
405 typedef Value* PT;