mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-14 11:32:34 +00:00
[LoopAccesses] New API to query if memchecks are necessary after partitioning
This is used by Loop Distribution. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@234283 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
320efb05a1
commit
ad8a6b66d9
@ -339,6 +339,10 @@ public:
|
||||
bool needsChecking(unsigned I, unsigned J,
|
||||
const SmallVectorImpl<int> *PtrPartition) const;
|
||||
|
||||
/// \brief Return true if any pointer requires run-time checking according
|
||||
/// to needsChecking.
|
||||
bool needsAnyChecking(const SmallVectorImpl<int> *PtrPartition) const;
|
||||
|
||||
/// \brief Print the list run-time memory checks necessary.
|
||||
///
|
||||
/// If \p PtrPartition is set, it contains the partition number for
|
||||
|
@ -177,6 +177,17 @@ void LoopAccessInfo::RuntimePointerCheck::print(
|
||||
}
|
||||
}
|
||||
|
||||
bool LoopAccessInfo::RuntimePointerCheck::needsAnyChecking(
|
||||
const SmallVectorImpl<int> *PtrPartition) const {
|
||||
unsigned NumPointers = Pointers.size();
|
||||
|
||||
for (unsigned I = 0; I < NumPointers; ++I)
|
||||
for (unsigned J = I + 1; J < NumPointers; ++J)
|
||||
if (needsChecking(I, J, PtrPartition))
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
namespace {
|
||||
/// \brief Analyses memory accesses in a loop.
|
||||
///
|
||||
|
Loading…
Reference in New Issue
Block a user