Commits

Erik Eckstein committed 14af3a57e81
Enable elimination of dead methods which are in classes of higher visibility. The underlying problem is that e.g. even if a method is private but its class is public, the method can be referenced from another module - from the vtable of a derived class. So far we handled this by setting the SILLinkage of such methods according to the visibility of the class. But this prevented dead method elimination. Now I set the SILLinkage according to the visibility of the method. This enables dead method elimination, but it requires the following: 1) Still set the linkage in llvm so that it can be referenced from outside. 2) If the method is dead and eliminated, create a stub for it (which calls swift_reportMissingMethod). Swift SVN r23889