Implement IR generation for archetype-to-super conversions.
Implement IR generation for archetype-to-super conversions.

Finishes <rdar://problem/12839947>.


Swift SVN r3488

sdulal/swift,stephentyrone/swift,LeoShimonaka/swift,sdulal/swift,adrfer/swift,milseman/swift,aschwaighofer/swift,practicalswift/swift,xwu/swift,natecook1000/swift,arvedviehweger/swift,codestergit/swift,kstaring/swift,jopamer/swift,manavgabhawala/swift,frootloops/swift,CodaFi/swift,mightydeveloper/swift,cbrentharris/swift,amraboelela/swift,harlanhaskins/swift,rudkx/swift,Jnosh/swift,glessard/swift,amraboelela/swift,dduan/swift,danielmartin/swift,zisko/swift,uasys/swift,tardieu/swift,cbrentharris/swift,austinzheng/swift,alblue/swift,uasys/swift,return/swift,kentya6/swift,modocache/swift,hughbe/swift,practicalswift/swift,shajrawi/swift,Jnosh/swift,shajrawi/swift,jckarter/swift,therealbnut/swift,parkera/swift,Ivacker/swift,ken0nek/swift,kusl/swift,mightydeveloper/swift,kstaring/swift,alblue/swift,modocache/swift,dduan/swift,bitjammer/swift,harlanhaskins/swift,gmilos/swift,felix91gr/swift,xwu/swift,ahoppen/swift,gribozavr/swift,adrfer/swift,bitjammer/swift,LeoShimonaka/swift,emilstahl/swift,Jnosh/swift,adrfer/swift,khizkhiz/swift,mightydeveloper/swift,SwiftAndroid/swift,swiftix/swift.old,hughbe/swift,sschiau/swift,tardieu/swift,tinysun212/swift-windows,uasys/swift,gregomni/swift,sschiau/swift,KrishMunot/swift,JaSpa/swift,aschwaighofer/swift,tkremenek/swift,MukeshKumarS/Swift,Ivacker/swift,bitjammer/swift,JaSpa/swift,benlangmuir/swift,modocache/swift,shajrawi/swift,LeoShimonaka/swift,JGiola/swift,manavgabhawala/swift,allevato/swift,nathawes/swift,zisko/swift,return/swift,calebd/swift,LeoShimonaka/swift,ahoppen/swift,emilstahl/swift,therealbnut/swift,natecook1000/swift,gribozavr/swift,stephentyrone/swift,codestergit/swift,milseman/swift,frootloops/swift,ben-ng/swift,arvedviehweger/swift,CodaFi/swift,deyton/swift,tardieu/swift,SwiftAndroid/swift,felix91gr/swift,tkremenek/swift,huonw/swift,natecook1000/swift,jckarter/swift,glessard/swift,allevato/swift,manavgabhawala/swift,harlanhaskins/swift,kstaring/swift,gribozavr/swift,shahmishal/swift,return/swift,benlangmuir/swift,uasys/swift,devincoughlin/swift,kentya6/swift,shahmishal/swift,arvedviehweger/swift,Ivacker/swift,kusl/swift,ben-ng/swift,LeoShimonaka/swift,jmgc/swift,airspeedswift/swift,apple/swift,slavapestov/swift,kusl/swift,JGiola/swift,IngmarStein/swift,amraboelela/swift,Jnosh/swift,natecook1000/swift,karwa/swift,deyton/swift,hooman/swift,hughbe/swift,lorentey/swift,IngmarStein/swift,russbishop/swift,modocache/swift,emilstahl/swift,deyton/swift,manavgabhawala/swift,return/swift,zisko/swift,xwu/swift,danielmartin/swift,ben-ng/swift,xedin/swift,apple/swift,IngmarStein/swift,austinzheng/swift,roambotics/swift,milseman/swift,dduan/swift,bitjammer/swift,huonw/swift,kusl/swift,Jnosh/swift,amraboelela/swift,tjw/swift,practicalswift/swift,modocache/swift,LeoShimonaka/swift,lorentey/swift,JaSpa/swift,roambotics/swift,atrick/swift,swiftix/swift,gottesmm/swift,djwbrown/swift,mightydeveloper/swift,gmilos/swift,zisko/swift,apple/swift,swiftix/swift.old,devincoughlin/swift,emilstahl/swift,rudkx/swift,parkera/swift,allevato/swift,adrfer/swift,airspeedswift/swift,nathawes/swift,jopamer/swift,aschwaighofer/swift,kstaring/swift,CodaFi/swift,zisko/swift,calebd/swift,shahmishal/swift,zisko/swift,tinysun212/swift-windows,SwiftAndroid/swift,allevato/swift,tjw/swift,cbrentharris/swift,roambotics/swift,austinzheng/swift,return/swift,ken0nek/swift,jckarter/swift,rudkx/swift,russbishop/swift,adrfer/swift,nathawes/swift,gottesmm/swift,felix91gr/swift,glessard/swift,sdulal/swift,bitjammer/swift,roambotics/swift,kentya6/swift,CodaFi/swift,JaSpa/swift,calebd/swift,ben-ng/swift,tardieu/swift,MukeshKumarS/Swift,khizkhiz/swift,swiftix/swift,airspeedswift/swift,gmilos/swift,Ivacker/swift,calebd/swift,modocache/swift,gribozavr/swift,frootloops/swift,frootloops/swift,JaSpa/swift,OscarSwanros/swift,calebd/swift,felix91gr/swift,cbrentharris/swift,shahmishal/swift,emilstahl/swift,hooman/swift,gottesmm/swift,djwbrown/swift,stephentyrone/swift,arvedviehweger/swift,brentdax/swift,sdulal/swift,xedin/swift,sschiau/swift,shajrawi/swift,swiftix/swift,shajrawi/swift,jopamer/swift,jckarter/swift,djwbrown/swift,deyton/swift,cbrentharris/swift,atrick/swift,codestergit/swift,dduan/swift,lorentey/swift,dreamsxin/swift,khizkhiz/swift,tjw/swift,dreamsxin/swift,JaSpa/swift,karwa/swift,mightydeveloper/swift,swiftix/swift,calebd/swift,deyton/swift,jtbandes/swift,jtbandes/swift,roambotics/swift,amraboelela/swift,tkremenek/swift,SwiftAndroid/swift,shahmishal/swift,practicalswift/swift,johnno1962d/swift,parkera/swift,hughbe/swift,stephentyrone/swift,kusl/swift,mightydeveloper/swift,tjw/swift,sdulal/swift,harlanhaskins/swift,gmilos/swift,allevato/swift,gottesmm/swift,CodaFi/swift,atrick/swift,ken0nek/swift,JGiola/swift,deyton/swift,ken0nek/swift,karwa/swift,uasys/swift,sschiau/swift,natecook1000/swift,xedin/swift,nathawes/swift,OscarSwanros/swift,cbrentharris/swift,allevato/swift,johnno1962d/swift,devincoughlin/swift,IngmarStein/swift,modocache/swift,stephentyrone/swift,johnno1962d/swift,Jnosh/swift,aschwaighofer/swift,austinzheng/swift,slavapestov/swift,airspeedswift/swift,danielmartin/swift,tinysun212/swift-windows,ahoppen/swift,Ivacker/swift,kperryua/swift,therealbnut/swift,Jnosh/swift,parkera/swift,felix91gr/swift,hooman/swift,khizkhiz/swift,KrishMunot/swift,jmgc/swift,gottesmm/swift,khizkhiz/swift,uasys/swift,shahmishal/swift,gribozavr/swift,xedin/swift,apple/swift,airspeedswift/swift,kusl/swift,practicalswift/swift,LeoShimonaka/swift,jckarter/swift,jmgc/swift,swiftix/swift.old,adrfer/swift,hooman/swift,slavapestov/swift,sschiau/swift,aschwaighofer/swift,kentya6/swift,tinysun212/swift-windows,IngmarStein/swift,xwu/swift,xedin/swift,KrishMunot/swift,parkera/swift,rudkx/swift,KrishMunot/swift,danielmartin/swift,hooman/swift,djwbrown/swift,OscarSwanros/swift,atrick/swift,tjw/swift,kperryua/swift,therealbnut/swift,practicalswift/swift,swiftix/swift.old,lorentey/swift,KrishMunot/swift,ahoppen/swift,kentya6/swift,glessard/swift,swiftix/swift,jopamer/swift,frootloops/swift,bitjammer/swift,xedin/swift,gribozavr/swift,mightydeveloper/swift,karwa/swift,brentdax/swift,brentdax/swift,jopamer/swift,JGiola/swift,kentya6/swift,kusl/swift,tinysun212/swift-windows,jtbandes/swift,OscarSwanros/swift,therealbnut/swift,johnno1962d/swift,khizkhiz/swift,felix91gr/swift,manavgabhawala/swift,alblue/swift,OscarSwanros/swift,MukeshKumarS/Swift,jopamer/swift,swiftix/swift.old,nathawes/swift,OscarSwanros/swift,IngmarStein/swift,hughbe/swift,shahmishal/swift,russbishop/swift,huonw/swift,milseman/swift,brentdax/swift,natecook1000/swift,therealbnut/swift,glessard/swift,hooman/swift,amraboelela/swift,ben-ng/swift,karwa/swift,JGiola/swift,rudkx/swift,gregomni/swift,jckarter/swift,atrick/swift,kentya6/swift,MukeshKumarS/Swift,hughbe/swift,aschwaighofer/swift,gottesmm/swift,tardieu/swift,shahmishal/swift,tkremenek/swift,OscarSwanros/swift,stephentyrone/swift,parkera/swift,tjw/swift,benlangmuir/swift,sschiau/swift,tjw/swift,sdulal/swift,swiftix/swift.old,benlangmuir/swift,LeoShimonaka/swift,jtbandes/swift,swiftix/swift,jmgc/swift,jtbandes/swift,lorentey/swift,tkremenek/swift,russbishop/swift,Ivacker/swift,russbishop/swift,shajrawi/swift,CodaFi/swift,return/swift,xwu/swift,huonw/swift,djwbrown/swift,djwbrown/swift,tardieu/swift,airspeedswift/swift,slavapestov/swift,alblue/swift,practicalswift/swift,alblue/swift,danielmartin/swift,adrfer/swift,sdulal/swift,frootloops/swift,stephentyrone/swift,xwu/swift,harlanhaskins/swift,KrishMunot/swift,dduan/swift,kstaring/swift,deyton/swift,xedin/swift,dduan/swift,MukeshKumarS/Swift,brentdax/swift,amraboelela/swift,russbishop/swift,bitjammer/swift,xedin/swift,tinysun212/swift-windows,arvedviehweger/swift,gottesmm/swift,kperryua/swift,harlanhaskins/swift,mightydeveloper/swift,gregomni/swift,SwiftAndroid/swift,milseman/swift,kperryua/swift,emilstahl/swift,milseman/swift,jmgc/swift,ahoppen/swift,kperryua/swift,jckarter/swift,roambotics/swift,gregomni/swift,codestergit/swift,devincoughlin/swift,gmilos/swift,Ivacker/swift,sschiau/swift,calebd/swift,jtbandes/swift,ken0nek/swift,devincoughlin/swift,parkera/swift,swiftix/swift.old,KrishMunot/swift,Ivacker/swift,djwbrown/swift,parkera/swift,gribozavr/swift,ahoppen/swift,brentdax/swift,danielmartin/swift,danielmartin/swift,gribozavr/swift,frootloops/swift,benlangmuir/swift,alblue/swift,sdulal/swift,benlangmuir/swift,slavapestov/swift,tkremenek/swift,gmilos/swift,ben-ng/swift,kentya6/swift,swiftix/swift.old,JGiola/swift,russbishop/swift,slavapestov/swift,CodaFi/swift,austinzheng/swift,sschiau/swift,karwa/swift,huonw/swift,ken0nek/swift,glessard/swift,aschwaighofer/swift,codestergit/swift,slavapestov/swift,lorentey/swift,atrick/swift,kstaring/swift,jmgc/swift,SwiftAndroid/swift,arvedviehweger/swift,jtbandes/swift,nathawes/swift,lorentey/swift,austinzheng/swift,tardieu/swift,kusl/swift,brentdax/swift,rudkx/swift,swiftix/swift,MukeshKumarS/Swift,gregomni/swift,ken0nek/swift,tinysun212/swift-windows,return/swift,johnno1962d/swift,shajrawi/swift,milseman/swift,alblue/swift,hooman/swift,therealbnut/swift,arvedviehweger/swift,manavgabhawala/swift,karwa/swift,emilstahl/swift,codestergit/swift,johnno1962d/swift,austinzheng/swift,apple/swift,tkremenek/swift,hughbe/swift,SwiftAndroid/swift,emilstahl/swift,apple/swift,dduan/swift,nathawes/swift,ben-ng/swift,kperryua/swift,practicalswift/swift,huonw/swift,huonw/swift,harlanhaskins/swift,kstaring/swift,natecook1000/swift,codestergit/swift,airspeedswift/swift,cbrentharris/swift,devincoughlin/swift,johnno1962d/swift,felix91gr/swift,khizkhiz/swift,manavgabhawala/swift,gregomni/swift,gmilos/swift,IngmarStein/swift,jmgc/swift,xwu/swift,kperryua/swift,JaSpa/swift,jopamer/swift,cbrentharris/swift,uasys/swift,devincoughlin/swift,zisko/swift,karwa/swift,shajrawi/swift,allevato/swift,MukeshKumarS/Swift,lorentey/swift,devincoughlin/swift