diff options
author | eopXD <eop.chen@sifive.com> | 2021-12-16 02:06:11 -0800 |
---|---|---|
committer | eopXD <eop.chen@sifive.com> | 2021-12-16 02:06:11 -0800 |
commit | 6734be290bdd97174b9fccea2be842eb6b085d8b (patch) | |
tree | 5340695be4525474a74774c39e7ccabe7a6e4366 /llvm/lib/Transforms/Utils/LoopVersioning.cpp | |
parent | 78415b5044e8d49807b90f0081c7dbbf2fd8690e (diff) | |
download | llvm-6734be290bdd97174b9fccea2be842eb6b085d8b.zip llvm-6734be290bdd97174b9fccea2be842eb6b085d8b.tar.gz llvm-6734be290bdd97174b9fccea2be842eb6b085d8b.tar.bz2 |
Revert "[LoopVersioning] Allow versionLoop to create plain branch inst when no runtime check is specified"
This reverts commit fbf6c8ac1589a4be68ee549257f1d528937ac582.
Diffstat (limited to 'llvm/lib/Transforms/Utils/LoopVersioning.cpp')
-rw-r--r-- | llvm/lib/Transforms/Utils/LoopVersioning.cpp | 20 |
1 files changed, 7 insertions, 13 deletions
diff --git a/llvm/lib/Transforms/Utils/LoopVersioning.cpp b/llvm/lib/Transforms/Utils/LoopVersioning.cpp index 15a40ca..771b7d2 100644 --- a/llvm/lib/Transforms/Utils/LoopVersioning.cpp +++ b/llvm/lib/Transforms/Utils/LoopVersioning.cpp @@ -30,9 +30,6 @@ using namespace llvm; -#define LVER_OPTION "loop-versioning" -#define DEBUG_TYPE LVER_OPTION - static cl::opt<bool> AnnotateNoAlias("loop-version-annotate-no-alias", cl::init(true), cl::Hidden, @@ -87,11 +84,8 @@ void LoopVersioning::versionLoop( } else RuntimeCheck = MemRuntimeCheck ? MemRuntimeCheck : SCEVRuntimeCheck; - if (!RuntimeCheck) { - LLVM_DEBUG(dbgs() << DEBUG_TYPE " No MemRuntimeCheck or SCEVRuntimeCheck found" - << ", set RuntimeCheck to False\n"); - RuntimeCheck = ConstantInt::getFalse(RuntimeCheckBB->getContext()); - } + assert(RuntimeCheck && "called even though we don't need " + "any runtime checks"); // Rename the block to make the IR more readable. RuntimeCheckBB->setName(VersionedLoop->getHeader()->getName() + @@ -115,8 +109,8 @@ void LoopVersioning::versionLoop( // Insert the conditional branch based on the result of the memchecks. Instruction *OrigTerm = RuntimeCheckBB->getTerminator(); - RuntimeCheckBI = BranchInst::Create(NonVersionedLoop->getLoopPreheader(), - VersionedLoop->getLoopPreheader(), RuntimeCheck, OrigTerm); + BranchInst::Create(NonVersionedLoop->getLoopPreheader(), + VersionedLoop->getLoopPreheader(), RuntimeCheck, OrigTerm); OrigTerm->eraseFromParent(); // The loops merge in the original exit block. This is now dominated by the @@ -131,9 +125,6 @@ void LoopVersioning::versionLoop( assert(NonVersionedLoop->isLoopSimplifyForm() && VersionedLoop->isLoopSimplifyForm() && "The versioned loops should be in simplify form."); - - // RuntimeCheckBB and RuntimeCheckBI is recorded - assert(RuntimeCheckBB && RuntimeCheckBI); } void LoopVersioning::addPHINodes( @@ -333,6 +324,9 @@ public: }; } +#define LVER_OPTION "loop-versioning" +#define DEBUG_TYPE LVER_OPTION + char LoopVersioningLegacyPass::ID; static const char LVer_name[] = "Loop Versioning"; |