Commit Graph

6 Commits

Author SHA1 Message Date
Erik Eckstein
696e8142a5 tests: run SILOptimizer/static_inline_arrays.swift only on macos, linux and windows
rdar://152288605
2025-06-06 20:12:06 +02:00
Erik Eckstein
51fda635a5 InitializeStaticGlobals: rewrite the pass to better optimize InlineArrays
Instead of looking for a single store to the global in a global-init function, build a GlobalInitValue tree.
This is a data structure representing the init value of the global. It can handle complex InlineArray initializations,
like `init(repeating:)`.

rdar://150859232
2025-05-20 20:46:40 +02:00
Erik Eckstein
d28384dbd7 SILGen: use vector_base_addr in InlineArray literals 2025-05-12 19:25:12 +02:00
Alejandro Alonso
c1bb143648 Make ValueGenerics feature always available 2025-02-27 10:03:37 -08:00
Erik Eckstein
e9d0393c50 tests: add a missing codesign in SILOptimizer/static_inline_arrays.swift
rdar://144826336
2025-02-14 10:05:06 +01:00
Erik Eckstein
57a236e671 InitializeStaticGlobals: support statically initializing globals which are or contain inline arrays
For example:

```
struct S {
  static let slab: Slab = [1, 2, 3, 4]
}
```

rdar://143005996
2025-02-12 22:37:49 +01:00