Deleted Added
full compact
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 ---