[llvm] r341147 - Revert "[NFC] Add severe validation of InstructionPrecedenceTracking" for discussion
Max Kazantsev via llvm-commits
llvm-commits at lists.llvm.org
Thu Aug 30 17:01:55 PDT 2018
Author: mkazantsev
Date: Thu Aug 30 17:01:54 2018
New Revision: 341147
URL: http://llvm.org/viewvc/llvm-project?rev=341147&view=rev
Log:
Revert "[NFC] Add severe validation of InstructionPrecedenceTracking" for discussion
Modified:
llvm/trunk/include/llvm/Analysis/InstructionPrecedenceTracking.h
llvm/trunk/lib/Analysis/InstructionPrecedenceTracking.cpp
Modified: llvm/trunk/include/llvm/Analysis/InstructionPrecedenceTracking.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Analysis/InstructionPrecedenceTracking.h?rev=341147&r1=341146&r2=341147&view=diff
==============================================================================
--- llvm/trunk/include/llvm/Analysis/InstructionPrecedenceTracking.h (original)
+++ llvm/trunk/include/llvm/Analysis/InstructionPrecedenceTracking.h Thu Aug 30 17:01:54 2018
@@ -37,15 +37,6 @@ class InstructionPrecedenceTracking {
// Fills information about the given block's special instructions.
void fill(const BasicBlock *BB);
-#ifndef NDEBUG
- /// Asserts whether or not the contents of this tracking is up-to-date. It can
- /// be used to detect situations where we failed to invalidate the map
- /// properly. The behavior of request to an invalid tracking is undefined, and
- /// we should avoid such situations. It is slow and should only be called in
- /// debug mode.
- void validate() const;
-#endif
-
protected:
InstructionPrecedenceTracking(DominatorTree *DT)
: OI(OrderedInstructions(DT)) {}
Modified: llvm/trunk/lib/Analysis/InstructionPrecedenceTracking.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Analysis/InstructionPrecedenceTracking.cpp?rev=341147&r1=341146&r2=341147&view=diff
==============================================================================
--- llvm/trunk/lib/Analysis/InstructionPrecedenceTracking.cpp (original)
+++ llvm/trunk/lib/Analysis/InstructionPrecedenceTracking.cpp Thu Aug 30 17:01:54 2018
@@ -25,11 +25,6 @@ using namespace llvm;
const Instruction *InstructionPrecedenceTracking::getFirstSpecialInstruction(
const BasicBlock *BB) {
-#ifndef NDEBUG
- // Make sure that we are making this request to tracking which is up-to-date.
- validate();
-#endif
-
if (!KnownBlocks.count(BB))
fill(BB);
auto *FirstICF = FirstSpecialInsts.lookup(BB);
@@ -61,36 +56,6 @@ void InstructionPrecedenceTracking::fill
KnownBlocks.insert(BB);
}
-#ifndef NDEBUG
-void InstructionPrecedenceTracking::validate() const {
- unsigned NumNoSpecialBlocks = 0;
- // Check that for every known block we have something cached for it.
- for (auto *BB : KnownBlocks) {
- auto It = FirstSpecialInsts.find(BB);
- bool BlockHasSpecialInsns = false;
- for (const Instruction &Insn : *BB) {
- if (isSpecialInstruction(&Insn)) {
- assert(It != FirstSpecialInsts.end() &&
- "Blocked marked as known but we have no cached value for it!");
- assert(It->second == &Insn &&
- "Cached first special instruction is wrong!");
- BlockHasSpecialInsns = true;
- break;
- }
- }
- if (!BlockHasSpecialInsns) {
- assert(It == FirstSpecialInsts.end() &&
- "Block is marked as having special instructions but in fact it "
- "has none!");
- ++NumNoSpecialBlocks;
- }
- }
-
- assert(KnownBlocks.size() == NumNoSpecialBlocks + FirstSpecialInsts.size() &&
- "We don't have info for some blocks?");
-}
-#endif
-
void InstructionPrecedenceTracking::invalidateBlock(const BasicBlock *BB) {
OI.invalidateBlock(BB);
FirstSpecialInsts.erase(BB);
@@ -102,10 +67,6 @@ void InstructionPrecedenceTracking::clea
OI.invalidateBlock(It.first);
FirstSpecialInsts.clear();
KnownBlocks.clear();
-#ifndef NDEBUG
- // The map should be valid after clearing (at least empty).
- validate();
-#endif
}
bool ImplicitControlFlowTracking::isSpecialInstruction(
More information about the llvm-commits
mailing list