summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Remove unused variableAlexey Samsonov2014-06-021-2/+0
| | | | llvm-svn: 210041
* Added support to optimize comparisons with "lshr exact" of a constant.Rafael Espindola2014-06-022-6/+37
| | | | | | Patch by Rahul Jain. llvm-svn: 210040
* Fix comment vs function name mismatchHans Wennborg2014-06-021-1/+1
| | | | llvm-svn: 210039
* Remove sanitizer blacklist from ASan/TSan/MSan function passes.Alexey Samsonov2014-06-024-49/+17
| | | | | | | | | | | | | | | | | Instrumentation passes now use attributes address_safety/thread_safety/memory_safety which are added by Clang frontend. Clang parses the blacklist file and adds the attributes accordingly. Currently blacklist is still used in ASan module pass to disable instrumentation for certain global variables. We should fix this as well by collecting the set of globals we're going to instrument in Clang and passing it to ASan in metadata (as we already do for dynamically-initialized globals and init-order checking). This change also removes -tsan-blacklist and -msan-blacklist LLVM commandline flags in favor of -fsanitize-blacklist= Clang flag. llvm-svn: 210038
* Remove sanitizer blacklist from ASan/TSan/MSan function passes.Alexey Samsonov2014-06-021-9/+5
| | | | | | | | | | | | | | | | | Instrumentation passes now use attributes address_safety/thread_safety/memory_safety which are added by Clang frontend. Clang parses the blacklist file and adds the attributes accordingly. Currently blacklist is still used in ASan module pass to disable instrumentation for certain global variables. We should fix this as well by collecting the set of globals we're going to instrument in Clang and passing it to ASan in metadata (as we already do for dynamically-initialized globals and init-order checking). This change also removes -tsan-blacklist and -msan-blacklist LLVM commandline flags in favor of -fsanitize-blacklist= Clang flag. llvm-svn: 210037
* Add executable extension to debugger name, run dotest via binary.Todd Fiala2014-06-022-3/+3
| | | | | | | | See http://reviews.llvm.org/D3904 for details. Change by Scott Graham. llvm-svn: 210036
* Fix most of the remaining Windows build warnings.Todd Fiala2014-06-026-61/+70
| | | | | | | | See http://reviews.llvm.org/D3944 for more details. Change by Zachary Turner. llvm-svn: 210035
* Omit else branch after return.Eric Christopher2014-06-021-2/+4
| | | | llvm-svn: 210034
* CGDebugInfo: Simplify/invert createLexicalBlock parameter construction.David Blaikie2014-06-021-8/+5
| | | | llvm-svn: 210033
* [X86] Fix checked arithmetic for i8 on X86.Andrea Di Biagio2014-06-022-2/+27
| | | | | | | | | | | When lowering a ISD::BRCOND into a test+branch, make sure that we always use the correct condition code to emit the test operation. This fixes PR19858: "i8 checked mul is wrong on x86". Patch by Keno Fisher! llvm-svn: 210032
* clang-tidy: Extend the use-override check to understand 'final'.Daniel Jasper2014-06-022-3/+24
| | | | llvm-svn: 210031
* [ASan Win] Manually call __asan_init early in the DLL initialization process ↵Timur Iskhodzhanov2014-06-022-1/+39
| | | | | | to avoid a null function call in cout/cerr constructors llvm-svn: 210030
* Add the nsw flag when we detect that an add will not signed overflow.Rafael Espindola2014-06-027-12/+17
| | | | | | | We already had a function for checking this, we were just using it only in specialized cases. llvm-svn: 210029
* [Sanitizer/interception Win] Break into the debugger on unknown instructionsTimur Iskhodzhanov2014-06-021-1/+2
| | | | llvm-svn: 210028
* [ASan Win] Fix memset interception in DLLsTimur Iskhodzhanov2014-06-022-0/+22
| | | | llvm-svn: 210027
* The exception-declaration for a function-try-block cannot redeclare aAaron Ballman2014-06-023-8/+22
| | | | | | | function parameter. One of our existing test cases was XFAILed because of this. This fixes the issue and un-XFAILs the test. llvm-svn: 210026
* CMake: remove duplicated source file from listAlp Toker2014-06-021-1/+0
| | | | | | Patch by Jack Howarth! llvm-svn: 210025
* [asan] Default to memory-mapped coverage on Android.Evgeniy Stepanov2014-06-021-1/+1
| | | | | | The alternative (writing coverage at process exit) is nearly useless there. llvm-svn: 210024
* [msan] Remove an out-of-date comment.Evgeniy Stepanov2014-06-021-2/+0
| | | | | | MSan is no longer an "early prototype". llvm-svn: 210023
* Remove path_tclsh.m4.Rafael Espindola2014-06-021-39/+0
| | | | | | Looks like it was only used by dejagnu and is now dead. llvm-svn: 210022
* [AArch64] Add some more regression tests for store pre-index update folding ↵Tilmann Scheller2014-06-021-0/+105
| | | | | | | | | | | | | | | | in the load/store optimizer. Add tests for the following transform: add x8, x8, #16 ... str X, [x8] -> str X, [x8, #16]! with X being either w0, x0, s0, d0 or q0. llvm-svn: 210021
* [msan] Handle x86 vector pack intrinsics.Evgeniy Stepanov2014-06-023-0/+95
| | | | llvm-svn: 210020
* Remove unused code in a libc++ test.Nico Weber2014-06-021-17/+0
| | | | | | | | | | | Other tests in this directory use this type, so it's probably copypasta from there. (test_buf only forwards to the superclass in all tests where it's used though, so I wonder if it can be replaced with just using filebuf / wfilebuf everywhere?) llvm-svn: 210019
* [AArch64] Add some more regression tests for load pre-index update folding ↵Tilmann Scheller2014-06-021-0/+106
| | | | | | | | | | | | | | | | in the load/store optimizer. Add tests for the following transform: add x8, x8, #16 ... ldr X, [x8] -> ldr X, [x8, #16]! with X being either w0, x0, s0, d0 or q0. llvm-svn: 210018
* clang-format: Fix special case of binary operator detection.Daniel Jasper2014-06-022-0/+7
| | | | | | | | | | | | | | | | | There is a pattern where evaluation order is used as control flow. This patch special-cases a commonly occuring version of this pattern. Before: Aaaaa *aaa = nullptr; // ... aaa &&aaa->f(); After: Aaaaa *aaa = nullptr; // ... aaa && aaa->f(); llvm-svn: 210017
* Remove superfluous semicolon confusing clang-format.Daniel Jasper2014-06-021-1/+1
| | | | llvm-svn: 210016
* Run clang-format.Rui Ueyama2014-06-021-62/+61
| | | | llvm-svn: 210015
* s/vector/std::vector/Rui Ueyama2014-06-021-22/+21
| | | | llvm-svn: 210014
* clang-format: No space between ")" and braced init list.Daniel Jasper2014-06-022-5/+7
| | | | | | | | | | | | Before: auto j = decltype(i) {}; After: auto j = decltype(i){}; This fixes llvm.org/PR19892. llvm-svn: 210013
* [asan] Improve vDSO check in AsanCheckDynamicRTPrereqs; patch by Yuri GribovKostya Serebryany2014-06-021-0/+4
| | | | llvm-svn: 210012
* clang-format: Fix Allman brace breaking of enums.Daniel Jasper2014-06-022-4/+14
| | | | | | | | | | | | | | | | | | Before: enum Side { LEFT, RIGHT }; After: enum Side { LEFT, RIGHT }; This fixes llvm.org/PR19911. llvm-svn: 210011
* clang-format: Fix trailing const (etc.) with Allman brace style.Daniel Jasper2014-06-022-2/+9
| | | | | | | | | | | | | | | | | | Before: void someLongFunction(int someLongParameter) const { } After: void someLongFunction( int someLongParameter) const { } This fixes llvm.org/PR19912. llvm-svn: 210010
* [sancov] Remove debug leftovers and update usage text.Evgeniy Stepanov2014-06-021-4/+2
| | | | llvm-svn: 210009
* Simplify markLive().Rui Ueyama2014-06-022-7/+6
| | | | | | | | Reference::target() never returns a nullptr, so NULL check is not needed and is more harmful than doing nothing. No functionality change. llvm-svn: 210008
* Added inst combine tarnsform for (1 << X) & C pattrens where C is (some ↵Dinesh Dwivedi2014-06-022-8/+41
| | | | | | | | | | | | PowerOf2 - 1) This patch can handles following cases from http://nondot.org/sabre/LLVMNotes/InstCombine.txt "((1 << X) & 7) == 0" ==> "X > 2" "((1 << X) & 7) != 0" ==> "X < 3". Differential Revision: http://reviews.llvm.org/D3678 llvm-svn: 210007
* Added inst combine transforms for single bit tests from Chris's noteDinesh Dwivedi2014-06-022-1/+133
| | | | | | | | | | | | if ((x & C) == 0) x |= C becomes x |= C if ((x & C) != 0) x ^= C becomes x &= ~C if ((x & C) == 0) x ^= C becomes x |= C if ((x & C) != 0) x &= ~C becomes x &= ~C if ((x & C) == 0) x &= ~C becomes nothing Differential Revision: http://reviews.llvm.org/D3777 llvm-svn: 210006
* Silence -Wreturn-type warningAlp Toker2014-06-021-0/+1
| | | | llvm-svn: 210005
* [Mips] Reduce number of input files used my Mips tests.Simon Atanasyan2014-06-029-130/+106
| | | | | | No functional changes. llvm-svn: 210004
* GraphWriter: tweak the program fallback orderAlp Toker2014-06-021-1/+1
| | | | | | | Amend r210001 to use the classic fallback order behaviour if the requested graphing program isn't found. llvm-svn: 210003
* Preparation for <string_view>. More helper functions that can be shared ↵Marshall Clow2014-06-021-62/+109
| | | | | | between <string> and <string_view>. No functionality change llvm-svn: 210002
* GraphWriter: detect graph viewer programs at runtimeAlp Toker2014-06-029-374/+137
| | | | | | | | | | | | | | | | | | | | | | Replace the crufty build-time configure checks for program paths with equivalent runtime logic. This lets users install graphing tools as needed without having to reconfigure and rebuild LLVM, while eliminating a long chain of inappropriate compile dependencies that included GUI programs and the windowing system. Additional features: * Support the OS X 'open' command to view graphs generated by any of the Graphviz utilities. This is an alternative to the Graphviz OS X UI which is no longer available on Mountain Lion. * Produce informative log output upon failure to indicate which programs can be installed to view graphs. Ping me if this doesn't work for your particular environment. llvm-svn: 210001
* Instruction::isIdenticalToWhenDefined(): Check getNumOperands() in advance ↵NAKAMURA Takumi2014-06-021-0/+4
| | | | | | | | of std::equal(op) to appease MSVC Debug build. MSVC Debug build is confused with (possibly invalid) op_begin(), if op_begin() == op_end(). llvm-svn: 210000
* Support: add 6-parameter formatSaleem Abdulrasool2014-06-021-0/+39
| | | | | | | | Since we cannot yet use variadic templates, add a specialisation for 6-parameters to format. This is motivated by a need for the additional parameter for formatting information for an unwind decoder for Windows on ARM. llvm-svn: 209999
* Support: add Windows ARM EH data structuresSaleem Abdulrasool2014-06-023-0/+415
| | | | | | | | | | | | | | | | | | | | | | | | | | | Introduce the support structures necessary to deal with the Windows ARM EH data. These definitions are extremely aggressive about assertions to aid future use for generation of the entries and subsequent decoding. The names for the various fields are meant to reflect the names used by the Visual Studio toolchain to aid communication. Due to the complexity in reading a few of the values, there are a couple of additional utility functions to decode the information. In general, there are two ways to encode the unwinding information: - packed, which places the data inline into the _IMAGE_ARM_RUNTIME_FUNCTION_ENTRY structure. - unpacked, which places the data into auxiliary structures placed into the .xdata section. The set of structures allow reading of data in either encoding, with the minor caveat that epilogue scopes need to be decoded manually by constructing the structure from the data returned by the RuntimeFunction structure. These definitions are meant for read-only access at the current point as the first use of them will be to decode the exception information. llvm-svn: 209998
* Revert "Fix the undefined-but-used odr-use marker (DR48)"Alp Toker2014-06-013-9/+15
| | | | | | | | Wrong patch got committed (this one isn't ready for prime time). This reverts commit r209996. llvm-svn: 209997
* Fix the undefined-but-used odr-use marker (DR48)Alp Toker2014-06-013-15/+9
| | | | | | | | | | | | | We should treat tentative definitions as undefined for the purpose of ODR-use linkage checking. This broke somewhere around r149731 when tests were disabled. Note that test coverage for these diagnostics is generally lacking due to a separate issue (PR19910: Don't suppress unused/undefined warnings when there are errors). llvm-svn: 209996
* Fix typosAlp Toker2014-06-0124-44/+44
| | | | llvm-svn: 209995
* Add initial CMake build systemAlp Toker2014-06-013-1/+151
| | | | | | | | | | | | | This is not yet supported for production builds but can already produce working binaries on OS X and Linux with clang and gcc. The intention is to improve support to the point where it can integrate with the LLVM runtime platform, cover all platforms, runtime/release build configurations and run the tests. Patch by Jack Howarth! llvm-svn: 209994
* Don't compare an error_code with nullptr.Rafael Espindola2014-06-011-1/+1
| | | | llvm-svn: 209993
* Fix PR18498: Support explicit template arguments with variadic generic lambdasFaisal Vali2014-06-012-1/+111
| | | | | | | | | | | | | | | | | | | | http://llvm.org/bugs/show_bug.cgi?id=18498 This code was resulting in a crash: auto L = [](auto ... v) { }; L.operator()<int>(3); The reason is that the partially-substituted-pack is incorrectly retained within the current-instantiation-scope during template-argument-finalization, and because lambda's are local, there parent instantiation scopes are merged, which leads to the expansion-pattern being retained in the finalized specialization. This patch ensures that once we have finalized deduction of a parameter-pack, we remove the partially-substituted-pack so that it doesn't cause CheckParameterPacksForExpansion to incorrectly inform the caller that it needs to retain the expansion pattern. Thanks to Richard Smith for the review! http://reviews.llvm.org/D2135 llvm-svn: 209992
OpenPOWER on IntegriCloud