[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