Kuba Mracek
5dac59ce71
Move TargetConstantFolding pass to the simplification passes in Swift, enable using MemoryLayout's .size, .stride, .alignment fields in forced-const global initializers
2023-07-31 10:54:07 -07:00
Erik Eckstein
393711d5f4
SimplifyBuiltin: ignore debug_step and debug_value when checking for side-effects in the callee of a builtin.once
2023-07-26 11:06:50 +02:00
Erik Eckstein
1355e94eca
Simplification: simplify builtin "canBeClass" and builtin "assert_configuration"
2023-05-11 08:11:44 +02:00
Erik Eckstein
c4096bc723
Swift Optimizer: simplify builtin "once"
...
If the callee is side effect-free we can remove the whole builtin "once".
2023-05-08 21:23:36 +02:00
Erik Eckstein
9b51e69dac
Swift Optimizer: constant fold builtins in the simplification passes
2023-05-08 21:23:36 +02:00
Erik Eckstein
f1095556c9
Swift SIL: let var UnaryInstruction.operand return an Operand and not a Value
...
To avoid confusion. Instead add specific getters for unary instructions with dedicated names.
NFC
2023-02-21 17:57:29 +01:00
Erik Eckstein
40ed0fb388
Swift Optimizer: fix a crash when simplifying same-metatype comparisons of function types
...
The instance type of a metatype instruction is not necessarily a legal lowered SIL Type.
Lower the type before converting it to a SILType.
rdar://105502403
2023-02-15 21:14:32 +01:00
Erik Eckstein
d56ed65718
Swift Optimizer: add Onone simplification of some builtin instructions
...
* `Builtin.isConcrete`
* `Builtin.is_same_metatype`
2023-02-09 06:50:05 +01:00