[PATCH] D33675: [DAG] Do MergeConsecutiveStores again before Instruction Selection

Nirav Davé via llvm-commits llvm-commits at lists.llvm.org
Thu Nov 30 21:09:13 PST 2017


https://reviews.llvm.org/D40701


On Thu, Nov 30, 2017 at 5:14 PM, Evgeny Astigeevich via Phabricator <
reviews at reviews.llvm.org> wrote:

> eastig added a comment.
>
> A reproducer:
> F5625162: test.ll <https://reviews.llvm.org/F5625162>
>
>   $ cat test.ll
>   ...
>     %v304 = getelementptr inbounds i8, i8* %v50, i32 508
>     store i8 -4, i8* %v304, align 1
>     %v305 = getelementptr inbounds i8, i8* %v50, i32 509
>     store i8 -3, i8* %v305, align 1
>     %v306 = getelementptr inbounds i8, i8* %v50, i32 510
>     store i8 -2, i8* %v306, align 1
>     %v307 = getelementptr inbounds i8, i8* %v50, i32 511
>     store i8 -1, i8* %v307, align 1
>   ...
>   $ llc -O3 -filetype=asm -o test.s test.ll
>   $ cat test.s
>   ...
>           movs    r1, #251
>           strb.w  r1, [r0, #507]
>           mvn     r1, #3 <========= HERE the problem: -4, -1, -1, -1 is
> written instead of -4, -3, -2, -1
>           str.w   r1, [r0, #508]
>           bx      lr
>   .Lfunc_end0:
>           .size   test, .Lfunc_end0-test
>           .cantunwind
>           .fnend
>   ...
>
>
> Repository:
>   rL LLVM
>
> https://reviews.llvm.org/D33675
>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20171201/1fb6038e/attachment.html>


More information about the llvm-commits mailing list