Commits

Nadav Rotem committed f73b4ad625e
Devirtual ApplyInst + project_existential. This optimization devirtualizes a very common pattern: %0 = alloc ... $aProtocol %1 = init_existential %0#1 : $*aProtocol, $*Foo <-- Foo is the static type! %4 = project_existential %0#1 %5 = protocol_method %0#1 : $*aProtocol, #aProtocol.aMethod!1 : %8 = apply %5( .. args ... , %4) : rdar://15466450. Swift SVN r11893