This is an archive of the discontinued LLVM Phabricator instance.

[mips] Fix unsigned/signed type error
ClosedPublic

Authored by sdardis on Nov 1 2016, 7:11 AM.

Details

Summary

MipsFastISel uses a a class to represent addresses with a signed member
to represent the offset. MipsFastISel::emitStore, emitLoad and computeAddress
all treated the offset as being positive. In cases where the offset was
actually negative and a frame pointer was used, this would cause the constant
synthesis routine to crash as it would generate an unexpected instruction
sequence when frame indexes are replaced.

Event Timeline

sdardis updated this revision to Diff 76551.Nov 1 2016, 7:11 AM
sdardis retitled this revision from to [mips] Fix unsigned/signed type error.
sdardis updated this object.
sdardis added a reviewer: vkalintiris.
sdardis set the repository for this revision to rL LLVM.
sdardis added a subscriber: llvm-commits.
vkalintiris accepted this revision.Nov 15 2016, 8:49 AM
vkalintiris edited edge metadata.

LGTM.

This revision is now accepted and ready to land.Nov 15 2016, 8:49 AM
This revision was automatically updated to reflect the committed changes.