[AArch64] Avoid raw_svector_ostream for SubtargetMap keys (#196003)
AArch64TargetMachine::getSubtargetImpl builds a StringMap key on every
subtarget lookup. This showed up through repeated TTI queries while
profiling sqlite on aarch64-O0-g.
Building the key directly with SmallString appends and utostr instead of
raw_svector_ostream improves compile-time.
We used to do this until 07e7168048b1.
CTMark geomean:
- stage1-aarch64-O3: -0.16%
- stage1-aarch64-O0-g: -0.18%
https://llvm-compile-time-tracker.com/compare.php?from=c9d713aa48a714d20b8502d06b9feb24829e6f22&to=e7ff83884193ee70cf3a69778b891fb729e0bcba&stat=instructions%3Au
Assisted-by: codex