Fix major compile time regression
Fix major compile time regression

The assume intrinsic has a strong, negative impact on compile times, so
we're currently only using it in places where LLVM can simplify it to
nonnull metadata on a load intruction. Unfortunately a recent change
that fixed invalid assume calls introduce new assume calls for which
this simplification can not happen, leading to a massive regression in
compile times in certain cases.

Moving the assumptions from the middle of the function to the beginning
allows the simplification to happen again, bringing compile times back
to their old levels.

Fixes #25393

andars/rust,gifnksm/rust,nwin/rust,pshc/rust,carols10cents/rust,TheNeikos/rust,zachwick/rust,jroesch/rust,zubron/rust,sae-bom/rust,jashank/rust,sae-bom/rust,vhbit/rust,cllns/rust,mihneadb/rust,pshc/rust,seanrivera/rust,andars/rust,jroesch/rust,zachwick/rust,seanrivera/rust,TheNeikos/rust,carols10cents/rust,nwin/rust,aepsil0n/rust,GBGamer/rust,graydon/rust,pelmers/rust,KokaKiwi/rust,aidancully/rust,jashank/rust,mihneadb/rust,seanrivera/rust,XMPPwocky/rust,XMPPwocky/rust,omasanori/rust,GBGamer/rust,XMPPwocky/rust,robertg/rust,zachwick/rust,GBGamer/rust,philyoon/rust,pshc/rust,l0kod/rust,aepsil0n/rust,l0kod/rust,dwillmer/rust,pelmers/rust,mvdnes/rust,l0kod/rust,pelmers/rust,victorvde/rust,aneeshusa/rust,pshc/rust,gifnksm/rust,nwin/rust,philyoon/rust,krzysz00/rust,graydon/rust,aneeshusa/rust,sae-bom/rust,andars/rust,zachwick/rust,vhbit/rust,philyoon/rust,graydon/rust,vhbit/rust,rohitjoshi/rust,krzysz00/rust,aepsil0n/rust,ejjeong/rust,XMPPwocky/rust,omasanori/rust,victorvde/rust,jroesch/rust,nwin/rust,GBGamer/rust,carols10cents/rust,KokaKiwi/rust,cllns/rust,reem/rust,aidancully/rust,pelmers/rust,jashank/rust,zubron/rust,omasanori/rust,jashank/rust,pelmers/rust,TheNeikos/rust,victorvde/rust,dwillmer/rust,aidancully/rust,reem/rust,mvdnes/rust,jashank/rust,zachwick/rust,reem/rust,mvdnes/rust,carols10cents/rust,philyoon/rust,aidancully/rust,ejjeong/rust,zubron/rust,gifnksm/rust,andars/rust,cllns/rust,l0kod/rust,ejjeong/rust,GBGamer/rust,victorvde/rust,jroesch/rust,sae-bom/rust,kwantam/rust,robertg/rust,nwin/rust,robertg/rust,krzysz00/rust,gifnksm/rust,omasanori/rust,cllns/rust,dwillmer/rust,aepsil0n/rust,krzysz00/rust,seanrivera/rust,vhbit/rust,XMPPwocky/rust,rohitjoshi/rust,aidancully/rust,cllns/rust,l0kod/rust,TheNeikos/rust,dwillmer/rust,kwantam/rust,pshc/rust,vhbit/rust,aepsil0n/rust,rohitjoshi/rust,vhbit/rust,ejjeong/rust,pshc/rust,carols10cents/rust,andars/rust,robertg/rust,l0kod/rust,graydon/rust,zachwick/rust,sae-bom/rust,mihneadb/rust,l0kod/rust,omasanori/rust,vhbit/rust,rohitjoshi/rust,vhbit/rust,sae-bom/rust,TheNeikos/rust,jashank/rust,aneeshusa/rust,dwillmer/rust,krzysz00/rust,GBGamer/rust,reem/rust,aidancully/rust,krzysz00/rust,philyoon/rust,nwin/rust,pshc/rust,graydon/rust,jashank/rust,graydon/rust,robertg/rust,rohitjoshi/rust,KokaKiwi/rust,cllns/rust,nwin/rust,zubron/rust,robertg/rust,jroesch/rust,pshc/rust,l0kod/rust,zubron/rust,GBGamer/rust,kwantam/rust,victorvde/rust,dwillmer/rust,philyoon/rust,victorvde/rust,kwantam/rust,pelmers/rust,aepsil0n/rust,zubron/rust,KokaKiwi/rust,andars/rust,XMPPwocky/rust,carols10cents/rust,mihneadb/rust,nwin/rust,mihneadb/rust,mvdnes/rust,GBGamer/rust,seanrivera/rust,zubron/rust,rohitjoshi/rust,gifnksm/rust,mvdnes/rust,reem/rust,kwantam/rust,gifnksm/rust,ejjeong/rust,jashank/rust,KokaKiwi/rust,aneeshusa/rust,dwillmer/rust,omasanori/rust,kwantam/rust,KokaKiwi/rust,jroesch/rust,aneeshusa/rust,mvdnes/rust,zubron/rust,ejjeong/rust,jroesch/rust,dwillmer/rust,aneeshusa/rust,jroesch/rust,TheNeikos/rust,seanrivera/rust,mihneadb/rust,reem/rust