SelectionDAGNodes.h (221345) | SelectionDAGNodes.h (224145) |
---|---|
1//===-- llvm/CodeGen/SelectionDAGNodes.h - SelectionDAG Nodes ---*- C++ -*-===// 2// 3// The LLVM Compiler Infrastructure 4// 5// This file is distributed under the University of Illinois Open Source 6// License. See LICENSE.TXT for details. 7// 8//===----------------------------------------------------------------------===// --- 9 unchanged lines hidden (view full) --- 18 19#ifndef LLVM_CODEGEN_SELECTIONDAGNODES_H 20#define LLVM_CODEGEN_SELECTIONDAGNODES_H 21 22#include "llvm/Constants.h" 23#include "llvm/ADT/FoldingSet.h" 24#include "llvm/ADT/GraphTraits.h" 25#include "llvm/ADT/ilist_node.h" | 1//===-- llvm/CodeGen/SelectionDAGNodes.h - SelectionDAG Nodes ---*- C++ -*-===// 2// 3// The LLVM Compiler Infrastructure 4// 5// This file is distributed under the University of Illinois Open Source 6// License. See LICENSE.TXT for details. 7// 8//===----------------------------------------------------------------------===// --- 9 unchanged lines hidden (view full) --- 18 19#ifndef LLVM_CODEGEN_SELECTIONDAGNODES_H 20#define LLVM_CODEGEN_SELECTIONDAGNODES_H 21 22#include "llvm/Constants.h" 23#include "llvm/ADT/FoldingSet.h" 24#include "llvm/ADT/GraphTraits.h" 25#include "llvm/ADT/ilist_node.h" |
26#include "llvm/ADT/SmallPtrSet.h" |
|
26#include "llvm/ADT/SmallVector.h" 27#include "llvm/ADT/STLExtras.h" 28#include "llvm/CodeGen/ISDOpcodes.h" 29#include "llvm/CodeGen/ValueTypes.h" 30#include "llvm/CodeGen/MachineMemOperand.h" 31#include "llvm/Support/MathExtras.h" 32#include "llvm/Support/DataTypes.h" 33#include "llvm/Support/DebugLoc.h" --- 457 unchanged lines hidden (view full) --- 491 /// isOnlyUserOf - Return true if this node is the only use of N. 492 /// 493 bool isOnlyUserOf(SDNode *N) const; 494 495 /// isOperandOf - Return true if this node is an operand of N. 496 /// 497 bool isOperandOf(SDNode *N) const; 498 | 27#include "llvm/ADT/SmallVector.h" 28#include "llvm/ADT/STLExtras.h" 29#include "llvm/CodeGen/ISDOpcodes.h" 30#include "llvm/CodeGen/ValueTypes.h" 31#include "llvm/CodeGen/MachineMemOperand.h" 32#include "llvm/Support/MathExtras.h" 33#include "llvm/Support/DataTypes.h" 34#include "llvm/Support/DebugLoc.h" --- 457 unchanged lines hidden (view full) --- 492 /// isOnlyUserOf - Return true if this node is the only use of N. 493 /// 494 bool isOnlyUserOf(SDNode *N) const; 495 496 /// isOperandOf - Return true if this node is an operand of N. 497 /// 498 bool isOperandOf(SDNode *N) const; 499 |
499 /// isPredecessorOf - Return true if this node is a predecessor of N. This 500 /// node is either an operand of N or it can be reached by recursively | 500 /// isPredecessorOf - Return true if this node is a predecessor of N. 501 /// NOTE: Implemented on top of hasPredecessor and every bit as 502 /// expensive. Use carefully. 503 bool isPredecessorOf(const SDNode *N) const { return N->hasPredecessor(this); } 504 505 /// hasPredecessor - Return true if N is a predecessor of this node. 506 /// N is either an operand of this node, or can be reached by recursively |
501 /// traversing up the operands. | 507 /// traversing up the operands. |
502 /// NOTE: this is an expensive method. Use it carefully. 503 bool isPredecessorOf(SDNode *N) const; | 508 /// NOTE: This is an expensive method. Use it carefully. 509 bool hasPredecessor(const SDNode *N) const; |
504 | 510 |
511 /// hasPredecesorHelper - Return true if N is a predecessor of this node. 512 /// N is either an operand of this node, or can be reached by recursively 513 /// traversing up the operands. 514 /// In this helper the Visited and worklist sets are held externally to 515 /// cache predecessors over multiple invocations. If you want to test for 516 /// multiple predecessors this method is preferable to multiple calls to 517 /// hasPredecessor. Be sure to clear Visited and Worklist if the DAG 518 /// changes. 519 /// NOTE: This is still very expensive. Use carefully. 520 bool hasPredecessorHelper(const SDNode *N, 521 SmallPtrSet<const SDNode *, 32> &Visited, 522 SmallVector<const SDNode *, 16> &Worklist) const; 523 |
|
505 /// getNumOperands - Return the number of values used by this operation. 506 /// 507 unsigned getNumOperands() const { return NumOperands; } 508 509 /// getConstantOperandVal - Helper method returns the integer value of a 510 /// ConstantSDNode operand. 511 uint64_t getConstantOperandVal(unsigned Num) const; 512 --- 1269 unchanged lines hidden --- | 524 /// getNumOperands - Return the number of values used by this operation. 525 /// 526 unsigned getNumOperands() const { return NumOperands; } 527 528 /// getConstantOperandVal - Helper method returns the integer value of a 529 /// ConstantSDNode operand. 530 uint64_t getConstantOperandVal(unsigned Num) const; 531 --- 1269 unchanged lines hidden --- |