MCPcopy Create free account
hub / github.com/bytecodealliance/wasmtime / tail_create_machine_env

Function tail_create_machine_env

cranelift/codegen/src/isa/s390x/abi.rs:1554–1620  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

1552}
1553
1554const fn tail_create_machine_env() -> MachineEnv {
1555 // Same as the SystemV ABI, except that %r6 and %r7 are preferred.
1556 MachineEnv {
1557 preferred_regs_by_class: [
1558 PRegSet::empty()
1559 // no r0; can't use for addressing?
1560 // no r1; it is our spilltmp.
1561 .with(gpr_preg(2))
1562 .with(gpr_preg(3))
1563 .with(gpr_preg(4))
1564 .with(gpr_preg(5))
1565 .with(gpr_preg(6))
1566 .with(gpr_preg(7)),
1567 PRegSet::empty()
1568 .with(vr_preg(0))
1569 .with(vr_preg(1))
1570 .with(vr_preg(2))
1571 .with(vr_preg(3))
1572 .with(vr_preg(4))
1573 .with(vr_preg(5))
1574 .with(vr_preg(6))
1575 .with(vr_preg(7))
1576 .with(vr_preg(16))
1577 .with(vr_preg(17))
1578 .with(vr_preg(18))
1579 .with(vr_preg(19))
1580 .with(vr_preg(20))
1581 .with(vr_preg(21))
1582 .with(vr_preg(22))
1583 .with(vr_preg(23))
1584 .with(vr_preg(24))
1585 .with(vr_preg(25))
1586 .with(vr_preg(26))
1587 .with(vr_preg(27))
1588 .with(vr_preg(28))
1589 .with(vr_preg(29))
1590 .with(vr_preg(30))
1591 .with(vr_preg(31)),
1592 // Vector Regclass is unused
1593 PRegSet::empty(),
1594 ],
1595 non_preferred_regs_by_class: [
1596 PRegSet::empty()
1597 .with(gpr_preg(8))
1598 .with(gpr_preg(9))
1599 .with(gpr_preg(10))
1600 .with(gpr_preg(11))
1601 .with(gpr_preg(12))
1602 .with(gpr_preg(13))
1603 .with(gpr_preg(14)),
1604 // no r15; it is the stack pointer.
1605 PRegSet::empty()
1606 .with(vr_preg(8))
1607 .with(vr_preg(9))
1608 .with(vr_preg(10))
1609 .with(vr_preg(11))
1610 .with(vr_preg(12))
1611 .with(vr_preg(13))

Callers 1

get_machine_envMethod · 0.85

Calls 4

vr_pregFunction · 0.85
emptyFunction · 0.50
gpr_pregFunction · 0.50
withMethod · 0.45

Tested by

no test coverage detected