mirror of
https://github.com/RPCSX/llvm.git
synced 2025-02-10 06:24:58 +00:00
[MI] Clean up some loops over MachineInstr::memoperands(). NFC
Use range-based for loops and llvm::any_of instead of explicit iterators. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@275332 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
ff8bc4a1cf
commit
6e665c85a4
@ -1556,12 +1556,10 @@ bool MachineInstr::hasOrderedMemoryRef() const {
|
||||
if (memoperands_empty())
|
||||
return true;
|
||||
|
||||
// Check the memory reference information for ordered references.
|
||||
for (mmo_iterator I = memoperands_begin(), E = memoperands_end(); I != E; ++I)
|
||||
if (!(*I)->isUnordered())
|
||||
return true;
|
||||
|
||||
return false;
|
||||
// Check if any of our memory operands are ordered.
|
||||
return any_of(memoperands(), [](const MachineMemOperand *MMO) {
|
||||
return !MMO->isUnordered();
|
||||
});
|
||||
}
|
||||
|
||||
/// isInvariantLoad - Return true if this instruction is loading from a
|
||||
@ -1581,22 +1579,21 @@ bool MachineInstr::isInvariantLoad(AliasAnalysis *AA) const {
|
||||
|
||||
const MachineFrameInfo *MFI = getParent()->getParent()->getFrameInfo();
|
||||
|
||||
for (mmo_iterator I = memoperands_begin(),
|
||||
E = memoperands_end(); I != E; ++I) {
|
||||
if ((*I)->isVolatile()) return false;
|
||||
if ((*I)->isStore()) return false;
|
||||
if ((*I)->isInvariant()) continue;
|
||||
for (MachineMemOperand *MMO : memoperands()) {
|
||||
if (MMO->isVolatile()) return false;
|
||||
if (MMO->isStore()) return false;
|
||||
if (MMO->isInvariant()) continue;
|
||||
|
||||
// A load from a constant PseudoSourceValue is invariant.
|
||||
if (const PseudoSourceValue *PSV = (*I)->getPseudoValue())
|
||||
if (const PseudoSourceValue *PSV = MMO->getPseudoValue())
|
||||
if (PSV->isConstant(MFI))
|
||||
continue;
|
||||
|
||||
if (const Value *V = (*I)->getValue()) {
|
||||
if (const Value *V = MMO->getValue()) {
|
||||
// If we have an AliasAnalysis, ask it whether the memory is constant.
|
||||
if (AA &&
|
||||
AA->pointsToConstantMemory(
|
||||
MemoryLocation(V, (*I)->getSize(), (*I)->getAAInfo())))
|
||||
MemoryLocation(V, MMO->getSize(), MMO->getAAInfo())))
|
||||
continue;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user