It seems std::advance template is treating "-MFI.getCalleeSavedInfo().size()" as a large unsigned value", causing slowness.
Thanks to Henrik Gustafsson for reporting the issue.
Differential D51148
[RISCV] Fix std::advance slowness apazos on Aug 22 2018, 7:23 PM. Authored by
Details It seems std::advance template is treating "-MFI.getCalleeSavedInfo().size()" as a large unsigned value", causing slowness. Thanks to Henrik Gustafsson for reporting the issue.
Diff Detail
Event TimelineComment Actions Actually, how about replacing those two lines with auto LastFrameDestroy = std::prev(MBBI, MFI.getCalleeSavedInfo().size())? |