diff options
| author | Cameron Zwarich <zwarich@apple.com> | 2010-12-05 21:39:42 +0000 |
|---|---|---|
| committer | Cameron Zwarich <zwarich@apple.com> | 2010-12-05 21:39:42 +0000 |
| commit | a3fb8cb3d4ee2eeb613e239823f792808b684730 (patch) | |
| tree | 5bd9281e629cc8752484b990aa16fff3664d0be1 /llvm/lib/CodeGen/PHIElimination.h | |
| parent | 7cf63ace180d9ece064174ff296681caf4e421c6 (diff) | |
| download | bcm5719-llvm-a3fb8cb3d4ee2eeb613e239823f792808b684730.tar.gz bcm5719-llvm-a3fb8cb3d4ee2eeb613e239823f792808b684730.zip | |
Remove the PHIElimination.h header, as it is no longer needed.
llvm-svn: 120959
Diffstat (limited to 'llvm/lib/CodeGen/PHIElimination.h')
| -rw-r--r-- | llvm/lib/CodeGen/PHIElimination.h | 74 |
1 files changed, 0 insertions, 74 deletions
diff --git a/llvm/lib/CodeGen/PHIElimination.h b/llvm/lib/CodeGen/PHIElimination.h deleted file mode 100644 index 3690732bcfa..00000000000 --- a/llvm/lib/CodeGen/PHIElimination.h +++ /dev/null @@ -1,74 +0,0 @@ -//===-- lib/CodeGen/PHIElimination.h ----------------------------*- C++ -*-===// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// - -#ifndef LLVM_CODEGEN_PHIELIMINATION_HPP -#define LLVM_CODEGEN_PHIELIMINATION_HPP - -#include "llvm/ADT/DenseMap.h" -#include "llvm/ADT/SmallSet.h" -#include "llvm/ADT/SmallPtrSet.h" -#include "llvm/CodeGen/MachineBasicBlock.h" -#include "llvm/CodeGen/MachineFunctionPass.h" - -namespace llvm { - class LiveVariables; - class MachineRegisterInfo; - class MachineLoopInfo; - - /// Lower PHI instructions to copies. - class PHIElimination : public MachineFunctionPass { - MachineRegisterInfo *MRI; // Machine register information - - public: - static char ID; // Pass identification, replacement for typeid - PHIElimination() : MachineFunctionPass(ID) { - initializePHIEliminationPass(*PassRegistry::getPassRegistry()); - } - - virtual bool runOnMachineFunction(MachineFunction &Fn); - - virtual void getAnalysisUsage(AnalysisUsage &AU) const; - - private: - /// EliminatePHINodes - Eliminate phi nodes by inserting copy instructions - /// in predecessor basic blocks. - /// - bool EliminatePHINodes(MachineFunction &MF, MachineBasicBlock &MBB); - void LowerAtomicPHINode(MachineBasicBlock &MBB, - MachineBasicBlock::iterator AfterPHIsIt); - - /// analyzePHINodes - Gather information about the PHI nodes in - /// here. In particular, we want to map the number of uses of a virtual - /// register which is used in a PHI node. We map that to the BB the - /// vreg is coming from. This is used later to determine when the vreg - /// is killed in the BB. - /// - void analyzePHINodes(const MachineFunction& Fn); - - /// Split critical edges where necessary for good coalescer performance. - bool SplitPHIEdges(MachineFunction &MF, MachineBasicBlock &MBB, - LiveVariables &LV, MachineLoopInfo *MLI); - - typedef std::pair<unsigned, unsigned> BBVRegPair; - typedef DenseMap<BBVRegPair, unsigned> VRegPHIUse; - - VRegPHIUse VRegPHIUseCount; - - // Defs of PHI sources which are implicit_def. - SmallPtrSet<MachineInstr*, 4> ImpDefs; - - // Map reusable lowered PHI node -> incoming join register. - typedef DenseMap<MachineInstr*, unsigned, - MachineInstrExpressionTrait> LoweredPHIMap; - LoweredPHIMap LoweredPHIs; - }; - -} - -#endif /* LLVM_CODEGEN_PHIELIMINATION_HPP */ |

