annotate include/llvm/Transforms/Scalar/LowerAtomic.h @ 148:63bd29f05246

merged
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Wed, 14 Aug 2019 19:46:37 +0900
parents c2174574ed3a
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
120
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
1 //===- LowerAtomic.cpp - Lower atomic intrinsics ----------------*- C++ -*-===//
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
2 //
147
c2174574ed3a LLVM 10
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 120
diff changeset
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
c2174574ed3a LLVM 10
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 120
diff changeset
4 // See https://llvm.org/LICENSE.txt for license information.
c2174574ed3a LLVM 10
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 120
diff changeset
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
120
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
6 //
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
7 //===----------------------------------------------------------------------===//
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
8 /// \file
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
9 // This pass lowers atomic intrinsics to non-atomic form for use in a known
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
10 // non-preemptible environment.
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
11 ///
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
12 //===----------------------------------------------------------------------===//
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
13
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
14 #ifndef LLVM_TRANSFORMS_SCALAR_LOWERATOMIC_H
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
15 #define LLVM_TRANSFORMS_SCALAR_LOWERATOMIC_H
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
16
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
17 #include "llvm/IR/PassManager.h"
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
18
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
19 namespace llvm {
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
20
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
21 /// A pass that lowers atomic intrinsic into non-atomic intrinsics.
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
22 class LowerAtomicPass : public PassInfoMixin<LowerAtomicPass> {
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
23 public:
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
24 PreservedAnalyses run(Function &F, FunctionAnalysisManager &);
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
25 };
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
26 }
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
27
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
28 #endif // LLVM_TRANSFORMS_SCALAR_LOWERATOMIC_H