- Apr 04, 2020
-
-
Sylvain Audi authored
Added unit tests for 2 scenarios that were failing. Made replace_path_prefix back to 3 parameters instead of 5, simplifying the implementation. The other 2 were always used with the default value. This commit is intended to be the first of 3: 1) simplify/fix replace_path_prefix. 2) use it in the context of -fdebug-prefix-map and -fmacro-prefix-map (see D76869). 3) Make Windows version of replace_path_prefix insensitive to both case and separators (slash vs backslash). Differential Revision: https://reviews.llvm.org/D77223
-
Louis Dionne authored
The testing script used to test libc++ historically did not like directories without any testing files, so these tests had been added. Since this is not necessary anymore, we can now remove these files. This has the benefit that the total number of tests reflects the real number of tests more closely, and we also skip some unnecessary work (especially relevant when running tests over SSH). However, some nothing_to_do.pass.cpp tests actually serve the purpose of documenting that an area of the Standard doesn't need to be tested, or is tested elsewhere. These files are not removed by this commit. Removal done with: import os import itertools for (dirpath, dirnames, filenames) in itertools.chain(os.walk('./libcxx/test'), os.walk('./libcxxabi/test')): if len(filenames + dirnames) > 1 and \ any(p == 'nothing_to_do.pass.cpp' for p in filenames): os.remove(os.path.join(dirpath, 'nothing_to_do.pass.cpp')) -
Stephen Neuendorffer authored
This reverts commit ae044c5b. This breaks the buildbots, which use an older version of cmake.
-
Stephen Neuendorffer authored
Previously, the tablegen() cmake command, which defines custom commands for running tablegen, included several hardcoded paths. This becomes unwieldy as there are more users for which these paths are insufficient. For most targets, cmake uses include_directories() and the INCLUDE_DIRECTORIES directory property to specify include paths. This change picks up the INCLUDE_DIRECTORIES property and adds it to the include path used when running tablegen. As a side effect, this allows us to remove several hard coded paths to tablegen that are redundant with specified include_directories(). I haven't removed the hardcoded path to CMAKE_CURRENT_SOURCE_DIR, which seems generically useful. There are several users in clang which apparently don't have the current directory as an include_directories(). This could be considered separately. Differential Revision: https://reviews.llvm.org/D77156
-
Simon Pilgrim authored
Extend lowerShuffleWithPACK/matchShuffleWithPACK/createPackShuffleMask to handle compaction style shuffle masks that can be lowered to chains of PACKSS/PACKUS if their inputs are suitably sign/zero extended. This helps avoid PSHUFB (and its mask load) for short shuffle chains, shuffle combining will still replace with a PSHUFB if we have enough shuffles as getFauxShuffleMask should recognise the PACKSS/PACKUS chains.
-
Roman Lebedev authored
As discussed in post-commit review in https://reviews.llvm.org/D73501 if the goal of this is to help vectorizer, then we should actually be teaching vectorizer to do this, because right now this rewrite is still budget-limited, which isn't what we'd want. Additionally, while the rest of the patch series was universally profitable, this particular patch is reportedly (https://reviews.llvm.org/D73501#1905171) exposing cost-modeling issues on ARM. So let's just back this particular patch out. Once there's an undo transform, this could be considered for reintegration. This reverts commit 44edc6fd.
-
Roman Lebedev authored
They are really not codegen tests.
-
Simon Pilgrim authored
-
Michael Liao authored
Summary: - `RegisterVar` has `void` return type and `size_t` in its variable size parameter in HIP or CUDA 9.0+. Reviewers: tra, yaxunl Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D77398
-
Simon Pilgrim authored
Load of copy+paste errors in the label checks that needed fixing before the missing ":" could be added
-
Sanjay Patel authored
We got some of the potential optimizations with D76727 and D76844. There are 2 likely enhancements that we could add to -vector-combine to get most of the remaining cases: 1. Allow bitcasted shuffle mask narrowing (widen the elements). 2. Combine shuffle-of-shuffle into a single shuffle. This is already partly handled by the x86 backend, but the tests here show that we still miss some of the potential combines.
-
John Brawn authored
Currently when the target is big-endian vmov.i64 reverses the order of the two words of the vector. This is correct only when the underlying element type is 32-bit, as actually what it should be doing is considering it a vector of the underlying type and reversing the elements of that. Differential Revision: https://reviews.llvm.org/D76515
-
John Brawn authored
If we have an element-wise vmov immediate instruction then a subsequent vrev with width greater or equal to the vmov element width, then that vrev won't do anything. Add a DAG combine to convert bitcasts that would become such vrevs into vector_reg_casts instead. Differential Revision: https://reviews.llvm.org/D76514
-
John Brawn authored
This is in preparation for D76514
-
Simon Pilgrim authored
-
Jonas Devlieghere authored
LLDB relies on empty FileSpecs being invalid files, for example, they don't exists. Currently this assumption does not always hold during reproducer replay, because we pass the result of GetPath to the VFS. This is an empty string, which the VFS converts to an absolute directory by prepending the current working directory, before looking it up in the YAML mapping. This means that an empty FileSpec will exist when the current working directory does. This breaks at least one test (TestAddDsymCommand.py) when ran from replay. This patch special cases empty FileSpecs and returns a sensible result before calling GetPath and forwarding the call. Differential revision: https://reviews.llvm.org/D77351
-
Jonas Devlieghere authored
This reimplements Symbols::FindSymbolFileInBundle to use the VFS-aware recursive directory iterator. This is needed for reproducer replay. Differential revision: https://reviews.llvm.org/D77337
-
Simon Pilgrim authored
-
Simon Pilgrim authored
I had to manually edit the file as the update script won't strip checks that don't have the ":" immediately after the prefix
-
- Apr 03, 2020
-
-
Matt Arsenault authored
-
Fangrui Song authored
Fixes https://bugs.llvm.org/show_bug.cgi?id=45370 Fixes https://github.com/Clozure/ccl/issues/273 .stab holds a table of 12-byte entries. GNU as before 2.35 incorrectly sets sh_entsize(.stab) to 20 on 64-bit architectures: https://sourceware.org/bugzilla/show_bug.cgi?id=25768 We should not emit the confusing error: "SHF_MERGE section size (...) must be a multiple of sh_entsize (20) Reviewed By: grimar, psmith Differential Revision: https://reviews.llvm.org/D77368
-
Simon Pilgrim authored
-
Louis Dionne authored
This new test format is simpler and more flexible. It creates Lit ShTests on the fly that reuse existing substitutions (like %{cxx}) instead of having complex logic in Python to run the tests. This has the benefit that virtually no coding is required to customize how the test suite is run -- one can achieve pretty much anything by defining the appropriate substitutions in a simple lit.cfg file. For example, in order to run the tests on an embedded device after building with a specific SDK, one can set the %{cxx} and %{compile_flags} substitutions to use that SDK, and the %{exec} substitution to the ssh.py script currently used for .sh.cpp tests with a remote executor. Dealing with the SSHExecutor becomes unnecessary, since all tests are treated like ShTests. As a side effect of this design, configuration files for the test suite can be as simple as: config.substitutions.append(('%{cxx}', '<path-to-compiler>')) config.substitutions.append(('%{compile_flags}'... -
Sam McCall authored
Summary: This matches llvm::VectorType. It moves the size from the type bitfield into VectorType, increasing size by 8 bytes (including padding of 4). This is OK as we don't expect to create terribly many of these types. c.f. D77313 which enables large power-of-two sizes without growing VectorType. Reviewers: efriedma, hokein Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D77335
-
Ilya Leoshkevich authored
Summary: MSan not implementing COMMON_INTERCEPTOR_NOTHING_IS_INITIALIZED looks like an omission - this macro makes it possible for those intercepted functions, which libc needs very early, to work before interceptors are initialized (i.e. before REAL() is usable). While currently there are no observable practical problems in this area, changes in libc or in MSan runtime may provoke them. Therefore, change MSan to work like ASan and TSan already do - use internal functions in certain interceptors when initialization is not complete. Reviewers: eugenis, vitalybuka Reviewed By: eugenis Subscribers: #sanitizers Tags: #sanitizers Differential Revision: https://reviews.llvm.org/D76969
-
Simon Pilgrim authored
-
Simon Pilgrim authored
-
Simon Pilgrim authored
-
Simon Pilgrim authored
-
Benjamin Kramer authored
Same funcitonality, but a bit friendlier for users passing it along to APIs that take ArrayRefs.
-
Louis Dionne authored
This test regressed with 5ade17e0, but we never noticed it because .pass.mm tests were skipped due to a bug in our Lit config. This commit fixes is_pointer (by essentially reverting tha part of 5ade17e0) and also adds .pass.mm tests to the list of supported test suffixes. We can explore how to support __is_pointer with Objective-C++ qualifiers as a follow-up -- the main goal of this commit is to fix the regression quickly and make sure all tests of the suite are run.
-
Guillaume Chatelet authored
-
Louis Dionne authored
AppleClang seems to support these extensions by default, but other compilers don't.
-
-
Simon Pilgrim authored
-
Simon Pilgrim authored
-
Sid Manning authored
A PC-relative relocation referencing a non-preemptible absolute symbol (due to STT_TLS) is not representable in -pie/-shared mode. Differential Revision: https://reviews.llvm.org/D77021
-
LLVM GN Syncbot authored
-
Sam McCall authored
Reviewers: hokein Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, kadircet, usaxena95, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D77348
-
Kadir Cetinkaya authored
This reverts commit 31b6e182. As it was breaking `arc diff` workflow for multiple people.
-