This can result in significant code size savings in some cases,
e.g. an interrupt table all filled with the same assembly stub
in a certain Cortex-M BSP results in code blowup by a factor of 2.5.
Tests depend on D34805.
Differential D34806
[MergeFunctions] Merge small functions if possible without a thunk whitequark on Jun 28 2017, 9:40 PM. Authored by
Details This can result in significant code size savings in some cases, Tests depend on D34805.
Diff Detail
Event TimelineComment Actions A few questions, but this looks good.
|
So I know that you're just moving code, but why these numbers? What's the usual thunk size? You also need to consider alignment (both of the function and thunks). IIRC there was a bunch of waste with alignment even when merge funcs ran, and I don't think it got fixed.