diff options
author | Kyle Butt <kyle+llvm@iteratee.net> | 2017-09-09 00:37:56 +0000 |
---|---|---|
committer | Kyle Butt <kyle+llvm@iteratee.net> | 2017-09-09 00:37:56 +0000 |
commit | 8c0314c3ed50b915113d0f4f64de0ead2286188d (patch) | |
tree | 885b613abb2d501408f0478c8670d47398b2a9d0 /clang/lib/Frontend/CompilerInstance.cpp | |
parent | 285c93666bb624997f67497059ab352de81e5b47 (diff) | |
download | bcm5719-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