mirror of
https://github.com/RPCS3/llvm.git
synced 2025-01-11 06:56:12 +00:00
Cleanup getUserOffset. Issues related to inline assembler length and
alignment will be handled differently than in ARM constant islands. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194096 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
f635ab8eab
commit
1fa282d635
@ -766,23 +766,8 @@ void MipsConstantIslands::updateForInsertedWaterBlock
|
||||
WaterList.insert(IP, NewBB);
|
||||
}
|
||||
|
||||
/// getUserOffset - Compute the offset of U.MI as seen by the hardware
|
||||
/// displacement computation. Update U.KnownAlignment to match its current
|
||||
/// basic block location.
|
||||
unsigned MipsConstantIslands::getUserOffset(CPUser &U) const {
|
||||
unsigned UserOffset = getOffsetOf(U.MI);
|
||||
const BasicBlockInfo &BBI = BBInfo[U.MI->getParent()->getNumber()];
|
||||
unsigned KnownBits = BBI.internalKnownBits();
|
||||
|
||||
// The value read from PC is offset from the actual instruction address.
|
||||
|
||||
|
||||
// Because of inline assembly, we may not know the alignment (mod 4) of U.MI.
|
||||
// Make sure U.getMaxDisp() returns a constrained range.
|
||||
U.KnownAlignment = (KnownBits >= 2);
|
||||
|
||||
|
||||
return UserOffset;
|
||||
return getOffsetOf(U.MI);
|
||||
}
|
||||
|
||||
/// Split the basic block containing MI into two blocks, which are joined by
|
||||
|
Loading…
x
Reference in New Issue
Block a user