From 064eff7d5699a0dbdeeece5a36a601f673662f55 Mon Sep 17 00:00:00 2001 From: Evan Cheng Date: Tue, 17 Aug 2010 17:43:50 +0000 Subject: Move the decision logic whether it's a good idea to split a critical edge to clients. Also fixed an erroneous check. An edge is only a back edge when the from and to blocks are in the same loop. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111256 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/CodeGen/PHIElimination.h | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'lib/CodeGen/PHIElimination.h') diff --git a/lib/CodeGen/PHIElimination.h b/lib/CodeGen/PHIElimination.h index f183de6..b054732 100644 --- a/lib/CodeGen/PHIElimination.h +++ b/lib/CodeGen/PHIElimination.h @@ -13,15 +13,18 @@ #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" -#include "llvm/CodeGen/MachineRegisterInfo.h" namespace llvm { class LiveVariables; + class MachineRegisterInfo; + class MachineLoopInfo; /// Lower PHI instructions to copies. class PHIElimination : public MachineFunctionPass { - MachineRegisterInfo *MRI; // Machine register information + MachineRegisterInfo *MRI; // Machine register information + MachineLoopInfo *MLI; public: static char ID; // Pass identification, replacement for typeid -- cgit v1.1