Improve the compile time of the specializer. The specializer creates new functions with a new name. Our method for finding if this name is available was to use Module::Lookup, which performed an O(n) search over the module. Since O(N/c) of the functions were specialized we had an O(N^2) search. This patch saves the names of the function in the module prior to specialization and uses this list whever we need to generate a new name.
Improve the compile time of the specializer.
The specializer creates new functions with a new name. Our method for finding if this name is available was to use Module::Lookup, which performed an O(n) search over the module. Since O(N/c) of the functions were specialized we had an O(N^2) search.
This patch saves the names of the function in the module prior to specialization and uses this list whever we need to generate a new name.



Swift SVN r11625

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