summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test/commands/expression/anonymous-struct
diff options
context:
space:
mode:
authorPhilip Reames <listmail@philipreames.com>2019-09-09 20:54:13 +0000
committerPhilip Reames <listmail@philipreames.com>2019-09-09 20:54:13 +0000
commit7403569be75176c9bf76d65a4e97a66ebe01165a (patch)
treea5ae1ac94fc4105ea47c1f64524558b1d218a8ff /lldb/packages/Python/lldbsuite/test/commands/expression/anonymous-struct
parent589273bebd44c3fcc09d2ad87b259dcaff30d299 (diff)
downloadbcm5719-llvm-7403569be75176c9bf76d65a4e97a66ebe01165a.tar.gz
bcm5719-llvm-7403569be75176c9bf76d65a4e97a66ebe01165a.zip
[LoopVectorize] Leverage speculation safety to avoid masked.loads
If we're vectorizing a load in a predicated block, check to see if the load can be speculated rather than predicated. This allows us to generate a normal vector load instead of a masked.load. To do so, we must prove that all bytes accessed on any iteration of the original loop are dereferenceable, and that all loads (across all iterations) are properly aligned. This is equivelent to proving that hoisting the load into the loop header in the original scalar loop is safe. Note: There are a couple of code motion todos in the code. My intention is to wait about a day - to be sure this sticks - and then perform the NFC motion without furthe review. Differential Revision: https://reviews.llvm.org/D66688 llvm-svn: 371452
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/commands/expression/anonymous-struct')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud