================
@@ -297,12 +297,12 @@ define void @f2() #0 {
 
 ; TEST 12 NoFree argument - positive.
 define double @test12(ptr nocapture readonly %a) {
-; CHECK: Function Attrs: nofree nounwind
----------------
nikic wrote:

> > though the function attribute is not, and how the function could cause a 
> > free through synchronization.
> 
> This is due to imprecision in how I implemented this in Attributor. I just 
> made nosync a precondition for nofree, but it would be more precise to do 
> what I do in FunctionAttrs, and only require nofree for calls and nosync for 
> everything else. Then we could infer nofree here because the call has nofree, 
> but not nosync.

I've done this now, restoring the nofree in this case.

https://github.com/llvm/llvm-project/pull/196266
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to