Benjamin Maxwell a7dafea384
[SDAG] Allow folding stack slots into sincos/frexp in more cases (#118117)
This adds a new helper `canFoldStoreIntoLibCallOutputPointers()` to
check that it is safe to fold a store into a node that will expand to a
library call that takes output pointers. This requires checking for two
(independent) properties:

1. The store is not within a CALLSEQ_START..CALLSEQ_END pair
* If it is, the expansion would lead to nested call sequences (which is
invalid)
2. The node does not appear as a predecessor to the store
* If it does, attempting to merge the store into the call would result
in a cycle in the DAG

These two properties are checked as part of the same traversal in
`canFoldStoreIntoLibCallOutputPointers()`
2024-12-17 10:54:17 +00:00
..
2022-10-11 17:24:06 +00:00
2023-09-01 19:45:03 -04:00
2023-02-14 10:25:24 -04:00
2022-10-11 17:24:06 +00:00
2023-06-28 14:50:16 -04:00
2022-10-11 17:24:06 +00:00
2022-10-11 17:24:06 +00:00
2022-11-04 10:18:04 -07:00