Files
clang-p2996/llvm/test/CodeGen/X86
Craig Topper ffd48e3c27 [SelectionDAG] Teach SelectionDAGBuilder's getUniformBase for gather/scatter handling to accept GEPs with more than 2 operands if the middle operands are all 0s
Currently we can only get a uniform base from a simple GEP with 2 operands. This causes us to miss address folding opportunities for simple global array accesses as the test case shows.

This patch adds support for larger GEPs if the other indices are 0 since those don't require any additional computations to be inserted.

We may also want to handle constant splats of zero here, but I'm leaving that for future work when I have a real world example.

Differential Revision: https://reviews.llvm.org/D39911

llvm-svn: 317947
2017-11-10 22:50:50 +00:00
..
2017-08-02 00:28:10 +00:00
2017-11-04 21:18:06 +00:00
2017-10-01 00:10:52 +00:00
2017-08-02 00:28:10 +00:00
2017-08-02 00:28:10 +00:00
2017-08-02 00:28:10 +00:00
2017-08-02 00:28:10 +00:00
2017-08-02 00:28:10 +00:00
2017-08-02 00:28:10 +00:00
2017-08-02 00:28:10 +00:00
2017-08-02 00:28:10 +00:00
2017-10-20 16:55:51 +00:00
2017-08-02 00:28:10 +00:00
2017-08-02 00:28:10 +00:00
2017-08-02 00:28:10 +00:00
2017-08-02 00:28:10 +00:00
2017-09-19 07:56:20 +00:00
2017-08-02 00:28:10 +00:00
2017-08-25 19:25:03 +00:00
2017-08-25 19:25:03 +00:00
2017-08-02 00:28:10 +00:00
2017-08-02 00:28:10 +00:00
2017-09-19 13:43:09 +00:00
2017-08-02 00:28:10 +00:00
2017-08-02 00:28:10 +00:00
2017-08-02 00:28:10 +00:00
2017-08-02 00:28:10 +00:00
2017-08-02 00:28:10 +00:00
2017-08-02 00:28:10 +00:00
2017-08-02 00:28:10 +00:00
2017-08-02 00:28:10 +00:00
2017-08-02 00:28:10 +00:00
2017-08-02 00:28:10 +00:00
2017-08-02 00:28:10 +00:00
2017-08-02 00:28:10 +00:00
2017-08-02 00:28:10 +00:00
2017-08-02 00:28:10 +00:00
2017-08-02 00:28:10 +00:00
2017-08-02 00:28:10 +00:00
2017-08-02 00:28:10 +00:00
2017-08-02 00:28:10 +00:00
2017-08-02 00:28:10 +00:00
2017-08-02 00:28:10 +00:00
2017-09-09 20:22:35 +00:00
2017-09-08 10:49:11 +00:00
2017-08-02 00:28:10 +00:00
2017-08-02 00:28:10 +00:00
2017-11-10 12:32:34 +00:00
2017-11-07 13:21:02 +00:00
2017-08-02 00:28:10 +00:00
2017-08-02 00:28:10 +00:00
2017-08-02 00:28:10 +00:00
2017-08-02 00:28:10 +00:00
2017-08-02 00:28:10 +00:00
2017-08-02 00:28:10 +00:00
2017-10-16 14:33:51 +00:00
2017-08-02 00:28:10 +00:00
2017-08-02 00:28:10 +00:00
2017-08-02 00:28:10 +00:00
2017-10-18 13:51:31 +00:00
2017-08-02 00:28:10 +00:00
2017-08-02 00:28:10 +00:00