This is an archive of the discontinued LLVM Phabricator instance.

[mips] Fix microMIPS unconditional branch offset handling
ClosedPublic

Authored by atanasyan on Aug 12 2018, 1:09 PM.

Details

Summary

MipsSEInstrInfo class defines for internal purpose unconditional branches as Mips::B nad Mips:J even in case of microMIPS code generation. Under some conditions that leads to the bug - for rather long branch which fits to Mips jump instruction offset size, but does not fit to microMIPS jump offset size, we generate §short§ branch and later show an error 'out of range PC16 fixup' after chek in the isBranchOffsetInRange routine.

Diff Detail

Repository
rL LLVM

Event Timeline

atanasyan created this revision.Aug 12 2018, 1:09 PM
  • Fixed test case
This revision is now accepted and ready to land.Aug 29 2018, 6:40 AM
This revision was automatically updated to reflect the committed changes.