About
Often the compiler has enough information to efficiently expand mem* or str* routines inline. Say for example a 2 word copy or a string comparison against a constant.
By expanding these sequences inline, we can avoid the overhead of a function call and expose more of the underlying semantics of the call to the optimizers, thus potentially allowing further optimization. It also creates larger scheduling blocks and fewer optimization barriers.
Stakeholders/Partners
RISE:
Ventana: Jeff Law
External:
VRULL: Christoph Mullner (under contract to Ventana)
Dependencies
Status
Updates
- Joern has submitted Embecosm's work to inline vectorized memcpy.
- Project reported as a priority for 1H2024.
- Christoph has submitted VRULL's work for str(n)cmp inline expansion and it has been integrated upstream