Details
- Reviewers
sebpop mclow.lists EricWF
Diff Detail
Event Timeline
This change is ABI breaking because these functions are exported using explicit template instantiations, and because changing their signature changes the mangling.
Can you explain why this change is needed?
Adding const could help compiler, I do not have any specific performance numbers yet. So if this is too much trouble then we don't have to merge this.
Absent I good motivation (i.e, a documented, significant performance change), I don't think we want this - not because it's not a reasonable change (it is!), but because it's an ABI break.
It's unfortunate the __atoms were not passed as const in the first place.
An alternate change would be to add a new local variable in these routines:
const CharT *__cAtoms = __atoms;
and then use __cAtoms instead of __atoms in the routines.
But we should determine if this is a win, code-gen wise.
Thank you for the feedback. This was supposed to be first out of two patches. I have posted the next patch here: https://reviews.llvm.org/D30268 which aims to remove copy of __src array each time a number is parsed. I can abandon this patch if we don't need to separate this from the other.