mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-31 09:25:42 +00:00
Break PseudoSourceValue out of the Value hierarchy. It is now the root of its own tree containing FixedStackPseudoSourceValue (which you can use isa/dyn_cast on) and MipsCallEntry (which you can't). Anything that needs to use either a PseudoSourceValue* and Value* is strongly encouraged to use a MachinePointerInfo instead.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@206255 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -390,10 +390,10 @@ bool MachineLICM::runOnMachineFunction(MachineFunction &MF) {
|
||||
static bool InstructionStoresToFI(const MachineInstr *MI, int FI) {
|
||||
for (MachineInstr::mmo_iterator o = MI->memoperands_begin(),
|
||||
oe = MI->memoperands_end(); o != oe; ++o) {
|
||||
if (!(*o)->isStore() || !(*o)->getValue())
|
||||
if (!(*o)->isStore() || !(*o)->getPseudoValue())
|
||||
continue;
|
||||
if (const FixedStackPseudoSourceValue *Value =
|
||||
dyn_cast<const FixedStackPseudoSourceValue>((*o)->getValue())) {
|
||||
dyn_cast<FixedStackPseudoSourceValue>((*o)->getPseudoValue())) {
|
||||
if (Value->getFrameIndex() == FI)
|
||||
return true;
|
||||
}
|
||||
@@ -882,10 +882,9 @@ static bool isLoadFromGOTOrConstantPool(MachineInstr &MI) {
|
||||
assert (MI.mayLoad() && "Expected MI that loads!");
|
||||
for (MachineInstr::mmo_iterator I = MI.memoperands_begin(),
|
||||
E = MI.memoperands_end(); I != E; ++I) {
|
||||
if (const Value *V = (*I)->getValue()) {
|
||||
if (const PseudoSourceValue *PSV = dyn_cast<PseudoSourceValue>(V))
|
||||
if (PSV == PSV->getGOT() || PSV == PSV->getConstantPool())
|
||||
return true;
|
||||
if (const PseudoSourceValue *PSV = (*I)->getPseudoValue()) {
|
||||
if (PSV == PSV->getGOT() || PSV == PSV->getConstantPool())
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
|
Reference in New Issue
Block a user