diff --git a/llvm/include/llvm/SandboxIR/Constant.h b/llvm/include/llvm/SandboxIR/Constant.h index a8cc66ba9d654..e35d23be6619f 100644 --- a/llvm/include/llvm/SandboxIR/Constant.h +++ b/llvm/include/llvm/SandboxIR/Constant.h @@ -18,6 +18,7 @@ #include "llvm/IR/GlobalValue.h" #include "llvm/IR/GlobalVariable.h" #include "llvm/SandboxIR/Argument.h" +#include "llvm/SandboxIR/BasicBlock.h" #include "llvm/SandboxIR/Context.h" #include "llvm/SandboxIR/Type.h" #include "llvm/SandboxIR/User.h" diff --git a/llvm/include/llvm/SandboxIR/SandboxIR.h b/llvm/include/llvm/SandboxIR/SandboxIR.h deleted file mode 100644 index 85fa7ad8e4064..0000000000000 --- a/llvm/include/llvm/SandboxIR/SandboxIR.h +++ /dev/null @@ -1,198 +0,0 @@ -//===- SandboxIR.h ----------------------------------------------*- C++ -*-===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// -// -// Sandbox IR is a lightweight overlay transactional IR on top of LLVM IR. -// Features: -// - You can save/rollback the state of the IR at any time. -// - Any changes made to Sandbox IR will automatically update the underlying -// LLVM IR so both IRs are always in sync. -// - Feels like LLVM IR, similar API. -// -// SandboxIR forms a class hierarchy that resembles that of LLVM IR -// but is in the `sandboxir` namespace: -// -// namespace sandboxir { -// -// Value -+- Argument -// | -// +- BasicBlock -// | -// +- User ------+- Constant ------ Function -// | -// +- Instruction -+- BinaryOperator -// | -// +- BranchInst -// | -// +- CastInst --------+- AddrSpaceCastInst -// | | -// | +- BitCastInst -// | | -// | +- FPExtInst -// | | -// | +- FPToSIInst -// | | -// | +- FPToUIInst -// | | -// | +- FPTruncInst -// | | -// | +- IntToPtrInst -// | | -// | +- PtrToIntInst -// | | -// | +- SExtInst -// | | -// | +- SIToFPInst -// | | -// | +- TruncInst -// | | -// | +- UIToFPInst -// | | -// | +- ZExtInst -// | -// +- CallBase --------+- CallBrInst -// | | -// | +- CallInst -// | | -// | +- InvokeInst -// | -// +- CmpInst ---------+- ICmpInst -// | | -// | +- FCmpInst -// | -// +- ExtractElementInst -// | -// +- GetElementPtrInst -// | -// +- InsertElementInst -// | -// +- OpaqueInst -// | -// +- PHINode -// | -// +- ReturnInst -// | -// +- SelectInst -// | -// +- ShuffleVectorInst -// | -// +- ExtractValueInst -// | -// +- InsertValueInst -// | -// +- StoreInst -// | -// +- UnaryInstruction -+- LoadInst -// | | -// | +- CastInst -// | -// +- UnaryOperator -// | -// +- UnreachableInst -// -// Use -// -// } // namespace sandboxir -// - -#ifndef LLVM_SANDBOXIR_SANDBOXIR_H -#define LLVM_SANDBOXIR_SANDBOXIR_H - -#include "llvm/IR/Function.h" -#include "llvm/IR/IRBuilder.h" -#include "llvm/IR/Instruction.h" -#include "llvm/IR/IntrinsicInst.h" -#include "llvm/IR/PatternMatch.h" -#include "llvm/IR/User.h" -#include "llvm/IR/Value.h" -#include "llvm/SandboxIR/Argument.h" -#include "llvm/SandboxIR/BasicBlock.h" -#include "llvm/SandboxIR/Constant.h" -#include "llvm/SandboxIR/Context.h" -#include "llvm/SandboxIR/Module.h" -#include "llvm/SandboxIR/Tracker.h" -#include "llvm/SandboxIR/Type.h" -#include "llvm/SandboxIR/Use.h" -#include "llvm/SandboxIR/User.h" -#include "llvm/SandboxIR/Value.h" -#include "llvm/Support/raw_ostream.h" -#include - -namespace llvm { - -namespace sandboxir { - -class BasicBlock; -class ConstantInt; -class ConstantFP; -class ConstantAggregateZero; -class ConstantPointerNull; -class PoisonValue; -class BlockAddress; -class DSOLocalEquivalent; -class ConstantTokenNone; -class GlobalValue; -class GlobalObject; -class GlobalIFunc; -class GlobalVariable; -class GlobalAlias; -class NoCFIValue; -class ConstantPtrAuth; -class ConstantExpr; -class Context; -class Function; -class Module; -class Instruction; -class VAArgInst; -class FreezeInst; -class FenceInst; -class SelectInst; -class ExtractElementInst; -class InsertElementInst; -class ShuffleVectorInst; -class ExtractValueInst; -class InsertValueInst; -class BranchInst; -class UnaryInstruction; -class LoadInst; -class ReturnInst; -class StoreInst; -class User; -class UnreachableInst; -class Value; -class CallBase; -class CallInst; -class InvokeInst; -class CallBrInst; -class LandingPadInst; -class FuncletPadInst; -class CatchPadInst; -class CleanupPadInst; -class CatchReturnInst; -class CleanupReturnInst; -class GetElementPtrInst; -class CastInst; -class PossiblyNonNegInst; -class PtrToIntInst; -class BitCastInst; -class AllocaInst; -class ResumeInst; -class CatchSwitchInst; -class SwitchInst; -class UnaryOperator; -class BinaryOperator; -class PossiblyDisjointInst; -class AtomicRMWInst; -class AtomicCmpXchgInst; -class CmpInst; -class ICmpInst; -class FCmpInst; - -} // namespace sandboxir -} // namespace llvm - -#endif // LLVM_SANDBOXIR_SANDBOXIR_H diff --git a/llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Interval.h b/llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Interval.h index 5c40d1eb28c7a..d088c6c556f3a 100644 --- a/llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Interval.h +++ b/llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Interval.h @@ -20,7 +20,7 @@ #ifndef LLVM_TRANSFORMS_VECTORIZE_SANDBOXVECTORIZER_INSTRINTERVAL_H #define LLVM_TRANSFORMS_VECTORIZE_SANDBOXVECTORIZER_INSTRINTERVAL_H -#include "llvm/SandboxIR/SandboxIR.h" +#include "llvm/ADT/ArrayRef.h" #include namespace llvm::sandboxir { diff --git a/llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Legality.h b/llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Legality.h index 78c1c0e4c0464..50fa56c5b2194 100644 --- a/llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Legality.h +++ b/llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Legality.h @@ -12,11 +12,12 @@ #ifndef LLVM_TRANSFORMS_VECTORIZE_SANDBOXVECTORIZER_LEGALITY_H #define LLVM_TRANSFORMS_VECTORIZE_SANDBOXVECTORIZER_LEGALITY_H -#include "llvm/SandboxIR/SandboxIR.h" +#include "llvm/ADT/ArrayRef.h" namespace llvm::sandboxir { class LegalityAnalysis; +class Value; enum class LegalityResultID { Widen, ///> Vectorize by combining scalars to a vector. diff --git a/llvm/lib/SandboxIR/Module.cpp b/llvm/lib/SandboxIR/Module.cpp index 7510f621556d4..a6a5fb2aae8a1 100644 --- a/llvm/lib/SandboxIR/Module.cpp +++ b/llvm/lib/SandboxIR/Module.cpp @@ -7,7 +7,9 @@ //===----------------------------------------------------------------------===// #include "llvm/SandboxIR/Module.h" -#include "llvm/SandboxIR/SandboxIR.h" +#include "llvm/SandboxIR/Constant.h" +#include "llvm/SandboxIR/Context.h" +#include "llvm/SandboxIR/Value.h" using namespace llvm::sandboxir; diff --git a/llvm/lib/SandboxIR/PassManager.cpp b/llvm/lib/SandboxIR/PassManager.cpp index 4abd39b28e87a..4168420a01ce2 100644 --- a/llvm/lib/SandboxIR/PassManager.cpp +++ b/llvm/lib/SandboxIR/PassManager.cpp @@ -7,7 +7,6 @@ //===----------------------------------------------------------------------===// #include "llvm/SandboxIR/PassManager.h" -#include "llvm/SandboxIR/SandboxIR.h" using namespace llvm::sandboxir; diff --git a/llvm/lib/SandboxIR/SandboxIR.cpp b/llvm/lib/SandboxIR/SandboxIR.cpp index 63f65bfc88544..89575da2578db 100644 --- a/llvm/lib/SandboxIR/SandboxIR.cpp +++ b/llvm/lib/SandboxIR/SandboxIR.cpp @@ -6,12 +6,13 @@ // //===----------------------------------------------------------------------===// -#include "llvm/SandboxIR/SandboxIR.h" #include "llvm/ADT/SmallPtrSet.h" #include "llvm/ADT/SmallVector.h" #include "llvm/IR/Constants.h" #include "llvm/SandboxIR/Argument.h" #include "llvm/SandboxIR/BasicBlock.h" +#include "llvm/SandboxIR/Context.h" +#include "llvm/SandboxIR/User.h" #include "llvm/Support/Debug.h" #include diff --git a/llvm/lib/SandboxIR/Type.cpp b/llvm/lib/SandboxIR/Type.cpp index 87dcb726dde35..7bb788ecf25a6 100644 --- a/llvm/lib/SandboxIR/Type.cpp +++ b/llvm/lib/SandboxIR/Type.cpp @@ -7,7 +7,7 @@ //===----------------------------------------------------------------------===// #include "llvm/SandboxIR/Type.h" -#include "llvm/SandboxIR/SandboxIR.h" +#include "llvm/SandboxIR/Context.h" using namespace llvm::sandboxir; diff --git a/llvm/lib/SandboxIR/Value.cpp b/llvm/lib/SandboxIR/Value.cpp index 40cf14c7e9b6f..b9d91c7e11f74 100644 --- a/llvm/lib/SandboxIR/Value.cpp +++ b/llvm/lib/SandboxIR/Value.cpp @@ -8,7 +8,7 @@ #include "llvm/SandboxIR/Value.h" #include "llvm/SandboxIR/Context.h" -#include "llvm/SandboxIR/SandboxIR.h" +#include "llvm/SandboxIR/User.h" #include namespace llvm::sandboxir { diff --git a/llvm/lib/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizer.cpp b/llvm/lib/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizer.cpp index 161d300e6e9f2..80afcb499a2c2 100644 --- a/llvm/lib/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizer.cpp +++ b/llvm/lib/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizer.cpp @@ -8,8 +8,8 @@ #include "llvm/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizer.h" #include "llvm/Analysis/TargetTransformInfo.h" +#include "llvm/SandboxIR/Constant.h" #include "llvm/SandboxIR/PassManager.h" -#include "llvm/SandboxIR/SandboxIR.h" #include "llvm/Support/CommandLine.h" #include "llvm/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.h" diff --git a/llvm/unittests/SandboxIR/PassTest.cpp b/llvm/unittests/SandboxIR/PassTest.cpp index 2eaf369caf084..9cd54352735dc 100644 --- a/llvm/unittests/SandboxIR/PassTest.cpp +++ b/llvm/unittests/SandboxIR/PassTest.cpp @@ -9,8 +9,9 @@ #include "llvm/SandboxIR/Pass.h" #include "llvm/AsmParser/Parser.h" #include "llvm/IR/Module.h" +#include "llvm/SandboxIR/Constant.h" +#include "llvm/SandboxIR/Context.h" #include "llvm/SandboxIR/PassManager.h" -#include "llvm/SandboxIR/SandboxIR.h" #include "llvm/Support/SourceMgr.h" #include "gtest/gtest.h" diff --git a/llvm/unittests/SandboxIR/RegionTest.cpp b/llvm/unittests/SandboxIR/RegionTest.cpp index dc4dad8fed71c..f1bb535d9c50e 100644 --- a/llvm/unittests/SandboxIR/RegionTest.cpp +++ b/llvm/unittests/SandboxIR/RegionTest.cpp @@ -8,7 +8,9 @@ #include "llvm/SandboxIR/Region.h" #include "llvm/AsmParser/Parser.h" -#include "llvm/SandboxIR/SandboxIR.h" +#include "llvm/SandboxIR/Constant.h" +#include "llvm/SandboxIR/Context.h" +#include "llvm/SandboxIR/Instruction.h" #include "llvm/Support/SourceMgr.h" #include "gmock/gmock-matchers.h" #include "gtest/gtest.h" diff --git a/llvm/unittests/SandboxIR/SandboxIRTest.cpp b/llvm/unittests/SandboxIR/SandboxIRTest.cpp index 964b81fead67e..66a5191b1154b 100644 --- a/llvm/unittests/SandboxIR/SandboxIRTest.cpp +++ b/llvm/unittests/SandboxIR/SandboxIRTest.cpp @@ -6,7 +6,6 @@ // //===----------------------------------------------------------------------===// -#include "llvm/SandboxIR/SandboxIR.h" #include "llvm/AsmParser/Parser.h" #include "llvm/IR/BasicBlock.h" #include "llvm/IR/Constants.h" @@ -14,7 +13,12 @@ #include "llvm/IR/Function.h" #include "llvm/IR/Instruction.h" #include "llvm/IR/Module.h" +#include "llvm/SandboxIR/BasicBlock.h" +#include "llvm/SandboxIR/Constant.h" +#include "llvm/SandboxIR/Instruction.h" +#include "llvm/SandboxIR/Module.h" #include "llvm/SandboxIR/Utils.h" +#include "llvm/SandboxIR/Value.h" #include "llvm/Support/SourceMgr.h" #include "gmock/gmock-matchers.h" #include "gtest/gtest.h" diff --git a/llvm/unittests/SandboxIR/TypesTest.cpp b/llvm/unittests/SandboxIR/TypesTest.cpp index 40aa32fb08ed0..9bf02c97948eb 100644 --- a/llvm/unittests/SandboxIR/TypesTest.cpp +++ b/llvm/unittests/SandboxIR/TypesTest.cpp @@ -14,7 +14,8 @@ #include "llvm/IR/Function.h" #include "llvm/IR/Instruction.h" #include "llvm/IR/Module.h" -#include "llvm/SandboxIR/SandboxIR.h" +#include "llvm/SandboxIR/Constant.h" +#include "llvm/SandboxIR/Context.h" #include "llvm/Support/SourceMgr.h" #include "gtest/gtest.h" diff --git a/llvm/unittests/SandboxIR/UtilsTest.cpp b/llvm/unittests/SandboxIR/UtilsTest.cpp index ded3edf1206a4..18d62d95d2433 100644 --- a/llvm/unittests/SandboxIR/UtilsTest.cpp +++ b/llvm/unittests/SandboxIR/UtilsTest.cpp @@ -13,7 +13,8 @@ #include "llvm/IR/Function.h" #include "llvm/IR/Instruction.h" #include "llvm/IR/Module.h" -#include "llvm/SandboxIR/SandboxIR.h" +#include "llvm/SandboxIR/Constant.h" +#include "llvm/SandboxIR/Context.h" #include "llvm/Support/SourceMgr.h" #include "gtest/gtest.h" diff --git a/llvm/unittests/Transforms/Vectorize/SandboxVectorizer/DependencyGraphTest.cpp b/llvm/unittests/Transforms/Vectorize/SandboxVectorizer/DependencyGraphTest.cpp index f6bfd097f20a4..329d3617a31fa 100644 --- a/llvm/unittests/Transforms/Vectorize/SandboxVectorizer/DependencyGraphTest.cpp +++ b/llvm/unittests/Transforms/Vectorize/SandboxVectorizer/DependencyGraphTest.cpp @@ -8,7 +8,9 @@ #include "llvm/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.h" #include "llvm/AsmParser/Parser.h" -#include "llvm/SandboxIR/SandboxIR.h" +#include "llvm/SandboxIR/Constant.h" +#include "llvm/SandboxIR/Context.h" +#include "llvm/SandboxIR/Instruction.h" #include "llvm/Support/SourceMgr.h" #include "gmock/gmock-matchers.h" #include "gtest/gtest.h" diff --git a/llvm/unittests/Transforms/Vectorize/SandboxVectorizer/IntervalTest.cpp b/llvm/unittests/Transforms/Vectorize/SandboxVectorizer/IntervalTest.cpp index bd4d27ece1001..0b2411151a965 100644 --- a/llvm/unittests/Transforms/Vectorize/SandboxVectorizer/IntervalTest.cpp +++ b/llvm/unittests/Transforms/Vectorize/SandboxVectorizer/IntervalTest.cpp @@ -8,6 +8,8 @@ #include "llvm/Transforms/Vectorize/SandboxVectorizer/Interval.h" #include "llvm/AsmParser/Parser.h" +#include "llvm/SandboxIR/Constant.h" +#include "llvm/SandboxIR/Context.h" #include "llvm/SandboxIR/Instruction.h" #include "llvm/Support/SourceMgr.h" #include "gtest/gtest.h"