Skip to content

Commit

Permalink
Cleanup getUserOffset. Issues related to inline assembler length and
Browse files Browse the repository at this point in the history
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
  • Loading branch information
Reed Kotler committed Nov 5, 2013
1 parent f635ab8 commit 1fa282d
Showing 1 changed file with 1 addition and 16 deletions.
17 changes: 1 addition & 16 deletions lib/Target/Mips/MipsConstantIslandPass.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down

0 comments on commit 1fa282d

Please sign in to comment.