Mercurial > hg > CbC > CbC_llvm
comparison include/llvm/Transforms/Scalar/LowerAtomic.h @ 120:1172e4bd9c6f
update 4.0.0
author | mir3636 |
---|---|
date | Fri, 25 Nov 2016 19:14:25 +0900 |
parents | |
children | c2174574ed3a |
comparison
equal
deleted
inserted
replaced
101:34baf5011add | 120:1172e4bd9c6f |
---|---|
1 //===- LowerAtomic.cpp - Lower atomic intrinsics ----------------*- C++ -*-===// | |
2 // | |
3 // The LLVM Compiler Infrastructure | |
4 // | |
5 // This file is distributed under the University of Illinois Open Source | |
6 // License. See LICENSE.TXT for details. | |
7 // | |
8 //===----------------------------------------------------------------------===// | |
9 /// \file | |
10 // This pass lowers atomic intrinsics to non-atomic form for use in a known | |
11 // non-preemptible environment. | |
12 /// | |
13 //===----------------------------------------------------------------------===// | |
14 | |
15 #ifndef LLVM_TRANSFORMS_SCALAR_LOWERATOMIC_H | |
16 #define LLVM_TRANSFORMS_SCALAR_LOWERATOMIC_H | |
17 | |
18 #include "llvm/IR/PassManager.h" | |
19 | |
20 namespace llvm { | |
21 | |
22 /// A pass that lowers atomic intrinsic into non-atomic intrinsics. | |
23 class LowerAtomicPass : public PassInfoMixin<LowerAtomicPass> { | |
24 public: | |
25 PreservedAnalyses run(Function &F, FunctionAnalysisManager &); | |
26 }; | |
27 } | |
28 | |
29 #endif // LLVM_TRANSFORMS_SCALAR_LOWERATOMIC_H |