[PATCH] D20025: [PM] Make LowerAtomic a FunctionPass

Davide Italiano via llvm-commits llvm-commits at lists.llvm.org
Thu May 12 11:55:49 PDT 2016


This revision was automatically updated to reflect the committed changes.
Closed by commit rL269322: [PM] Make LowerAtomic a FunctionPass. (authored by davide).

Changed prior to commit:
  http://reviews.llvm.org/D20025?vs=56432&id=57081#toc

Repository:
  rL LLVM

http://reviews.llvm.org/D20025

Files:
  llvm/trunk/lib/Transforms/Scalar/LowerAtomic.cpp

Index: llvm/trunk/lib/Transforms/Scalar/LowerAtomic.cpp
===================================================================
--- llvm/trunk/lib/Transforms/Scalar/LowerAtomic.cpp
+++ llvm/trunk/lib/Transforms/Scalar/LowerAtomic.cpp
@@ -110,16 +110,27 @@
 }
 
 namespace {
-  struct LowerAtomic : public BasicBlockPass {
+  struct LowerAtomic : public FunctionPass {
     static char ID;
-    LowerAtomic() : BasicBlockPass(ID) {
+
+    LowerAtomic() : FunctionPass(ID) {
       initializeLowerAtomicPass(*PassRegistry::getPassRegistry());
     }
-    bool runOnBasicBlock(BasicBlock &BB) override {
-      if (skipBasicBlock(BB))
+
+    bool runOnFunction(Function &F) override {
+      if (skipFunction(F))
         return false;
       bool Changed = false;
-      for (BasicBlock::iterator DI = BB.begin(), DE = BB.end(); DI != DE; ) {
+      for (BasicBlock &BB: F) {
+        Changed |= runOnBasicBlock(BB);
+      }
+      return Changed;
+    }
+
+  private:
+    bool runOnBasicBlock(BasicBlock &BB) {
+      bool Changed = false;
+      for (BasicBlock::iterator DI = BB.begin(), DE = BB.end(); DI != DE;) {
         Instruction *Inst = &*DI++;
         if (FenceInst *FI = dyn_cast<FenceInst>(Inst))
           Changed |= LowerFenceInst(FI);


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D20025.57081.patch
Type: text/x-patch
Size: 1250 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160512/2b80553f/attachment.bin>


More information about the llvm-commits mailing list