diff options
| author | Jakub Staszak <kubastaszak@gmail.com> | 2012-11-27 01:14:34 +0000 | 
|---|---|---|
| committer | Jakub Staszak <kubastaszak@gmail.com> | 2012-11-27 01:14:34 +0000 | 
| commit | 0820b2a3600789b0e19495ca5a75e893b8e43d86 (patch) | |
| tree | 6962b6e8afc5855faeb2c6ef5e998aef834bac0b /llvm/lib | |
| parent | 69fb6ddc6e00bc4dd016ab9b5db16f05ffdc9afc (diff) | |
| download | bcm5719-llvm-0820b2a3600789b0e19495ca5a75e893b8e43d86.tar.gz bcm5719-llvm-0820b2a3600789b0e19495ca5a75e893b8e43d86.zip  | |
Remove unused MachineLoopRanges analysis.
llvm-svn: 168659
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/CodeGen/CMakeLists.txt | 1 | ||||
| -rw-r--r-- | llvm/lib/CodeGen/LiveIntervalUnion.cpp | 28 | ||||
| -rw-r--r-- | llvm/lib/CodeGen/LiveIntervalUnion.h | 4 | ||||
| -rw-r--r-- | llvm/lib/CodeGen/MachineLoopRanges.cpp | 116 | 
4 files changed, 0 insertions, 149 deletions
diff --git a/llvm/lib/CodeGen/CMakeLists.txt b/llvm/lib/CodeGen/CMakeLists.txt index fa6d4e16cfe..7a20ff631e2 100644 --- a/llvm/lib/CodeGen/CMakeLists.txt +++ b/llvm/lib/CodeGen/CMakeLists.txt @@ -54,7 +54,6 @@ add_llvm_library(LLVMCodeGen    MachineInstrBundle.cpp    MachineLICM.cpp    MachineLoopInfo.cpp -  MachineLoopRanges.cpp    MachineModuleInfo.cpp    MachineModuleInfoImpls.cpp    MachinePassRegistry.cpp diff --git a/llvm/lib/CodeGen/LiveIntervalUnion.cpp b/llvm/lib/CodeGen/LiveIntervalUnion.cpp index dadd02bfc65..679c1807aac 100644 --- a/llvm/lib/CodeGen/LiveIntervalUnion.cpp +++ b/llvm/lib/CodeGen/LiveIntervalUnion.cpp @@ -16,7 +16,6 @@  #define DEBUG_TYPE "regalloc"  #include "LiveIntervalUnion.h"  #include "llvm/ADT/SparseBitVector.h" -#include "llvm/CodeGen/MachineLoopRanges.h"  #include "llvm/Support/Debug.h"  #include "llvm/Support/raw_ostream.h"  #include "llvm/Target/TargetRegisterInfo.h" @@ -182,33 +181,6 @@ collectInterferingVRegs(unsigned MaxInterferingRegs) {    return InterferingVRegs.size();  } -bool LiveIntervalUnion::Query::checkLoopInterference(MachineLoopRange *Loop) { -  // VirtReg is likely live throughout the loop, so start by checking LIU-Loop -  // overlaps. -  IntervalMapOverlaps<LiveIntervalUnion::Map, MachineLoopRange::Map> -    Overlaps(LiveUnion->getMap(), Loop->getMap()); -  if (!Overlaps.valid()) -    return false; - -  // The loop is overlapping an LIU assignment. Check VirtReg as well. -  LiveInterval::iterator VRI = VirtReg->find(Overlaps.start()); - -  for (;;) { -    if (VRI == VirtReg->end()) -      return false; -    if (VRI->start < Overlaps.stop()) -      return true; - -    Overlaps.advanceTo(VRI->start); -    if (!Overlaps.valid()) -      return false; -    if (Overlaps.start() < VRI->end) -      return true; - -    VRI = VirtReg->advanceTo(VRI, Overlaps.start()); -  } -} -  void LiveIntervalUnion::Array::init(LiveIntervalUnion::Allocator &Alloc,                                      unsigned NSize) {    // Reuse existing allocation. diff --git a/llvm/lib/CodeGen/LiveIntervalUnion.h b/llvm/lib/CodeGen/LiveIntervalUnion.h index 4d41fca85ad..4d2c4cb3add 100644 --- a/llvm/lib/CodeGen/LiveIntervalUnion.h +++ b/llvm/lib/CodeGen/LiveIntervalUnion.h @@ -173,10 +173,6 @@ public:        return InterferingVRegs;      } -    /// checkLoopInterference - Return true if there is interference overlapping -    /// Loop. -    bool checkLoopInterference(MachineLoopRange*); -    private:      Query(const Query&) LLVM_DELETED_FUNCTION;      void operator=(const Query&) LLVM_DELETED_FUNCTION; diff --git a/llvm/lib/CodeGen/MachineLoopRanges.cpp b/llvm/lib/CodeGen/MachineLoopRanges.cpp index 17fe67f6504..e69de29bb2d 100644 --- a/llvm/lib/CodeGen/MachineLoopRanges.cpp +++ b/llvm/lib/CodeGen/MachineLoopRanges.cpp @@ -1,116 +0,0 @@ -//===- MachineLoopRanges.cpp - Ranges of machine loops --------------------===// -// -//                     The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// -// -// This file provides the implementation of the MachineLoopRanges analysis. -// -//===----------------------------------------------------------------------===// - -#include "llvm/CodeGen/MachineLoopRanges.h" -#include "llvm/CodeGen/MachineLoopInfo.h" -#include "llvm/CodeGen/Passes.h" - -using namespace llvm; - -char MachineLoopRanges::ID = 0; -INITIALIZE_PASS_BEGIN(MachineLoopRanges, "machine-loop-ranges", -                "Machine Loop Ranges", true, true) -INITIALIZE_PASS_DEPENDENCY(SlotIndexes) -INITIALIZE_PASS_DEPENDENCY(MachineLoopInfo) -INITIALIZE_PASS_END(MachineLoopRanges, "machine-loop-ranges", -                "Machine Loop Ranges", true, true) - -char &llvm::MachineLoopRangesID = MachineLoopRanges::ID; - -void MachineLoopRanges::getAnalysisUsage(AnalysisUsage &AU) const { -  AU.setPreservesAll(); -  AU.addRequiredTransitive<SlotIndexes>(); -  AU.addRequiredTransitive<MachineLoopInfo>(); -  MachineFunctionPass::getAnalysisUsage(AU); -} - -/// runOnMachineFunction - Don't do much, loop ranges are computed on demand. -bool MachineLoopRanges::runOnMachineFunction(MachineFunction &) { -  releaseMemory(); -  Indexes = &getAnalysis<SlotIndexes>(); -  return false; -} - -void MachineLoopRanges::releaseMemory() { -  DeleteContainerSeconds(Cache); -  Cache.clear(); -} - -MachineLoopRange *MachineLoopRanges::getLoopRange(const MachineLoop *Loop) { -  MachineLoopRange *&Range = Cache[Loop]; -  if (!Range) -    Range = new MachineLoopRange(Loop, Allocator, *Indexes); -  return Range; -} - -/// Create a MachineLoopRange, only accessible to MachineLoopRanges. -MachineLoopRange::MachineLoopRange(const MachineLoop *loop, -                                   MachineLoopRange::Allocator &alloc, -                                   SlotIndexes &Indexes) -  : Loop(loop), Intervals(alloc), Area(0) { -  // Compute loop coverage. -  for (MachineLoop::block_iterator I = Loop->block_begin(), -         E = Loop->block_end(); I != E; ++I) { -    const std::pair<SlotIndex, SlotIndex> &Range = Indexes.getMBBRange(*I); -    Intervals.insert(Range.first, Range.second, 1u); -    Area += Range.first.distance(Range.second); -  } -} - -/// overlaps - Return true if this loop overlaps the given range of machine -/// instructions. -bool MachineLoopRange::overlaps(SlotIndex Start, SlotIndex Stop) { -  Map::const_iterator I = Intervals.find(Start); -  return I.valid() && Stop > I.start(); -} - -unsigned MachineLoopRange::getNumber() const { -  return Loop->getHeader()->getNumber(); -} - -/// byNumber - Comparator for array_pod_sort that sorts a list of -/// MachineLoopRange pointers by number. -int MachineLoopRange::byNumber(const void *pa, const void *pb) { -  const MachineLoopRange *a = *static_cast<MachineLoopRange *const *>(pa); -  const MachineLoopRange *b = *static_cast<MachineLoopRange *const *>(pb); -  unsigned na = a->getNumber(); -  unsigned nb = b->getNumber(); -  if (na < nb) -    return -1; -  if (na > nb) -    return 1; -  return 0; -} - -/// byAreaDesc - Comparator for array_pod_sort that sorts a list of -/// MachineLoopRange pointers by: -/// 1. Descending area. -/// 2. Ascending number. -int MachineLoopRange::byAreaDesc(const void *pa, const void *pb) { -  const MachineLoopRange *a = *static_cast<MachineLoopRange *const *>(pa); -  const MachineLoopRange *b = *static_cast<MachineLoopRange *const *>(pb); -  if (a->getArea() != b->getArea()) -    return a->getArea() > b->getArea() ? -1 : 1; -  return byNumber(pa, pb); -} - -void MachineLoopRange::print(raw_ostream &OS) const { -  OS << "Loop#" << getNumber() << " ="; -  for (Map::const_iterator I = Intervals.begin(); I.valid(); ++I) -    OS << " [" << I.start() << ';' << I.stop() << ')'; -} - -raw_ostream &llvm::operator<<(raw_ostream &OS, const MachineLoopRange &MLR) { -  MLR.print(OS); -  return OS; -}  | 

