@@ -1551,7 +1551,7 @@ class SILVerifier : public SILVerifierBase<SILVerifier> {
1551
1551
void checkLoadInst (LoadInst *LI) {
1552
1552
require (LI->getType ().isObject (), " Result of load must be an object" );
1553
1553
require (!fnConv.useLoweredAddresses ()
1554
- || LI->getType ().isLoadable (LI->getFunction ()),
1554
+ || LI->getType ().isLoadable (* LI->getFunction ()),
1555
1555
" Load must have a loadable type" );
1556
1556
require (LI->getOperand ()->getType ().isAddress (),
1557
1557
" Load operand must be an address" );
@@ -1571,14 +1571,14 @@ class SILVerifier : public SILVerifierBase<SILVerifier> {
1571
1571
require (F.hasOwnership (),
1572
1572
" Load with qualified ownership in an unqualified function" );
1573
1573
// TODO: Could probably make this a bit stricter.
1574
- require (!LI->getType ().isTrivial (LI->getModule ()),
1574
+ require (!LI->getType ().isTrivial (* LI->getFunction ()),
1575
1575
" load [copy] or load [take] can only be applied to non-trivial "
1576
1576
" types" );
1577
1577
break ;
1578
1578
case LoadOwnershipQualifier::Trivial:
1579
1579
require (F.hasOwnership (),
1580
1580
" Load with qualified ownership in an unqualified function" );
1581
- require (LI->getType ().isTrivial (LI->getModule ()),
1581
+ require (LI->getType ().isTrivial (* LI->getFunction ()),
1582
1582
" A load with trivial ownership must load a trivial type" );
1583
1583
break ;
1584
1584
}
@@ -1590,7 +1590,7 @@ class SILVerifier : public SILVerifierBase<SILVerifier> {
1590
1590
" Inst with qualified ownership in a function that is not qualified" );
1591
1591
require (LBI->getType ().isObject (), " Result of load must be an object" );
1592
1592
require (!fnConv.useLoweredAddresses ()
1593
- || LBI->getType ().isLoadable (LBI->getFunction ()),
1593
+ || LBI->getType ().isLoadable (* LBI->getFunction ()),
1594
1594
" Load must have a loadable type" );
1595
1595
require (LBI->getOperand ()->getType ().isAddress (),
1596
1596
" Load operand must be an address" );
@@ -1708,7 +1708,7 @@ class SILVerifier : public SILVerifierBase<SILVerifier> {
1708
1708
require (SI->getSrc ()->getType ().isObject (),
1709
1709
" Can't store from an address source" );
1710
1710
require (!fnConv.useLoweredAddresses ()
1711
- || SI->getSrc ()->getType ().isLoadable (SI->getFunction ()),
1711
+ || SI->getSrc ()->getType ().isLoadable (* SI->getFunction ()),
1712
1712
" Can't store a non loadable type" );
1713
1713
require (SI->getDest ()->getType ().isAddress (),
1714
1714
" Must store to an address dest" );
@@ -1729,7 +1729,7 @@ class SILVerifier : public SILVerifierBase<SILVerifier> {
1729
1729
F.hasOwnership (),
1730
1730
" Inst with qualified ownership in a function that is not qualified" );
1731
1731
// TODO: Could probably make this a bit stricter.
1732
- require (!SI->getSrc ()->getType ().isTrivial (SI->getModule ()),
1732
+ require (!SI->getSrc ()->getType ().isTrivial (* SI->getFunction ()),
1733
1733
" store [init] or store [assign] can only be applied to "
1734
1734
" non-trivial types" );
1735
1735
break ;
@@ -1738,7 +1738,7 @@ class SILVerifier : public SILVerifierBase<SILVerifier> {
1738
1738
F.hasOwnership (),
1739
1739
" Inst with qualified ownership in a function that is not qualified" );
1740
1740
SILValue Src = SI->getSrc ();
1741
- require (Src->getType ().isTrivial (SI->getModule ()) ||
1741
+ require (Src->getType ().isTrivial (* SI->getFunction ()) ||
1742
1742
Src.getOwnershipKind () == ValueOwnershipKind::Any,
1743
1743
" A store with trivial ownership must store a type with trivial "
1744
1744
" ownership" );
@@ -1934,7 +1934,7 @@ class SILVerifier : public SILVerifierBase<SILVerifier> {
1934
1934
void checkCopyValueInst (CopyValueInst *I) {
1935
1935
require (I->getOperand ()->getType ().isObject (),
1936
1936
" Source value should be an object value" );
1937
- require (!I->getOperand ()->getType ().isTrivial (I->getModule ()),
1937
+ require (!I->getOperand ()->getType ().isTrivial (* I->getFunction ()),
1938
1938
" Source value should be non-trivial" );
1939
1939
require (!fnConv.useLoweredAddresses () || F.hasOwnership (),
1940
1940
" copy_value is only valid in functions with qualified "
@@ -1944,7 +1944,7 @@ class SILVerifier : public SILVerifierBase<SILVerifier> {
1944
1944
void checkDestroyValueInst (DestroyValueInst *I) {
1945
1945
require (I->getOperand ()->getType ().isObject (),
1946
1946
" Source value should be an object value" );
1947
- require (!I->getOperand ()->getType ().isTrivial (I->getModule ()),
1947
+ require (!I->getOperand ()->getType ().isTrivial (* I->getFunction ()),
1948
1948
" Source value should be non-trivial" );
1949
1949
require (!fnConv.useLoweredAddresses () || F.hasOwnership (),
1950
1950
" destroy_value is only valid in functions with qualified "
@@ -3585,7 +3585,7 @@ class SILVerifier : public SILVerifierBase<SILVerifier> {
3585
3585
" unchecked_trivial_bit_cast must operate on a value" );
3586
3586
require (BI->getType ().isObject (),
3587
3587
" unchecked_trivial_bit_cast must produce a value" );
3588
- require (BI->getType ().isTrivial (F. getModule () ),
3588
+ require (BI->getType ().isTrivial (F),
3589
3589
" unchecked_trivial_bit_cast must produce a value of trivial type" );
3590
3590
}
3591
3591
0 commit comments