[llvm-commits] patch: teach sroa to scalarize lifetime intrinsics

Nick Lewycky nicholas at mxc.ca
Thu Jul 21 01:32:34 PDT 2011


Ping!

The main thing I'm worried about is that isSafeForScalarRepl will now 
return true for values used by lifetime intrinsics, while only 
RewriteForScalarRepl knows how to rewrite them, not ConvertToScalarInfo. 
That's okay, right?

The other thing is the possible loss of performance due to chasing 
bitcasts to i8* in order to look for the intrinsics, but I don't see any 
obvious inefficiencies.

Updated for the type branch merge patch attached!

Nick

Nick Lewycky wrote:
> The attached patch extends sroa's ability to handle lifetime intrinsics.
> Despite the tests, I'm still not really confident that all the corner
> cases are handled properly and would appreciate a thorough review. I'm
> also unhappy with the innards of RewriteLifetimeIntrinsic() itself, but
> I don't see a way to straighten out the logic. Suggestions appreciated.
>
> Please review! This is another in the series of patches that should help
> PR10121, but there is still more to do in sroa.
>
> Nick
>
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits

-------------- next part --------------
A non-text attachment was scrubbed...
Name: sroa-lifetime-pt2-2.patch
Type: text/x-patch
Size: 8882 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20110721/505edd5d/attachment.bin>


More information about the llvm-commits mailing list