swift
88a74a28 - StringOptimization: optimize interpolated C strings.

Commit
4 years ago
StringOptimization: optimize interpolated C strings. Optimize code like: puts("\(String.self)") Optimizing string interpolation and optimizing C-strings are both done in StringOptimization. A second run of the StringOptimization is needed in the pipeline to optimize such code, because the result of the interpolation-optimization must be cleaned up so that the C-String optimization can kick in. Also, StringOptimization must handle struct_extract(struct(literal)), where the struct_extract may be in a called function. To solve a phase ordering problem with inlining String semantics and inlining the `String(stringInterpolation: DefaultStringInterpolation)` constructor, we do a simple analysis of the callee. Doing this simple "interprocedural" analysis avoids relying on inlining that String constructor. rdar://74941849
Author
Parents
Loading