... When we emit several calls to the same function in the same basic block.
An indirect call uses a "BLX r0" instruction which has a 16-bit encoding. If many calls are made to the same target, this can enable significant code size reductions.
Paths
| Differential D22216
[ARM] Prefer indirect calls in minsize mode ClosedPublic Authored by jmolloy on Jul 11 2016, 6:02 AM.
Details
Summary ... When we emit several calls to the same function in the same basic block. An indirect call uses a "BLX r0" instruction which has a 16-bit encoding. If many calls are made to the same target, this can enable significant code size reductions.
Diff Detail
Event Timelinejmolloy updated this object. mcrosier edited edge metadata. Comment ActionsLGTM.
This revision is now accepted and ready to land.Jul 13 2016, 6:51 AM
Revision Contents
Diff 63496 lib/Target/ARM/ARMISelLowering.cpp
test/CodeGen/ARM/minsize-call-cse.ll
|
many times -> three or more times