swiftlang/swift

[SR-6889] [IRGen Opportunity] Use argmemonly for runtime functions

Open

#49.438 aperta il 1 feb 2018

Vedi su GitHub
 (0 commenti) (0 reazioni) (0 assegnatari)Swift (10.719 fork)batch import
compilergood first issueimprovement

Metriche repository

Star
 (69.989 star)
Metriche merge PR
 (Merge medio 8g 17h) (510 PR mergiate in 30 g)

Descrizione

Previous ID SR-6889
Radar None
Original Reporter @aschwaighofer
Type Improvement
Votes 0
Component/s Compiler
Labels Improvement, StarterBug
Assignee None
Priority Medium

md5: 050d922fc6f6b8f37d1f70d51229bf7b

Issue Description:

It should be possible to mark some of our runtime functions with argmemonly readonly as they receive their type arguments indirectly via an array of type arguments.

I tried this in https://github.com/apple/swift/pull/14310 but tests failed. I did not have time to investigate why.

I mentioned that if that following situation in some form or another this annotation is not legal:

Type *args[5];
pointer->field = // inlined initialization
arg[1] = pointer
argmemonly(args)

However, we believe that this situation should? not arise. It might be worth investigating the failures.

Guida contributor