summaryrefslogtreecommitdiffstats
path: root/clang/lib/Frontend/CompilerInstance.cpp
diff options
context:
space:
mode:
authorKyle Butt <kyle+llvm@iteratee.net>2017-09-09 00:37:56 +0000
committerKyle Butt <kyle+llvm@iteratee.net>2017-09-09 00:37:56 +0000
commit8c0314c3ed50b915113d0f4f64de0ead2286188d (patch)
tree885b613abb2d501408f0478c8670d47398b2a9d0 /clang/lib/Frontend/CompilerInstance.cpp
parent285c93666bb624997f67497059ab352de81e5b47 (diff)
downloadbcm5719-llvm-8c0314c3ed50b915113d0f4f64de0ead2286188d.tar.gz
bcm5719-llvm-8c0314c3ed50b915113d0f4f64de0ead2286188d.zip
PPC: Don't select lxv/stxv for insufficiently aligned stack slots.
The lxv/stxv instructions require an offset that is 0 % 16. Previously we were selecting lxv/stxv for loads and stores to the stack where the offset from the slot was a multiple of 16, but the stack slot was not 16 or more byte aligned. When the frame gets lowered these transform to r(1|31) + slot + offset. If slot is not aligned, slot + offset may not be 0 % 16. Now we require 16 byte or more alignment for select lxv/stxv to stack slots. Includes a testcase that shows both sufficiently and insufficiently aligned stack slots. llvm-svn: 312843
Diffstat (limited to 'clang/lib/Frontend/CompilerInstance.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud