Optimizer: add FunctionPassContext.mangle(withChangedRepresentation original: Function)

This commit is contained in:
Erik Eckstein
2025-11-26 09:30:00 +01:00
parent 4c09fa6805
commit 17ca4d9787
5 changed files with 24 additions and 0 deletions

View File

@@ -202,6 +202,7 @@ struct BridgedPassContext {
BridgedFunction bridgedOriginalFunction) const;
BridgedOwnedString mangleWithExplodedPackArgs(BridgedArrayRef bridgedPackArgs,
BridgedFunction applySiteCallee) const;
BridgedOwnedString mangleWithChangedRepresentation(BridgedFunction applySiteCallee) const;
void inlineFunction(BridgedInstruction apply, bool mandatoryInline) const;
BRIDGED_INLINE bool eliminateDeadAllocations(BridgedFunction f) const;

View File

@@ -104,6 +104,8 @@ class FunctionSignatureSpecializationMangler : public SpecializationMangler {
ReturnValueModifierIntBase ReturnValue;
bool changedRepresentation = false;
public:
FunctionSignatureSpecializationMangler(ASTContext &Ctx, SpecializationPass Pass,
swift::SerializedKind_t Serialized,
@@ -123,6 +125,7 @@ public:
void setArgumentBoxToStack(unsigned OrigArgIdx);
void setArgumentInOutToOut(unsigned OrigArgIdx);
void setReturnValueOwnedToUnowned();
void setChangedRepresentation() { changedRepresentation = true; }
// For effects
void setRemovedEffect(EffectKind effect);