aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Target/PowerPC/Disassembler/PPCDisassembler.cpp
diff options
context:
space:
mode:
authorPhilip Reames <listmail@philipreames.com>2015-04-10 21:48:25 +0000
committerPhilip Reames <listmail@philipreames.com>2015-04-10 21:48:25 +0000
commit8531d8c491aca1209f0ce9c4431a263c9c54c589 (patch)
tree10446595a540f0db727316cfd85da4ca0c4eae26 /llvm/lib/Target/PowerPC/Disassembler/PPCDisassembler.cpp
parent8330835197d3e2f459fdf6a5978c79aa59372948 (diff)
downloadllvm-8531d8c491aca1209f0ce9c4431a263c9c54c589.zip
llvm-8531d8c491aca1209f0ce9c4431a263c9c54c589.tar.gz
llvm-8531d8c491aca1209f0ce9c4431a263c9c54c589.tar.bz2
[RewriteStatepointsForGC] Limited support for vectors of pointers
This patch adds limited support for inserting explicit relocations when there's a vector of pointers live over the statepoint. This doesn't handle the case where the vector contains a mix of base and non-base pointers; that's future work. The current implementation just scalarizes the vector over the gc.statepoint before doing the explicit rewrite. An alternate approach would be to plumb the vector all the way though the backend lowering, but doing that appears challenging. In particular, the size of the indirect spill slot is currently assumed to be sizeof(pointer) throughout the backend. In practice, this is enough to allow running the SLP and Loop vectorizers before RewriteStatepointsForGC. Differential Revision: http://reviews.llvm.org/D8671 llvm-svn: 234647
Diffstat (limited to 'llvm/lib/Target/PowerPC/Disassembler/PPCDisassembler.cpp')
0 files changed, 0 insertions, 0 deletions