summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [SCEV] Use for-each; NFCSanjoy Das2015-12-081-19/+13
| | | | llvm-svn: 255069
* Fix typoXinliang David Li2015-12-081-1/+1
| | | | llvm-svn: 255068
* [PPC64, TSAN] Enable thread sanitizer for PPC64Bill Schmidt2015-12-081-1/+1
| | | | | | | | Patch by Simone Atzeni. This enables the -fsanitize=thread flag for PPC64 and PPC64LE. llvm-svn: 255067
* Objective-C properties: fix bogus use of "isa<>" on a QualType.Douglas Gregor2015-12-082-6/+15
| | | | | | | | | The code used "isa" to check the type and then "getAs" to look through sugar; we need to look through the sugar when checking, too, otherwise any kind of sugar (nullability qualifiers in the example; or a typedef) will thwart this semantic check. Fixes rdar://problem/23804250. llvm-svn: 255066
* Module file extensions: pass a Sema through to the extension writer.Douglas Gregor2015-12-085-8/+14
| | | | | | | | Module file extensions are likely to need access to Sema/Preprocessor/ASTContext, and cannot get it through other sources. llvm-svn: 255065
* Remove caching in FunctionImport: a Module can't be reused after being ↵Mehdi Amini2015-12-082-43/+20
| | | | | | | | | linked from The Linker destroys the source module (API change coming to make it explicit) From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 255064
* Revert "[CGP] Check that we have an insert point before moving ↵Reid Kleckner2015-12-082-65/+4
| | | | | | | | | | llvm.dbg.value around" This reverts commit r255055. Breakage has been reported. llvm-svn: 255063
* [OperandBundles] Fix a transform in simplifycfgSanjoy Das2015-12-082-2/+19
| | | | | | | | | | Reviewers: pcc, majnemer, reames Subscribers: reames, llvm-commits Differential Revision: http://reviews.llvm.org/D15345 llvm-svn: 255062
* [X86][AVX] Fold loads + splats into broadcast instructionsSimon Pilgrim2015-12-085-75/+45
| | | | | | | | | | | | On AVX and AVX2, BROADCAST instructions can load a scalar into all elements of a target vector. This patch improves the lowering of 'splat' shuffles of a loaded vector into a broadcast - currently the lowering only works for cases where we are splatting the zero'th element, which is now generalised to any element. Fix for PR23022 Differential Revision: http://reviews.llvm.org/D15310 llvm-svn: 255061
* Remove the -c option from dotest.py.Zachary Turner2015-12-086-164/+6
| | | | | | | | | | This seems to be a legacy relic from days gone by where the remote test suite runner operated completely differently than it does today. git blames and comments traced this functionality back to about 2012, and nobody seems to know anything about it now. llvm-svn: 255060
* [PPC64, TSAN] Provide setjmp interceptor support for PPC64Bill Schmidt2015-12-084-2/+393
| | | | | | | | | | | | | | | This patch provides the assembly support for setjmp/longjmp for use with the thread sanitizer. This is a big more complicated than for aarch64, because sibcalls are only legal under our ABIs if the TOC pointer is unchanged. Since the true setjmp function trashes the TOC pointer, and we have to leave the stack in a correct state, we emulate the setjmp function rather than branching to it. We also need to materialize the TOC for cases where the _setjmp code is called from libc. This is done differently under the ELFv1 and ELFv2 ABIs. llvm-svn: 255059
* [Sema] Add warning when comparing nonnull and nullGeorge Burgess IV2015-12-084-37/+69
| | | | | | | | | | | | | | | | | | Currently, we emit warnings in some cases where nonnull function parameters are compared against null. This patch extends this support to warn when comparing the result of `returns_nonnull` functions against null. More specifically, we will now warn cases like: int *foo() __attribute__((returns_nonnull)); int main() { if (foo() == NULL) {} // warning: will always evaluate to false } Differential Revision: http://reviews.llvm.org/D15324 llvm-svn: 255058
* [PPC64, TSAN] LLVM basic enablement of thread sanitizer for PPC64 (BE and LE)Bill Schmidt2015-12-0818-11/+270
| | | | | | | | | | | | | | | | | | This patch is by Simone Atzeni with portions by Adhemerval Zanella. This contains the LLVM patches to enable the thread sanitizer for PPC64, both big- and little-endian. Two different virtual memory sizes are supported: Old kernels use a 44-bit address space, while newer kernels require a 46-bit address space. There are two companion patches that will be added shortly. There is a Clang patch to actually turn on the use of the thread sanitizer for PPC64. There is also a patch that I wrote to provide interceptor support for setjmp/longjmp on PPC64. Patch discussion at reviews.llvm.org/D12841. llvm-svn: 255057
* [CMake] Ignore externalizing debuginfo for unit testsChris Bieneman2015-12-081-3/+5
| | | | | | If you externalize debug info for unit tests the test runner finds the mach-o inside the dsym bundle and tries to execute it as a test. llvm-svn: 255056
* [CGP] Check that we have an insert point before moving llvm.dbg.value aroundReid Kleckner2015-12-082-4/+65
| | | | llvm-svn: 255055
* [EarlyCSE] Value forwarding for unordered atomicsPhilip Reames2015-12-082-19/+204
| | | | | | | | | | | | This patch teaches the fully redundant load part of EarlyCSE how to forward from atomic and volatile loads and stores, and how to eliminate unordered atomics (only). This patch does not include dead store elimination support for unordered atomics, that will follow in the near future. The basic idea is that we allow all loads and stores to be tracked by the AvailableLoad table. We store a bit in the table which tracks whether load/store was atomic, and then only replace atomic loads with ones which were also atomic. No attempt is made to refine our handling of ordered loads or stores. Those are still treated as full fences. We could pretty easily extend the release fence handling to release stores, but that should be a separate patch. Differential Revision: http://reviews.llvm.org/D15337 llvm-svn: 255054
* [X86][SSE4A] Added fast-isel intrinsics testsSimon Pilgrim2015-12-081-0/+98
| | | | | | As discussed on PR24580, this patch adds fast-isel codegen tests to match the IR generated in clang/test/CodeGen/sse4a-builtins.c llvm-svn: 255053
* [X86][SSSE3] Added fast-isel intrinsics testsSimon Pilgrim2015-12-081-0/+290
| | | | | | As discussed on PR24580, this patch adds fast-isel codegen tests to match the IR generated in clang/test/CodeGen/ssse3-builtins.c llvm-svn: 255052
* [X86][SSE3] Added fast-isel intrinsics testsSimon Pilgrim2015-12-081-0/+171
| | | | | | As discussed on PR24580, this patch adds fast-isel codegen tests to match the IR generated in clang/test/CodeGen/sse3-builtins.c llvm-svn: 255051
* [X86][AVX2] Stripped backend codegen testsSimon Pilgrim2015-12-081-207/+1
| | | | | | | | As discussed on the ml, backend tests need to be put in llvm/test/CodeGen/X86 as fast-isel tests using IR that is as close to what is generated here as possible. The llvm tests will (re)added in a future commit. llvm-svn: 255050
* Remove default case in switch which covers all enumeration valuesEd Maste2015-12-081-1/+0
| | | | | | | | | | This also conveniently eliminates another warning from the unintentional use of a trigraph: warning: trigraph converted to '[' character [-Wtrigraphs] default: printf("???(%u)", type); ^ llvm-svn: 255049
* Remove the -X option from dotest.pyZachary Turner2015-12-083-10/+3
| | | | | | | | This removes the option to exclude a single directory. This is part of an effort to remove unused options and cleanup the interface to the test suite. llvm-svn: 255048
* Fix ARMv4T (Thumb1) epilogue generationArtyom Skrobov2015-12-085-95/+132
| | | | | | | | | | | | | | Summary: Before ARMv5T, Thumb1 code could not pop PC, as described at D14357 and D14986; so we need the special fixup in the epilogue. Reviewers: jroelofs, qcolombet Subscribers: aemerson, llvm-commits, rengolin Differential Revision: http://reviews.llvm.org/D15126 llvm-svn: 255047
* [CMake] Adding simulator supported runtimes should be done in the block that ↵Chris Bieneman2015-12-081-2/+2
| | | | | | | | tests simulator capabilities. Not sure why I put this in the iOS block originally, it shouldn't be there. llvm-svn: 255046
* Revert "Add Available Externally linkage type to isWeakForLinker()"Mehdi Amini2015-12-082-24/+1
| | | | | | | This reverts r255043, as per post-review concern were raised on the correctness. From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 255045
* Cleanup test: remove useless alignmentMehdi Amini2015-12-081-2/+2
| | | | | From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 255044
* Add Available Externally linkage type to isWeakForLinker()Mehdi Amini2015-12-082-1/+24
| | | | | | | | | | | | | | Per LangRef: "Globals with available_externally linkage are allowed to be discarded at will, and are otherwise the same as linkonce_odr", since linkonce_odr is in this list it makes sense to have available_externally there as well. Reviewers: rafael Differential Revision: http://reviews.llvm.org/D15323 From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 255043
* Use range loops and autos in utils/TableGen/ClangAttrEmitter.cpp and ↵Eugene Zelenko2015-12-081-21/+17
| | | | | | | | generated code. Differential revision: http://reviews.llvm.org/D15313 llvm-svn: 255042
* Remove the -g option from dotest.pyZachary Turner2015-12-083-11/+1
| | | | | | | | This removes the non-exclusive filterspec option as part of an effort to remove unused / deprecated command line options from dotest. llvm-svn: 255041
* Remove the -b option from dotest.pyZachary Turner2015-12-085-49/+0
| | | | | | | This removes the blacklist option as part of an effort to remove unused / unmaintained command line options from the test suite. llvm-svn: 255040
* COFF: Create an empty but valid PDF file.Rui Ueyama2015-12-081-6/+34
| | | | | | | | | | | MSVC linker considers PDB files created with this patch valid. So you don't have to remove PDB files created by lld before running MSVC linker. This patch has no test since llvm-pdbdump dislikes PDB files with no metadata streams. llvm-svn: 255039
* Change DeclContextFindDeclByName to return a vector of CompilerDecl objects. ↵Greg Clayton2015-12-086-20/+19
| | | | | | Opaque pointers should only be used for the decl context object. Also made a default implementation so that GoASTContext doesn't need to override DeclContextFindDeclByName. llvm-svn: 255038
* Remove +b option from dotest.pyZachary Turner2015-12-084-22/+1
| | | | llvm-svn: 255037
* X86: produce more friendly errors during MachO relocation handlingTim Northover2015-12-083-32/+94
| | | | llvm-svn: 255036
* Remove the -D option from dotest.py.Zachary Turner2015-12-083-9/+0
| | | | | | | This removes the option to dump Python sys.path variable as part of an effort to remove unused options. llvm-svn: 255035
* [ARM] Allowing SP/PC for AND/BIC mod_imm_notRenato Golin2015-12-082-4/+15
| | | | | | | AND/BIC instructions do accept SP/PC, so the register class should be more generic (rGPR -> GPR) to cope with that case. Adding more tests. llvm-svn: 255034
* Use range loops and autos in lib/Serialization/ASTWriter.cpp.Eugene Zelenko2015-12-081-127/+103
| | | | | | Differential revision: http://reviews.llvm.org/D15311 llvm-svn: 255033
* [TSan] Remove legacy Makefile.old!Alexey Samsonov2015-12-082-166/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: It was barely supported for a several years for now, somewhat rotten and doesn't correspond to the way we build/test TSan runtime in Clang anymore. CMake build has proper compile flags, library layout, build dependencies etc. Shell scripts that depended on the output of Makefile.old are either obsolete now (check_cmake.sh), or moved to lit tests (check_memcpy.sh), or kept as a standalone scripts not suitable for generic test suite, but invoked on bots (check_analyze.sh). It is not used on bots anymore: all "interesting" configurations (gcc/clang as a host compiler; debug/release build types) are now tested via CMake. Reviewers: dvyukov, kcc Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D15316 llvm-svn: 255032
* [CMake] Remove debug output leftovers.Alexey Samsonov2015-12-081-2/+0
| | | | llvm-svn: 255031
* tsan: fix test invisible barrierDmitry Vyukov2015-12-083-18/+51
| | | | | | | | | | | | | | | | | Another attempt at fixing tsan_invisible_barrier. Current implementation causes: https://llvm.org/bugs/show_bug.cgi?id=25643 There were several unsuccessful iterations for this functionality: Initially it was implemented in user code using REAL(pthread_barrier_wait). But pthread_barrier_wait is not supported on MacOS. Futexes are linux-specific for this matter. Then we switched to atomics+usleep(10). But usleep produced parasitic "as-if synchronized via sleep" messages in reports which failed some output tests. Then we switched to atomics+sched_yield. But this produced tons of tsan- visible events, which lead to "failed to restore stack trace" failures. Move implementation into runtime and use internal_sched_yield in the wait loop. This way tsan should see no events from the barrier, so not trace overflows and no "as-if synchronized via sleep" messages. llvm-svn: 255030
* Update clang-format-vs READMEHans Wennborg2015-12-081-3/+4
| | | | | | VS2013 is requried after r231084. llvm-svn: 255029
* adding readability-identifier-naming to llvm clang-tidy configuration.Mike Aizatsky2015-12-081-1/+13
| | | | | | Differential Revision: http://reviews.llvm.org/D15196 llvm-svn: 255028
* [Hexagon] Add NewValueJump support for C4_cmpneq, C4_cmplte, C4_cmplteuRon Lieberman2015-12-082-0/+107
| | | | llvm-svn: 255027
* flip on executable bit on test runner testsTodd Fiala2015-12-082-0/+0
| | | | llvm-svn: 255025
* Move all private members together. NFC.Rafael Espindola2015-12-081-23/+22
| | | | llvm-svn: 255021
* [tsan] Add dispatch_group API interceptors and synchronizationKuba Brecka2015-12-082-1/+117
| | | | | | | | This patch adds release and acquire semantics for dispatch groups, plus a test case. Differential Revision: http://reviews.llvm.org/D15048 llvm-svn: 255020
* [tsan] Fix memcmp interceptor to correctly use ↵Kuba Brecka2015-12-081-2/+2
| | | | | | | | | | COMMON_INTERCEPTOR_NOTHING_IS_INITIALIZED The memcmp interceptor checks COMMON_INTERCEPTOR_NOTHING_IS_INITIALIZED only after it calls COMMON_INTERCEPTOR_ENTER, which causes an early process launch crash when running TSan in iOS simulator. Let's fix this by checking COMMON_INTERCEPTOR_NOTHING_IS_INITIALIZED as the very first thing in the interceptor. Differential Revision: http://reviews.llvm.org/D15287 llvm-svn: 255019
* [mips][ias] Range check uimm8 operandsDaniel Sanders2015-12-085-6/+16
| | | | | | | | | | | | Summary: Reviewers: vkalintiris Subscribers: llvm-commits, dsanders Differential Revision: http://reviews.llvm.org/D15226 llvm-svn: 255018
* Fix MSVC build after rL255016Tamas Berghammer2015-12-081-2/+4
| | | | llvm-svn: 255017
* Modify "platform connect" to connect to processes as wellTamas Berghammer2015-12-0825-151/+576
| | | | | | | | | | | | | | | | | | | | | | | | The standard remote debugging workflow with gdb is to start the application on the remote host under gdbserver (e.g.: gdbserver :5039 a.out) and then connect to it with gdb. The same workflow is supported by debugserver/lldb-gdbserver with a very similar syntax but to access all features of lldb we need to be connected also to an lldb-platform instance running on the target. Before this change this had to be done manually with starting a separate lldb-platform on the target machine and then connecting to it with lldb before connecting to the process. This change modifies the behavior of "platform connect" with automatically connecting to the process instance if it was started by the remote platform. With this command replacing gdbserver in a gdb based worflow is usually as simple as replacing the command to execute gdbserver with executing lldb-platform. Differential revision: http://reviews.llvm.org/D14952 llvm-svn: 255016
OpenPOWER on IntegriCloud