Implement a linear time algorithm for placing phi-nodes. This commit implements the DJ-graph data-structure and linear time algorithm for calculating the iterative dominance frontier and placing PHI nodes. This is the same algorithm that is used by recent versions of LLVM.
Implement a linear time algorithm for placing phi-nodes.
This commit implements the DJ-graph data-structure and linear time algorithm
for calculating the iterative dominance frontier and placing PHI nodes.
This is the same algorithm that is used by recent versions of LLVM.



Swift SVN r11578

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