[PATCH][DAGCombiner] Split up an indexed load if only the base pointer value is live
Adam Nemet
anemet at apple.com
Mon May 5 11:42:25 PDT 2014
Ping.
+ for (SDNode *U : N->uses())
+ AddToWorkList(U);
For the review, please consider this written as: AddUsersToWorkList(N)
On Apr 24, 2014, at 5:09 PM, Adam Nemet <anemet at apple.com> wrote:
> Right now the load may not get DCE'd because of the side-effect of updating
> the base pointer.
>
> This can happen if we lower a read-modify-write of an illegal larger type
> (e.g. i48) such that the modification only affects one of the subparts (the
> lower i32 part but not the higher i16 part). See the testcase.
>
> In order to spot the dead load we need to revisit it when SimplifyDemandedBits
> decided that the value of the load is masked off. This is the
> CommitTargetLoweringOpt piece.
>
> I checked compile time with ARM64 by sending SPEC bitcode files through llc.
> No measurable change.
>
> Fixes <rdar://problem/16031651>
>
> Adam
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: DAGCombiner-Split-up-an-indexed-load-if-only-the-bas.patch
Type: application/octet-stream
Size: 4614 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140505/42032d81/attachment.obj>
-------------- next part --------------
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
More information about the llvm-commits
mailing list