mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-10-19 11:02:59 +02:00
Remove the AliasAnalysis argument in function areMemAccessesTriviallyDisjoint
Reviewers: arsenm Differential Revision: https://reviews.llvm.org/D58360 llvm-svn: 373024
This commit is contained in:
parent
e756487aa3
commit
446072f9b7
@ -1606,8 +1606,7 @@ public:
|
||||
/// function.
|
||||
virtual bool
|
||||
areMemAccessesTriviallyDisjoint(const MachineInstr &MIa,
|
||||
const MachineInstr &MIb,
|
||||
AliasAnalysis *AA = nullptr) const {
|
||||
const MachineInstr &MIb) const {
|
||||
assert((MIa.mayLoad() || MIa.mayStore()) &&
|
||||
"MIa must load from or modify a memory location");
|
||||
assert((MIb.mayLoad() || MIb.mayStore()) &&
|
||||
|
@ -1205,7 +1205,7 @@ bool MachineInstr::mayAlias(AliasAnalysis *AA, const MachineInstr &Other,
|
||||
return false;
|
||||
|
||||
// Let the target decide if memory accesses cannot possibly overlap.
|
||||
if (TII->areMemAccessesTriviallyDisjoint(*this, Other, AA))
|
||||
if (TII->areMemAccessesTriviallyDisjoint(*this, Other))
|
||||
return false;
|
||||
|
||||
// FIXME: Need to handle multiple memory operands to support all targets.
|
||||
|
@ -700,7 +700,7 @@ void SwingSchedulerDAG::addLoopCarriedDependences(AliasAnalysis *AA) {
|
||||
TII->getMemOperandWithOffset(MI, BaseOp2, Offset2, TRI)) {
|
||||
if (BaseOp1->isIdenticalTo(*BaseOp2) &&
|
||||
(int)Offset1 < (int)Offset2) {
|
||||
assert(TII->areMemAccessesTriviallyDisjoint(LdMI, MI, AA) &&
|
||||
assert(TII->areMemAccessesTriviallyDisjoint(LdMI, MI) &&
|
||||
"What happened to the chain edge?");
|
||||
SDep Dep(Load, SDep::Barrier);
|
||||
Dep.setLatency(1);
|
||||
|
@ -929,7 +929,7 @@ bool AArch64InstrInfo::isCoalescableExtInstr(const MachineInstr &MI,
|
||||
}
|
||||
|
||||
bool AArch64InstrInfo::areMemAccessesTriviallyDisjoint(
|
||||
const MachineInstr &MIa, const MachineInstr &MIb, AliasAnalysis *AA) const {
|
||||
const MachineInstr &MIa, const MachineInstr &MIb) const {
|
||||
const TargetRegisterInfo *TRI = &getRegisterInfo();
|
||||
const MachineOperand *BaseOpA = nullptr, *BaseOpB = nullptr;
|
||||
int64_t OffsetA = 0, OffsetB = 0;
|
||||
|
@ -56,8 +56,7 @@ public:
|
||||
|
||||
bool
|
||||
areMemAccessesTriviallyDisjoint(const MachineInstr &MIa,
|
||||
const MachineInstr &MIb,
|
||||
AliasAnalysis *AA = nullptr) const override;
|
||||
const MachineInstr &MIb) const override;
|
||||
|
||||
unsigned isLoadFromStackSlot(const MachineInstr &MI,
|
||||
int &FrameIndex) const override;
|
||||
|
@ -2490,8 +2490,7 @@ bool SIInstrInfo::checkInstOffsetsDoNotOverlap(const MachineInstr &MIa,
|
||||
}
|
||||
|
||||
bool SIInstrInfo::areMemAccessesTriviallyDisjoint(const MachineInstr &MIa,
|
||||
const MachineInstr &MIb,
|
||||
AliasAnalysis *AA) const {
|
||||
const MachineInstr &MIb) const {
|
||||
assert((MIa.mayLoad() || MIa.mayStore()) &&
|
||||
"MIa must load from or modify a memory location");
|
||||
assert((MIb.mayLoad() || MIb.mayStore()) &&
|
||||
|
@ -303,8 +303,7 @@ public:
|
||||
|
||||
bool
|
||||
areMemAccessesTriviallyDisjoint(const MachineInstr &MIa,
|
||||
const MachineInstr &MIb,
|
||||
AliasAnalysis *AA = nullptr) const override;
|
||||
const MachineInstr &MIb) const override;
|
||||
|
||||
bool isFoldableCopy(const MachineInstr &MI) const;
|
||||
|
||||
|
@ -1866,8 +1866,7 @@ DFAPacketizer *HexagonInstrInfo::CreateTargetScheduleState(
|
||||
// S2_storeri_io %r29, 132, killed %r1; flags: mem:ST4[FixedStack1]
|
||||
// Currently AA considers the addresses in these instructions to be aliasing.
|
||||
bool HexagonInstrInfo::areMemAccessesTriviallyDisjoint(
|
||||
const MachineInstr &MIa, const MachineInstr &MIb,
|
||||
AliasAnalysis *AA) const {
|
||||
const MachineInstr &MIa, const MachineInstr &MIb) const {
|
||||
if (MIa.hasUnmodeledSideEffects() || MIb.hasUnmodeledSideEffects() ||
|
||||
MIa.hasOrderedMemoryRef() || MIb.hasOrderedMemoryRef())
|
||||
return false;
|
||||
|
@ -288,8 +288,7 @@ public:
|
||||
// memory addresses and false otherwise.
|
||||
bool
|
||||
areMemAccessesTriviallyDisjoint(const MachineInstr &MIa,
|
||||
const MachineInstr &MIb,
|
||||
AliasAnalysis *AA = nullptr) const override;
|
||||
const MachineInstr &MIb) const override;
|
||||
|
||||
/// For instructions with a base and offset, return the position of the
|
||||
/// base register and offset operands.
|
||||
|
@ -86,8 +86,7 @@ void LanaiInstrInfo::loadRegFromStackSlot(
|
||||
}
|
||||
|
||||
bool LanaiInstrInfo::areMemAccessesTriviallyDisjoint(
|
||||
const MachineInstr &MIa, const MachineInstr &MIb,
|
||||
AliasAnalysis * /*AA*/) const {
|
||||
const MachineInstr &MIa, const MachineInstr &MIb) const {
|
||||
assert(MIa.mayLoadOrStore() && "MIa must be a load or store.");
|
||||
assert(MIb.mayLoadOrStore() && "MIb must be a load or store.");
|
||||
|
||||
|
@ -36,8 +36,7 @@ public:
|
||||
}
|
||||
|
||||
bool areMemAccessesTriviallyDisjoint(const MachineInstr &MIa,
|
||||
const MachineInstr &MIb,
|
||||
AliasAnalysis *AA) const override;
|
||||
const MachineInstr &MIb) const override;
|
||||
|
||||
unsigned isLoadFromStackSlot(const MachineInstr &MI,
|
||||
int &FrameIndex) const override;
|
||||
|
@ -4060,8 +4060,7 @@ bool PPCInstrInfo::getMemOperandWithOffsetWidth(
|
||||
}
|
||||
|
||||
bool PPCInstrInfo::areMemAccessesTriviallyDisjoint(
|
||||
const MachineInstr &MIa, const MachineInstr &MIb,
|
||||
AliasAnalysis * /*AA*/) const {
|
||||
const MachineInstr &MIa, const MachineInstr &MIb) const {
|
||||
assert(MIa.mayLoadOrStore() && "MIa must be a load or store.");
|
||||
assert(MIb.mayLoadOrStore() && "MIb must be a load or store.");
|
||||
|
||||
|
@ -370,8 +370,7 @@ public:
|
||||
/// otherwise
|
||||
bool
|
||||
areMemAccessesTriviallyDisjoint(const MachineInstr &MIa,
|
||||
const MachineInstr &MIb,
|
||||
AliasAnalysis *AA = nullptr) const override;
|
||||
const MachineInstr &MIb) const override;
|
||||
|
||||
/// GetInstSize - Return the number of bytes of code the specified
|
||||
/// instruction may be. This returns the maximum number of bytes.
|
||||
|
@ -1750,8 +1750,7 @@ void SystemZInstrInfo::loadImmediate(MachineBasicBlock &MBB,
|
||||
|
||||
bool SystemZInstrInfo::
|
||||
areMemAccessesTriviallyDisjoint(const MachineInstr &MIa,
|
||||
const MachineInstr &MIb,
|
||||
AliasAnalysis *AA) const {
|
||||
const MachineInstr &MIb) const {
|
||||
|
||||
if (!MIa.hasOneMemOperand() || !MIb.hasOneMemOperand())
|
||||
return false;
|
||||
|
@ -328,8 +328,7 @@ public:
|
||||
// memory addresses and false otherwise.
|
||||
bool
|
||||
areMemAccessesTriviallyDisjoint(const MachineInstr &MIa,
|
||||
const MachineInstr &MIb,
|
||||
AliasAnalysis *AA = nullptr) const override;
|
||||
const MachineInstr &MIb) const override;
|
||||
};
|
||||
|
||||
} // end namespace llvm
|
||||
|
Loading…
Reference in New Issue
Block a user