aboutsummaryrefslogtreecommitdiff
path: root/libcxx/src/algorithm.cpp
diff options
context:
space:
mode:
authorMatt Arsenault <Matthew.Arsenault@amd.com>2014-08-15 17:49:05 +0000
committerMatt Arsenault <Matthew.Arsenault@amd.com>2014-08-15 17:49:05 +0000
commitb2baffaffd914c58375a682b567415f17b93f5bd (patch)
tree88129cdba519a4147cc493ea69b5b34f2b208dda /libcxx/src/algorithm.cpp
parentdbb84916d93c374c07943d4f0b96fbd28d489ca0 (diff)
downloadllvm-b2baffaffd914c58375a682b567415f17b93f5bd.zip
llvm-b2baffaffd914c58375a682b567415f17b93f5bd.tar.gz
llvm-b2baffaffd914c58375a682b567415f17b93f5bd.tar.bz2
R600/SI: Fix offset folding in some cases with shifted pointers.
Ordinarily (shl (add x, c1), c2) -> (add (shl x, c2), c1 << c2) is only done if the add has one use. If the resulting constant add can be folded into an addressing mode, force this to happen for the pointer operand. This ends up happening a lot because of how LDS objects are allocated. Since the globals are allocated next to each other, acessing the first element of the second object is directly indexed by a shifted pointer. llvm-svn: 215739
Diffstat (limited to 'libcxx/src/algorithm.cpp')
0 files changed, 0 insertions, 0 deletions