Iterate over the Machine CFG that Brian added instead of the LLVM CFG.
authorChris Lattner <sabre@nondot.org>
Sat, 1 May 2004 21:27:53 +0000 (21:27 +0000)
committerChris Lattner <sabre@nondot.org>
Sat, 1 May 2004 21:27:53 +0000 (21:27 +0000)
Look at all of the pretty minuses. :)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13303 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/FloatingPoint.cpp
lib/Target/X86/X86FloatingPoint.cpp

index e47554b57b4bfb07ed22def8458d1a53c65fefcb..b6a9ebfdd752ee4b9cec72aeeb9ae60da13174cc 100644 (file)
@@ -37,8 +37,6 @@
 #include "llvm/CodeGen/Passes.h"
 #include "llvm/Target/TargetInstrInfo.h"
 #include "llvm/Target/TargetMachine.h"
-#include "llvm/Function.h"     // FIXME: remove when using MBB CFG!
-#include "llvm/Support/CFG.h"  // FIXME: remove when using MBB CFG!
 #include "Support/Debug.h"
 #include "Support/DepthFirstIterator.h"
 #include "Support/Statistic.h"
@@ -161,31 +159,16 @@ bool FPS::runOnMachineFunction(MachineFunction &MF) {
   LV = &getAnalysis<LiveVariables>();
   StackTop = 0;
 
-  // Figure out the mapping of MBB's to BB's.
-  //
-  // FIXME: Eventually we should be able to traverse the MBB CFG directly, and
-  // we will need to extend this when one llvm basic block can codegen to
-  // multiple MBBs.
-  //
-  // FIXME again: Just use the mapping established by LiveVariables!
-  //
-  std::map<const BasicBlock*, MachineBasicBlock *> MBBMap;
-  for (MachineFunction::iterator I = MF.begin(), E = MF.end(); I != E; ++I)
-    MBBMap[I->getBasicBlock()] = I;
-
   // Process the function in depth first order so that we process at least one
   // of the predecessors for every reachable block in the function.
-  std::set<const BasicBlock*> Processed;
-  const BasicBlock *Entry = MF.getFunction()->begin();
+  std::set<MachineBasicBlock*> Processed;
+  MachineBasicBlock *Entry = MF.begin();
 
   bool Changed = false;
-  for (df_ext_iterator<const BasicBlock*, std::set<const BasicBlock*> >
+  for (df_ext_iterator<MachineBasicBlock*, std::set<MachineBasicBlock*> >
          I = df_ext_begin(Entry, Processed), E = df_ext_end(Entry, Processed);
        I != E; ++I)
-    Changed |= processBasicBlock(MF, *MBBMap[*I]);
-
-  assert(MBBMap.size() == Processed.size() &&
-         "Doesn't handle unreachable code yet!");
+    Changed |= processBasicBlock(MF, **I);
 
   return Changed;
 }
index e47554b57b4bfb07ed22def8458d1a53c65fefcb..b6a9ebfdd752ee4b9cec72aeeb9ae60da13174cc 100644 (file)
@@ -37,8 +37,6 @@
 #include "llvm/CodeGen/Passes.h"
 #include "llvm/Target/TargetInstrInfo.h"
 #include "llvm/Target/TargetMachine.h"
-#include "llvm/Function.h"     // FIXME: remove when using MBB CFG!
-#include "llvm/Support/CFG.h"  // FIXME: remove when using MBB CFG!
 #include "Support/Debug.h"
 #include "Support/DepthFirstIterator.h"
 #include "Support/Statistic.h"
@@ -161,31 +159,16 @@ bool FPS::runOnMachineFunction(MachineFunction &MF) {
   LV = &getAnalysis<LiveVariables>();
   StackTop = 0;
 
-  // Figure out the mapping of MBB's to BB's.
-  //
-  // FIXME: Eventually we should be able to traverse the MBB CFG directly, and
-  // we will need to extend this when one llvm basic block can codegen to
-  // multiple MBBs.
-  //
-  // FIXME again: Just use the mapping established by LiveVariables!
-  //
-  std::map<const BasicBlock*, MachineBasicBlock *> MBBMap;
-  for (MachineFunction::iterator I = MF.begin(), E = MF.end(); I != E; ++I)
-    MBBMap[I->getBasicBlock()] = I;
-
   // Process the function in depth first order so that we process at least one
   // of the predecessors for every reachable block in the function.
-  std::set<const BasicBlock*> Processed;
-  const BasicBlock *Entry = MF.getFunction()->begin();
+  std::set<MachineBasicBlock*> Processed;
+  MachineBasicBlock *Entry = MF.begin();
 
   bool Changed = false;
-  for (df_ext_iterator<const BasicBlock*, std::set<const BasicBlock*> >
+  for (df_ext_iterator<MachineBasicBlock*, std::set<MachineBasicBlock*> >
          I = df_ext_begin(Entry, Processed), E = df_ext_end(Entry, Processed);
        I != E; ++I)
-    Changed |= processBasicBlock(MF, *MBBMap[*I]);
-
-  assert(MBBMap.size() == Processed.size() &&
-         "Doesn't handle unreachable code yet!");
+    Changed |= processBasicBlock(MF, **I);
 
   return Changed;
 }