[llvm-arc-opts] Refactor the ARC call constant caches and ARC call creation code into a builder class.
[llvm-arc-opts] Refactor the ARC call constant caches and ARC call creation code into a builder class.

This removes a bunch of boilerplate from the LLVMARCOpts passes related
to Constant caches and creating these calls.

Swift SVN r30130

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