- Jan 23, 2015
-
-
Richard Smith authored
* Put all input files under Inputs/, move corresponding tests into test/Modules. * Rename a modulemap test file to [...].modulemap, and teach lit that such files are tests. llvm-svn: 226875
-
Duncan P. N. Exon Smith authored
These things are potentially used for non-DWARF data (see the discussion in PR22235), so take the `Dwarf` out of the name. Since the new name gives fewer clues, update the doxygen to properly describe what they are. llvm-svn: 226874
-
Simon Pilgrim authored
Minor tweak now that D7042 is complete, we can enable stack folding for (V)MOVDDUP and do proper testing. Added missing AVX ymm folding patterns and fixed alignment for AVX VMOVSLDUP / VMOVSHDUP. llvm-svn: 226873
-
Simon Pilgrim authored
llvm-svn: 226872
-
Simon Pilgrim authored
Removed loops from PSUBUS tests - ensures folding is tested. Also renamed SSE2 tests SSSE3 to match cpu. This is a follow up commit agreed in http://reviews.llvm.org/D7094 llvm-svn: 226871
-
Hans Wennborg authored
Previously, Clang would fail to warn on: int n = x + foo ? 1 : 2; when foo is a pointer. llvm-svn: 226870
-
Lang Hames authored
both hidden and default. Bug found by inspection by Rafael Espindola. No test: As discussed in the commit message for r226217 we don't have a good way to test this yet. llvm-svn: 226869
-
Chandler Carruth authored
I had already factored this analysis specifically to enable doing this, but hadn't actually committed the necessary wiring to get at this from the new pass manager. This also nicely shows how the separate cache object can be directly managed by the new pass manager. This analysis didn't have any direct tests and so I've added a printer pass and a boring test case. I chose to print the i1 value which is being assumed rather than the call to llvm.assume as that seems much more useful for testing... but suggestions on an even better printing strategy welcome. My main goal was to make sure things actually work. =] llvm-svn: 226868
-
Benjamin Kramer authored
llvm-svn: 226867
-
Duncan P. N. Exon Smith authored
During `MDNode::deleteTemporary()`, call `replaceAllUsesWith(nullptr)` to update all tracking references to `nullptr`. This fixes PR22280, where inverted destruction order between tracking references and the temporaries themselves caused a use-after-free in `LLParser`. An alternative fix would be to add an assertion that there are no users, and continue to fix inverted destruction order in clients (like `LLParser`), but instead I decided to make getting-teardown-right easy. (If someone disagrees let me know.) llvm-svn: 226866
-
Francisco Lopes da Silva authored
llvm-svn: 226865
-
Chris Bieneman authored
Summary: Some parsers need references back to the option they are members of. This is used for handling the argument string as well as by the various pass name parsers for making pass names into flags. Making parsers that need to refer back to the option have a reference to the option eliminates some of the members of various parsers, and enables further code cleanup. Reviewers: dexonsmith Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D7131 llvm-svn: 226864
-
Joerg Sonnenberger authored
really help. Improve diagnostics. llvm-svn: 226863
-
Rafael Espindola authored
Looks like environ is defined only in the main binary. llvm-svn: 226862
-
Ramkumar Ramachandra authored
Make it clear that the "llvm.org" style is deriving from "gnu" style, and use the c-mode-common-hook instead of c-mode-hook and c++-mode-hook. Differential Revision: http://reviews.llvm.org/D7035 llvm-svn: 226861
-
Enrico Granata authored
llvm-svn: 226860
-
Zachary Turner authored
On Windows we copy python27(_d).dll to the bin directory. We do this by looking at the PYTHON_LIBRARY specified by the user, which is something like C:\foo\python27_d.lib, and replacing ".lib" with ".dll". But ".lib" as a regex will also match "flib", etc. So make this a literal . instead of a wildcard . llvm-svn: 226858
-
Ramkumar Ramachandra authored
Specifically, gc.result benefits from this greatly. Instead of: gc.result.int.* gc.result.float.* gc.result.ptr.* ... We now have a gc.result.* that can specialize to literally any type. Differential Revision: http://reviews.llvm.org/D7020 llvm-svn: 226857
-
Oleksiy Vyalov authored
http://reviews.llvm.org/D7115 llvm-svn: 226856
-
Eric Fiselier authored
Summary: The main section of this patch teaches CMake a new option `LIBCXXABI_LIBCXX_PATH` that specifies the path to the libcxx source root. This information is passed to lit so that it can better find libc++'s python module. `LIBCXXABI_LIBCXX_PATH` is also used to help find the libc++ headers. The rest of this patch is misc cleanup, mostly to make pep8 and pylint happy. I've also copied libc++'s .gitignore into libc++abi. Reviewers: jroelofs, danalbert Reviewed By: danalbert Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D7130 llvm-svn: 226855
-
Enrico Granata authored
Add a benchmark test case that shows how much slower repeat 'continue' commands are than going through the SB API directly llvm-svn: 226852
-
Zachary Turner authored
This matches the behavior of the default constructor, so is technically more correct. Patch by Chaoren Lin Differential Revision: http://reviews.llvm.org/D7113 llvm-svn: 226851
-
Reid Kleckner authored
This reverts commit r176827. Björn Steinbrink pointed out that this didn't actually fix the bug (PR15555) it was attempting to fix. With this reverted, we can now remove landingpad cleanups that immediately resume unwinding, converting the invoke to a call. llvm-svn: 226850
-
Zachary Turner authored
When you create a target, it tries to look for the platform's list of supported architectures for a match. The match it finds can contain specific triples, like i386-pc-windows-msvc. Later, we overwrite this value with the most generic triple that can apply to any platform with COFF support, causing some of the fields of the triple to get overwritten. This patch changes the behavior to only merge in values from the COFF triple if the fields of the matching triple were unknown/unspecified to begin with. This fixes load address resolution on Windows, since it enables the DynamicLoaderWindows to be used instead of DynamicLoaderStatic. Reviewed by: Greg Clayton Differential Revision: http://reviews.llvm.org/D7120 llvm-svn: 226849
-
Kevin Enderby authored
Add the option, -indirect-symbols, used with -macho to print the Mach-O indirect symbol table to llvm-objdump. llvm-svn: 226848
-
Marshall Clow authored
Fix PR#22284. Add a new overload to deque::insert to handle forward iterators. Update tests to exercise this case. llvm-svn: 226847
-
Greg Clayton authored
Fix the -*-version-min option to not try and use the current OS version for iOS and the simulator since llvm/clang will assert and kill LLDB. llvm-svn: 226846
-
Sanjay Patel authored
This is a 2nd try at the same optimization as http://reviews.llvm.org/D6698. That patch was checked in at r224611, but reverted at r225031 because it caused a failure outside of the regression tests. The cause of the crash was not recognizing consecutive stores that have mixed source values (loads and vector element extracts), so this patch adds a check to bail out if any store value is not coming from a vector element extract. This patch also refactors the shared logic of the constant source and vector extracted elements source cases into a helper function. Differential Revision: http://reviews.llvm.org/D6850 llvm-svn: 226845
-
Eric Fiselier authored
Summary: This patch allows the use of LIT's ShTest format in the libc++ test suite. ShTests have the suffix '.sh.cpp'. It also introduces a series of other changes. These changes are: - More functionality including parsing test metadata has been moved into LIT. - LibcxxTestFormat now supports multi-part suffixes. - the `CXXCompiler` functionality has been used to shrink the size of LibcxxTestFormat. - The recursive loading of the site config has been turned into `libcxx.test.config.loadSiteConfig` so it can be used with libc++abi. - Temporary files are now created in the build directory of libc++. This follows how it is down in ShTest. - `not.py` was added as a utility executable that mirrors the functionality of LLVM's `not` executable. - The first ShTest test was added under test/libcxx/double_include.sh.cpp Reviewers: jroelofs, danalbert Reviewed By: danalbert Subscribers: cfe-commits Differential Revision: http://reviews.ll...
-
Adrian Prantl authored
llvm-svn: 226843
-
David Blaikie authored
Revert "PR21408: Workaround the appearance of duplicate variables due to problems when inlining two calls to the same function from the same call site." The underlying bug has been fixed in r226736 so there's no need to workaround this anymore. This reverts commit r220923. llvm-svn: 226842
-
Tim Northover authored
Currently, we're adding a uint64_t describing the current subtarget so that matching can check whether the specified register is valid. However, we want to move to a bitset for those bits (x86 has more than 64 of them). This can't live in a union so it's probably better to do the checks early (especially as there are only 3 of them). llvm-svn: 226841
-
Adrian Prantl authored
llvm-svn: 226838
-
Adrian Prantl authored
llvm-svn: 226837
-
Adrian Prantl authored
NFC. llvm-svn: 226836
-
Adrian Prantl authored
Addresses review feedback from Duncan. llvm-svn: 226835
-
Adrian Prantl authored
llvm-svn: 226834
-
- Jan 22, 2015
-
-
Evgeniy Stepanov authored
llvm-svn: 226832
-
Timur Iskhodzhanov authored
llvm-svn: 226831
-
Rafael Espindola authored
The ELF format is used on Windows by the MCJIT engine. Thus, on Windows, the ELFObjectWriter can encounter symbols mangled using the MS Visual Studio C++ name mangling. Symbols mangled using the MSVC C++ name mangling can legally have "@@@" as a substring. The EFLObjectWriter should not interpret the "@@@" substring as specifying GNU-style symbol versioning. The ELFObjectWriter therefore check for the MSVC C++ name mangling prefix which is either "?", "@?", "imp_?" or "imp_?@". llvm-svn: 226830
-