summaryrefslogtreecommitdiff
path: root/contrib/llvm-project/llvm/lib/Transforms/Scalar
Commit message (Collapse)AuthorAgeFilesLines
* Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmpDimitry Andric2020-07-311-0/+8
| | | | | | | release/11.x llvmorg-11.0.0-rc1-25-g903c872b169. Notes: svn path=/projects/clang1100-import/; revision=363746
* Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmpDimitry Andric2020-07-311-30/+91
| | | | | | | release/11.x llvmorg-11-init-20933-g3c1fca803bc. Notes: svn path=/projects/clang1100-import/; revision=363743
* Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmpDimitry Andric2020-07-3161-3988/+6508
| | | | | | | | | | | | master 2e10b7a39b9, the last commit before the llvmorg-12-init tag, from which release/11.x was branched. Note that for now, I rolled back all our local changes to make merging easier, and I will reapply the still-relevant ones after updating to 11.0.0-rc1. Notes: svn path=/projects/clang1100-import/; revision=363742
* Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmpDimitry Andric2020-06-201-34/+60
| | | | | | | | | | llvmorg-10.0.0-97-g6f71678ecd2 (not quite 10.0.1 rc2, as more fixes are still pending). MFC after: 3 weeks Notes: svn path=/head/; revision=362445
* Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmpDimitry Andric2020-05-231-0/+15
| | | | | | | | | llvmorg-10.0.1-rc1-0-gf79cd71e145 (aka 10.0.1 rc1). MFC after: 3 weeks Notes: svn path=/head/; revision=361410
* Merge commit b8ebc11f0 from llvm git (by Sanjay Patel):Dimitry Andric2020-03-181-7/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [EarlyCSE] avoid crashing when detecting min/max/abs patterns (PR41083) As discussed in PR41083: https://bugs.llvm.org/show_bug.cgi?id=41083 ...we can assert/crash in EarlyCSE using the current hashing scheme and instructions with flags. ValueTracking's matchSelectPattern() may rely on overflow (nsw, etc) or other flags when detecting patterns such as min/max/abs composed of compare+select. But the value numbering / hashing mechanism used by EarlyCSE intersects those flags to allow more CSE. Several alternatives to solve this are discussed in the bug report. This patch avoids the issue by doing simple matching of min/max/abs patterns that never requires instruction flags. We give up some CSE power because of that, but that is not expected to result in much actual performance difference because InstCombine will canonicalize these patterns when possible. It even has this comment for abs/nabs: /// Canonicalize all these variants to 1 pattern. /// This makes CSE more likely. (And this patch adds PhaseOrdering tests to verify that the expected transforms are still happening in the standard optimization pipelines. I left this code to use ValueTracking's "flavor" enum values, so we don't have to change the callers' code. If we decide to go back to using the ValueTracking call (by changing the hashing algorithm instead), it should be obvious how to replace this chunk. Differential Revision: https://reviews.llvm.org/D74285 This fixes an assertion when building the math/gsl port on PowerPC64. Requested by: pkubja MFC after: 6 weeks X-MFC-With: 358851 Notes: svn path=/head/; revision=359086
* Merge ^/vendor/llvm-project/release-10.x up to its last change (upstreamDimitry Andric2020-03-051-0/+4
| | | | | | | commit llvmorg-10.0.0-rc3-1-gc290cb61fdc), and bump versions. Notes: svn path=/projects/clang1000-import/; revision=358682
* Merge ^/vendor/llvm-project/release-10.x up to its last change (upstreamDimitry Andric2020-02-272-51/+8
| | | | | | | commit llvmorg-10.0.0-rc2-70-ge5cb70267e7), and bump versions. Notes: svn path=/projects/clang1000-import/; revision=358399
* Merge ^/vendor/lvm-project/master up to its last change (upstream commitDimitry Andric2020-01-2472-1568/+2122
| | | | | | | e26a78e70), and resolve conflicts. Notes: svn path=/projects/clang1000-import/; revision=357095
* Merge ^/vendor/llvm/dist up to its last change, and resolve conflicts.Dimitry Andric2020-01-2254-888/+3052
| | | | Notes: svn path=/projects/clang1000-import/; revision=356992
* Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmpDimitry Andric2019-12-223-3/+53
| | | | | | | | | | | | | | | | | | 9.0.1 final release c1a0a213378a458fbea1a5c77b315c7dce08fd05. Release notes for llvm, clang, lld and libc++ 9.0.1 will become available here: https://releases.llvm.org/9.0.1/docs/ReleaseNotes.html https://releases.llvm.org/9.0.1/tools/clang/docs/ReleaseNotes.html https://releases.llvm.org/9.0.1/tools/lld/docs/ReleaseNotes.html https://releases.llvm.org/9.0.1/projects/libcxx/docs/ReleaseNotes.html PR: 240629 MFC after: 1 month Notes: svn path=/head/; revision=356004
* Move all sources from the llvm project into contrib/llvm-project.Dimitry Andric2019-12-2073-0/+77676
This uses the new layout of the upstream repository, which was recently migrated to GitHub, and converted into a "monorepo". That is, most of the earlier separate sub-projects with their own branches and tags were consolidated into one top-level directory, and are now branched and tagged together. Updating the vendor area to match this layout is next. Notes: svn path=/head/; revision=355940