Page MenuHomePhabricator

[mips] Fix microMIPS unconditional branch offset handling

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



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


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.