|
210 | 210 | (nvals (cmp:irc-tmv-nret tmv)) |
211 | 211 | (primary (cmp:irc-tmv-primary tmv)) |
212 | 212 | ;; NOTE: Must be done BEFORE the alloca*fea. |
213 | | - (save (%intrinsic-call |
214 | | - #+(or llvm15 llvm16 llvm17)"llvm.stacksave" |
215 | | - #-(or llvm15 llvm16 llvm17)"llvm.stacksave.p0" |
216 | | - nil)) |
| 213 | + (save (%intrinsic-call cmp:+intrinsic/llvm.stacksave.p0+ |
| 214 | + nil)) |
217 | 215 | (mv-temp (cmp:alloca-temp-values nvals)) |
218 | 216 | (label (datum-name-as-string outp)) |
219 | 217 | (s2 (cmp::irc-make-vaslist nvals mv-temp label))) |
|
235 | 233 | (%intrinsic-call "cc_set_dynenv_stack" (list old-de-stack))))) |
236 | 234 | (defmethod undo-dynenv ((dynenv bir:values-save) tmv) |
237 | 235 | (declare (ignore tmv)) |
238 | | - (%intrinsic-call |
239 | | - #+(or llvm15 llvm16 llvm17)"llvm.stackrestore" |
240 | | - #-(or llvm15 llvm16 llvm17)"llvm.stackrestore.p0" |
241 | | - (list (dynenv-storage dynenv)))) |
| 236 | + (%intrinsic-call cmp:+intrinsic/llvm.stackrestore.p0+ |
| 237 | + (list (dynenv-storage dynenv)))) |
242 | 238 | (defmethod undo-dynenv ((dynenv bir:values-collect) tmv) |
243 | 239 | (declare (ignore tmv)) |
244 | 240 | (let ((storage (dynenv-storage dynenv))) |
245 | 241 | (when storage |
246 | | - (%intrinsic-call |
247 | | - #+(or llvm15 llvm16 llvm17)"llvm.stackrestore" |
248 | | - #-(or llvm15 llvm16 llvm17)"llvm.stackrestore.p0" |
249 | | - (list storage))))) |
| 242 | + (%intrinsic-call cmp:+intrinsic/llvm.stackrestore.p0+ |
| 243 | + (list storage))))) |
250 | 244 |
|
251 | 245 | (defun translate-local-unwind (jump tmv) |
252 | 246 | (loop with target = (bir:dynamic-environment |
|
1528 | 1522 | for n = size then (cmp:irc-add n size "sum-nret") |
1529 | 1523 | collect n)) |
1530 | 1524 | (n-total-values (first (last partial-sums))) |
1531 | | - (stacksave (%intrinsic-call |
1532 | | - #+(or llvm15 llvm16 llvm17)"llvm.stacksave" |
1533 | | - #-(or llvm15 llvm16 llvm17)"llvm.stacksave.p0" |
1534 | | - nil "values-collect")) |
| 1525 | + (stacksave (%intrinsic-call cmp:+intrinsic/llvm.stacksave.p0+ |
| 1526 | + nil "values-collect")) |
1535 | 1527 | (tv-size |
1536 | 1528 | ;; In order to store the primary value unconditionally below, we |
1537 | 1529 | ;; need to allocate one extra word. This is important for the |
|
1622 | 1614 | in) |
1623 | 1615 | ((eq irt :multiple-values) |
1624 | 1616 | (let* ((nret (cmp:irc-tmv-nret in)) |
1625 | | - (save (%intrinsic-call |
1626 | | - #+(or llvm15 llvm16 llvm17)"llvm.stacksave" |
1627 | | - #-(or llvm15 llvm16 llvm17)"llvm.stacksave.p0" |
1628 | | - nil)) |
| 1617 | + (save (%intrinsic-call cmp:+intrinsic/llvm.stacksave.p0+ |
| 1618 | + nil)) |
1629 | 1619 | (values (cmp:alloca-temp-values nret))) |
1630 | 1620 | (setf (dynenv-storage inst) save) |
1631 | 1621 | (%intrinsic-call "cc_save_values" |
|
0 commit comments