diff options
author | Fraser Cormack <fraser@codeplay.com> | 2021-10-18 15:16:56 +0100 |
---|---|---|
committer | Fraser Cormack <fraser@codeplay.com> | 2021-10-29 18:27:31 +0100 |
commit | 8314a04ede9ba1ddc03bfec24bf6431ff9a8c609 (patch) | |
tree | 52768dac8ccc82f6dc5092dbb16da81e981dff6e /llvm/lib/Support/Path.cpp | |
parent | 3b285ff5172c734240a96a12bd7a2d125136efef (diff) | |
download | llvm-8314a04ede9ba1ddc03bfec24bf6431ff9a8c609.zip llvm-8314a04ede9ba1ddc03bfec24bf6431ff9a8c609.tar.gz llvm-8314a04ede9ba1ddc03bfec24bf6431ff9a8c609.tar.bz2 |
[SelectionDAG] Allow FindMemType to fail when widening loads & stores
This patch removes an internal failure found in FindMemType and "bubbles
it up" to the users of that method: GenWidenVectorLoads and
GenWidenVectorStores. FindMemType -- renamed findMemType -- now returns
an optional value, returning None if no such type is found.
Each of the aforementioned users now pre-calculates the list of types it
will use to widen the memory access. If the type breakdown is not
possible they will signal a failure, at which point the compiler will
crash as it does currently.
This patch is preparing the ground for alternative legalization
strategies for vector loads and stores, such as using vector-predication
versions of loads or stores.
Reviewed By: RKSimon
Differential Revision: https://reviews.llvm.org/D112000
Diffstat (limited to 'llvm/lib/Support/Path.cpp')
0 files changed, 0 insertions, 0 deletions