summaryrefslogtreecommitdiffstats
path: root/llvm/lib/IR/Function.cpp
diff options
context:
space:
mode:
authorJustin Lebar <jlebar@google.com>2016-07-27 23:06:00 +0000
committerJustin Lebar <jlebar@google.com>2016-07-27 23:06:00 +0000
commit37f4e0e096df8497c5b55d91585c1b7d98954fe2 (patch)
treea1b0eb17c12c87f7e947c6bbd12cccdb160a3b41 /llvm/lib/IR/Function.cpp
parent18286cfb7445b12c8d0bab4505bd745a9c9cee60 (diff)
downloadbcm5719-llvm-37f4e0e096df8497c5b55d91585c1b7d98954fe2.tar.gz
bcm5719-llvm-37f4e0e096df8497c5b55d91585c1b7d98954fe2.zip
[LSV] Use Instruction*s rather than Value*s where possible.
Summary: Given the crash in D22878, this patch converts the load/store vectorizer to use explicit Instruction*s wherever possible. This is an overall simplification and should be an improvement in safety, as we have fewer naked cast<>s, and now where we use Value*, we really mean something different from Instruction*. This patch also gets rid of some cast<>s around Value*s returned by Builder. Given that Builder constant-folds everything, we can't assume much about what we get out of it. One downside of this patch is that we have to copy our chain before calling propagateMetadata. But I don't think this is a big deal, as our chains are very small (usually 2 or 4 elems). Reviewers: asbirlea Subscribers: mzolotukhin, llvm-commits, arsenm Differential Revision: https://reviews.llvm.org/D22887 llvm-svn: 276938
Diffstat (limited to 'llvm/lib/IR/Function.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud