mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
[SILType] SILFunctionConventions API.
Separate formal lowered types from SIL types. The SIL type of an argument will depend on the SIL module's conventions. The module conventions are determined by the SIL stage and LangOpts. Almost NFC, but specialized manglings are broken incidentally as a result of fixes to the way passes handle book-keeping of aruments. The mangler is fixed in the subsequent commit. Otherwise, NFC is intended, but quite possible do to rewriting the logic in many places.
This commit is contained in:
@@ -457,11 +457,11 @@ bool CopyForwarding::collectUsers() {
|
||||
/// object. However, we can rely on a subsequent mark_dependent
|
||||
/// instruction to take that object as an operand, causing it to escape
|
||||
/// for the purpose of this analysis.
|
||||
assert(Apply->getSubstCalleeType()
|
||||
->getSILArgumentConvention(UI->getOperandNumber() -
|
||||
Apply->getArgumentOperandNumber())
|
||||
.isIndirectConvention() &&
|
||||
"copy_addr location should be passed indirect");
|
||||
assert(Apply->getSubstCalleeConv()
|
||||
.getSILArgumentConvention(UI->getOperandNumber()
|
||||
- Apply->getArgumentOperandNumber())
|
||||
.isIndirectConvention()
|
||||
&& "copy_addr location should be passed indirect");
|
||||
SrcUserInsts.insert(Apply);
|
||||
continue;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user