[llvm] [SandboxIR][NFC] Move BasicBlock class definition up (PR #101422)
Arthur Eubanks via llvm-commits
llvm-commits at lists.llvm.org
Wed Jul 31 15:20:07 PDT 2024
https://github.com/aeubanks created https://github.com/llvm/llvm-project/pull/101422
To make future PRs smaller.
>From 0bcf0532314d4d1f4d7b97791490b9570e3744ce Mon Sep 17 00:00:00 2001
From: Arthur Eubanks <aeubanks at google.com>
Date: Wed, 31 Jul 2024 22:19:10 +0000
Subject: [PATCH] [SandboxIR][NFC] Move BasicBlock class definition up
To make future PRs smaller.
---
llvm/include/llvm/SandboxIR/SandboxIR.h | 102 ++++++++++++------------
1 file changed, 51 insertions(+), 51 deletions(-)
diff --git a/llvm/include/llvm/SandboxIR/SandboxIR.h b/llvm/include/llvm/SandboxIR/SandboxIR.h
index a0a31e659dcc5..6000caadb8a42 100644
--- a/llvm/include/llvm/SandboxIR/SandboxIR.h
+++ b/llvm/include/llvm/SandboxIR/SandboxIR.h
@@ -534,6 +534,57 @@ class BBIterator {
pointer get() const { return getInstr(It); }
};
+/// Contains a list of sandboxir::Instruction's.
+class BasicBlock : public Value {
+ /// Builds a graph that contains all values in \p BB in their original form
+ /// i.e., no vectorization is taking place here.
+ void buildBasicBlockFromLLVMIR(llvm::BasicBlock *LLVMBB);
+ friend class Context; // For `buildBasicBlockFromIR`
+ friend class Instruction; // For LLVM Val.
+
+ BasicBlock(llvm::BasicBlock *BB, Context &SBCtx)
+ : Value(ClassID::Block, BB, SBCtx) {
+ buildBasicBlockFromLLVMIR(BB);
+ }
+
+public:
+ ~BasicBlock() = default;
+ /// For isa/dyn_cast.
+ static bool classof(const Value *From) {
+ return From->getSubclassID() == Value::ClassID::Block;
+ }
+ Function *getParent() const;
+ using iterator = BBIterator;
+ iterator begin() const;
+ iterator end() const {
+ auto *BB = cast<llvm::BasicBlock>(Val);
+ return iterator(BB, BB->end(), &Ctx);
+ }
+ std::reverse_iterator<iterator> rbegin() const {
+ return std::make_reverse_iterator(end());
+ }
+ std::reverse_iterator<iterator> rend() const {
+ return std::make_reverse_iterator(begin());
+ }
+ Context &getContext() const { return Ctx; }
+ Instruction *getTerminator() const;
+ bool empty() const { return begin() == end(); }
+ Instruction &front() const;
+ Instruction &back() const;
+
+#ifndef NDEBUG
+ void verify() const final {
+ assert(isa<llvm::BasicBlock>(Val) && "Expected BasicBlock!");
+ }
+ friend raw_ostream &operator<<(raw_ostream &OS, const BasicBlock &SBBB) {
+ SBBB.dump(OS);
+ return OS;
+ }
+ void dump(raw_ostream &OS) const final;
+ LLVM_DUMP_METHOD void dump() const final;
+#endif
+};
+
/// A sandboxir::User with operands, opcode and linked with previous/next
/// instructions in an instruction list.
class Instruction : public sandboxir::User {
@@ -1556,57 +1607,6 @@ class OpaqueInst : public sandboxir::Instruction {
#endif
};
-/// Contains a list of sandboxir::Instruction's.
-class BasicBlock : public Value {
- /// Builds a graph that contains all values in \p BB in their original form
- /// i.e., no vectorization is taking place here.
- void buildBasicBlockFromLLVMIR(llvm::BasicBlock *LLVMBB);
- friend class Context; // For `buildBasicBlockFromIR`
- friend class Instruction; // For LLVM Val.
-
- BasicBlock(llvm::BasicBlock *BB, Context &SBCtx)
- : Value(ClassID::Block, BB, SBCtx) {
- buildBasicBlockFromLLVMIR(BB);
- }
-
-public:
- ~BasicBlock() = default;
- /// For isa/dyn_cast.
- static bool classof(const Value *From) {
- return From->getSubclassID() == Value::ClassID::Block;
- }
- Function *getParent() const;
- using iterator = BBIterator;
- iterator begin() const;
- iterator end() const {
- auto *BB = cast<llvm::BasicBlock>(Val);
- return iterator(BB, BB->end(), &Ctx);
- }
- std::reverse_iterator<iterator> rbegin() const {
- return std::make_reverse_iterator(end());
- }
- std::reverse_iterator<iterator> rend() const {
- return std::make_reverse_iterator(begin());
- }
- Context &getContext() const { return Ctx; }
- Instruction *getTerminator() const;
- bool empty() const { return begin() == end(); }
- Instruction &front() const;
- Instruction &back() const;
-
-#ifndef NDEBUG
- void verify() const final {
- assert(isa<llvm::BasicBlock>(Val) && "Expected BasicBlock!");
- }
- friend raw_ostream &operator<<(raw_ostream &OS, const BasicBlock &SBBB) {
- SBBB.dump(OS);
- return OS;
- }
- void dump(raw_ostream &OS) const final;
- LLVM_DUMP_METHOD void dump() const final;
-#endif
-};
-
class Context {
protected:
LLVMContext &LLVMCtx;
More information about the llvm-commits
mailing list