This is an archive of the discontinued LLVM Phabricator instance.

MipsDelaySlotFiller: Update registers def-uses for BUNDLE instructions
ClosedPublic

Authored by arichardson on Jan 6 2020, 4:57 AM.

Details

Summary

In commit b91f239485fb7bb8d29be3e0b60660a2de7570a9 I updated the
MipsDelaySlotFiller to skip BUNDLE instructions.
However, in addition to not considering BUNDLE instructions for the delay
slot, we also need to ensure that the register def-use information is
updated. Not updating this information caused run-time crashes (when using
the out-of-tree CHERI backend) since later definitions could be overwritten
with earlier register values.

Diff Detail

Event Timeline

arichardson created this revision.Jan 6 2020, 4:57 AM

Unit tests: pass. 61251 tests passed, 0 failed and 736 were skipped.

clang-tidy: pass.

clang-format: pass.

Build artifacts: diff.json, clang-tidy.txt, clang-format.patch, CMakeCache.txt, console-log.txt, test-results.xml

This revision is now accepted and ready to land.Jan 6 2020, 8:00 AM
This revision was automatically updated to reflect the committed changes.