summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [sanitizer] Support libc++abi in addition to libstdc++Petr Hosek2017-07-264-3/+40
| | | | | | | | | | | This change adds sanitizer support for LLVM's libunwind and libc++abi as an alternative to libstdc++. This allows using the in tree version of libunwind and libc++abi which is useful when building a toolchain for different target. Differential Revision: https://reviews.llvm.org/D34501 llvm-svn: 309074
* Add "REQUIRES: asserts" for test unswitch-equality-undef.ll.Wei Mi2017-07-261-0/+1
| | | | llvm-svn: 309073
* [SCEV] Remove unnecessary call to forgetMemoizedResultsSanjoy Das2017-07-261-3/+0
| | | | | | | | | | | | | `SCEVUnknown::allUsesReplacedWith` does not need to call `forgetMemoizedResults` since RAUW does a value-equivalent replacement by assumption. If this assumption was false then the later setValPtr(New) call would be incorrect too. This is a non-trivial performance optimization for functions with a large number of loops since `forgetMemoizedResults` walks all loop backedge taken counts to see if any of them use the SCEVUnknown being RAUWed. However, this improvement is difficult to demonstrate without checking in an excessively large IR file. llvm-svn: 309072
* [lit] Attempt to fix Python unittest adaptor logicReid Kleckner2017-07-261-7/+6
| | | | llvm-svn: 309071
* Move manifest utils into separate lib, to reduce libxml2 deps.Eric Beckmann2017-07-2611-7/+52
| | | | | | | | | | | | | | | | Summary: Previously were in support. Since many many things depend on support, were all forced to also depend on libxml2, which we only want in a few cases. This puts all the libxml2 deps in a separate lib to be used only in a few places. Reviewers: ruiu, thakis, rnk Subscribers: mgorny, hiraditya, llvm-commits Differential Revision: https://reviews.llvm.org/D35819 llvm-svn: 309070
* [PDB] Remove stale GSI.h header that I intended to remove in the previous commitReid Kleckner2017-07-263-55/+0
| | | | llvm-svn: 309069
* [DWARF] Generalized verification of .apple_names accelerator table to be ↵Spyridoula Gravani2017-07-267-64/+106
| | | | | | | | applicable to any acceleration table. Added verification for .apple_types, .apple_namespaces and .apple_objc sections. Differential Revision: https://reviews.llvm.org/D35853 llvm-svn: 309068
* [clang-tidy] Do not issue fixit for explicit template specializationsFelix Berger2017-07-262-1/+26
| | | | | | | | | | | | | | Summary: Do not issue fixit in UnnecessaryValueParamCheck if the function is an explicit template specialization as this could cause build breakages. Reviewers: alexfh Subscribers: JDevlieghere, xazax.hun, cfe-commits Differential Revision: https://reviews.llvm.org/D35718 llvm-svn: 309067
* [PDB] Improve GSI hash table dumping for publics and globalsReid Kleckner2017-07-2618-246/+285
| | | | | | | | | | | | | | | The PDB "symbol stream" actually contains symbol records for the publics and the globals stream. The globals and publics streams are essentially hash tables that point into a single stream of records. In order to match cvdump's behavior, we need to only dump symbol records referenced from the hash table. This patch implements that, and then implements global stream dumping, since it's just a subset of public stream dumping. Now we shouldn't see S_PROCREF or S_GDATA32 records when dumping publics, and instead we should see those record in the globals stream. llvm-svn: 309066
* Reapply "llvm-mt: implement simple merging of manifests, not factoring ↵Eric Beckmann2017-07-268-10/+242
| | | | | | | | | | namespaces. This time with correct #if. This reverts commit 9cf4eca0e0383040c1ff1416815c7f649650c2a0. llvm-svn: 309064
* [AArch64] Fix some Clang-tidy modernize-use-using and Include What You Use ↵Eugene Zelenko2017-07-2511-184/+279
| | | | | | warnings; other minor fixes (NFC). llvm-svn: 309062
* [StaticAnalyzer] LoopUnrolling - Attempt #2 to fix a crash in r309006.Peter Szecsi2017-07-251-2/+2
| | | | llvm-svn: 309061
* [sanitizer] Support compiler-rt builtinsPetr Hosek2017-07-259-7/+82
| | | | | | | | | This change adds support for compiler-rt builtins as an alternative compiler runtime to libgcc. Differential Revision: https://reviews.llvm.org/D35165 llvm-svn: 309060
* Disable loop unswitching for some patterns containing equality comparison ↵Wei Mi2017-07-253-2/+186
| | | | | | | | | | | | | | | | | | | with undef. This is a workaround for the bug described in PR31652 and http://lists.llvm.org/pipermail/llvm-dev/2017-July/115497.html. The temporary solution is to add a function EqualityPropUnSafe. In EqualityPropUnSafe, for some simple patterns we can know the equality comparison may contains undef, so we regard such comparison as unsafe and will not do loop-unswitching for them. We also need to disable the select simplification when one of select operand is undef and its result feeds into equality comparison. The patch cannot clear the safety issue caused by the bug, but it can suppress the issue from happening to some extent. Differential Revision: https://reviews.llvm.org/D35811 llvm-svn: 309059
* [CodeGen] Correctly model std::byte's aliasing propertiesDavid Majnemer2017-07-254-0/+57
| | | | | | | | | | | | std::byte, when defined as an enum, needs to be given special treatment with regards to its aliasing properties. An array of std::byte is allowed to be used as storage for other types. This fixes PR33916. Differential Revision: https://reviews.llvm.org/D35824 llvm-svn: 309058
* Debug Info: Support fragmented variables in the MMI side tableAdrian Prantl2017-07-252-1/+67
| | | | | | This reapplies commit r309034 with a bugfix+test for inlined variables. llvm-svn: 309057
* [gold] Enable function-sections by default.Davide Italiano2017-07-252-0/+43
| | | | | | | | | | This is needed, among others, to respect --section-ordering-file with LTO. I'll follow up with a similar change for data sections. I hope every version of gold available on the bots has support for --section-ordering file. llvm-svn: 309056
* Simplify ignored options.Rui Ueyama2017-07-251-4/+2
| | | | | | | Since the flag is ignored anyway, it doesn't matter whether it is an alias or not. llvm-svn: 309055
* Reorder tests to match latest SD-6 draft.Richard Smith2017-07-251-8/+8
| | | | llvm-svn: 309054
* Simplify. NFC.Rafael Espindola2017-07-251-1/+1
| | | | llvm-svn: 309053
* clang/StaticAnalyzer/Core/PathSensitive/LoopUnrolling.h: Add a forward decl ↵NAKAMURA Takumi2017-07-251-0/+2
| | | | | | AnalysisManager, to unbreak modules build. llvm-svn: 309052
* Reduce templating. NFC.Rafael Espindola2017-07-251-6/+5
| | | | llvm-svn: 309051
* Revert "llvm-mt: implement simple merging of manifests, not factoring ↵Eric Beckmann2017-07-258-238/+10
| | | | | | | | namespaces." This reverts commit 813308e240792ca70ed2f998f21df24a5061ada0. llvm-svn: 309050
* [clang] Add abi-breaking-checks support to clangMandeep Singh Grang2017-07-252-0/+4
| | | | | | | | | | | | | | Summary: You can now use REQUIRES:abi-breaking-checks in clang too Reviewers: chapuni, probinson, ddunbar, jroelofs Reviewed By: jroelofs Subscribers: jroelofs, cfe-commits Differential Revision: https://reviews.llvm.org/D35426 llvm-svn: 309049
* LTO: Handle sections with valid C names.Rafael Espindola2017-07-252-2/+14
| | | | | | | These can be referenced with __start_/__stop_ symbols. I will try to make this more precise in a followup patch. llvm-svn: 309048
* llvm-mt: implement simple merging of manifests, not factoring namespaces.Eric Beckmann2017-07-258-10/+238
| | | | | | | | | | | | Summary: Does a simple merge, where mergeable elements are combined, all others are appended. Does not apply trickly namespace rules. Subscribers: llvm-commits, hiraditya Differential Revision: https://reviews.llvm.org/D35753 llvm-svn: 309047
* Skip test_unique_stacks on Darwin, because it doesn't terminate reliably.Sean Callanan2017-07-251-1/+3
| | | | | | rdar://problem/33462362 llvm-svn: 309046
* Revert "Reland "[LLVM][llvm-objcopy] Added basic plumbing to get things ↵Petr Hosek2017-07-252-2/+0
| | | | | | | | started"" This reverts commit 0d9d9250483761eb2f50236830161b0e2137d483. llvm-svn: 309045
* [lit] Fix UnboundLocalError for invalid shtest redirectsMichal Gorny2017-07-251-1/+1
| | | | | | | | | | | | | | | | | Replace the incorrect variable reference when invalid redirect is used. This fixes the following issue: File "/usr/src/llvm/utils/lit/lit/TestRunner.py", line 316, in processRedirects raise InternalShellError(cmd, "Unsupported redirect: %r" % (r,)) UnboundLocalError: local variable 'r' referenced before assignment which in turn broke shtest-shell.py and max-failures.py lit tests. The breakage was introduced during refactoring in rL307310. Differential Revision: https://reviews.llvm.org/D35857 llvm-svn: 309044
* Reland "[LLVM][llvm-objcopy] Added basic plumbing to get things started"Petr Hosek2017-07-252-0/+2
| | | | | | | | | | | | | | | As discussed on llvm-dev I've implemented the first basic steps towards llvm-objcopy/llvm-objtool (name pending). This change adds the ability to copy (without modification) 64-bit little endian ELF executables that have SHT_PROGBITS, SHT_NOBITS, SHT_NULL and SHT_STRTAB sections. Patch by Jake Ehrlich Differential Revision: https://reviews.llvm.org/D33964 llvm-svn: 309043
* [ubsan] Update a test missed in r309008, NFCVedant Kumar2017-07-251-1/+1
| | | | llvm-svn: 309042
* Update the comments on default subtargets based on feedback.Eric Christopher2017-07-254-8/+12
| | | | llvm-svn: 309041
* Revert accidental isl changes in 308923Tobias Grosser2017-07-251-71/+6
| | | | | | | | | | | It seems I still had some incomplete changes in the tree when committing. In general, we only import changes from isl upstream. In this case, the changes were especially unfortunate, as they broke the error management in isl_flow.c and consequently caused regressions. Thanks to Michael Kruse for spotting this mistake. llvm-svn: 309039
* [libFuzzer] don't disable msan for TracePC::CollectFeatures: this started to ↵Kostya Serebryany2017-07-251-1/+1
| | | | | | cause false positives in msan. No tests for libFuzzer+msan yet -- tests will need to wait until we move libFuzzer to compiler-rt llvm-svn: 309038
* Revert "Reland "[LLVM][llvm-objcopy] Added basic plumbing to get things ↵Petr Hosek2017-07-2511-824/+0
| | | | | | | | started"" This reverts commit 960873b10dd071298c817ba74ef2228f94ead7a1. llvm-svn: 309037
* [StaticAnalyzer] LoopUnrolling - Attempt to fix a crash in r309006.Peter Szecsi2017-07-251-1/+3
| | | | llvm-svn: 309036
* Revert "Debug Info: Support fragmented variables in the MMI side table"Adrian Prantl2017-07-252-57/+1
| | | | | | This reverts commit r309034 because of a sanitizer issue. llvm-svn: 309035
* Debug Info: Support fragmented variables in the MMI side tableAdrian Prantl2017-07-252-1/+57
| | | | | | <rdar://problem/17816343> llvm-svn: 309034
* [scudo] Check for pvalloc overflowKostya Kortchinsky2017-07-254-7/+80
| | | | | | | | | | | | | | | | | | | | | | | | Summary: Previously we were rounding up the size passed to `pvalloc` to the next multiple of page size no matter what. There is an overflow possibility that wasn't accounted for. So now, return null in the event of an overflow. The man page doesn't seem to indicate the errno to set in this particular situation, but the glibc unit tests go for ENOMEM (https://code.woboq.org/userspace/glibc/malloc/tst-pvalloc.c.html#54) so we'll do the same. Update the aligned allocation funtions tests to check for properly aligned returned pointers, and the `pvalloc` corner cases. @alekseyshl: do you want me to do the same in the other Sanitizers? Reviewers: alekseyshl Reviewed By: alekseyshl Subscribers: kubamracek, alekseyshl, llvm-commits Differential Revision: https://reviews.llvm.org/D35818 llvm-svn: 309033
* Reland "[LLVM][llvm-objcopy] Added basic plumbing to get things started"Petr Hosek2017-07-2511-0/+824
| | | | | | | | | | | | | | | As discussed on llvm-dev I've implemented the first basic steps towards llvm-objcopy/llvm-objtool (name pending). This change adds the ability to copy (without modification) 64-bit little endian ELF executables that have SHT_PROGBITS, SHT_NOBITS, SHT_NULL and SHT_STRTAB sections. Patch by Jake Ehrlich Differential Revision: https://reviews.llvm.org/D33964 llvm-svn: 309032
* [CMAKE] Speedup developer builds when passing LLVM_APPEND_VC_REV = OFFDon Hinton2017-07-251-9/+23
| | | | | | | | Make sure multiple targets don't get rebuilt unnecessarily when LLVM_APPEND_VC_REV = OFF. Differential Revision: https://reviews.llvm.org/D35377 llvm-svn: 309031
* [CMake] Fix broken builds from r309029Chris Bieneman2017-07-251-1/+1
| | | | | | Fixing the mismatched beginning if and endif contents. llvm-svn: 309030
* [CMake] Allow TableGen.cmake to be included multiple timesChris Bieneman2017-07-251-1/+1
| | | | | | This patch allows TableGen.cmake to be safely included multiple times in sub-projects. llvm-svn: 309029
* AMDGPU/SI: Fix Depth and Height computation for SI schedulerMarek Olsak2017-07-251-3/+3
| | | | | | | | Patch by: Axel Davy Differential Revision: https://reviews.llvm.org/D34967 llvm-svn: 309028
* AMDGPU/SI: Force exports at the end for SI schedulerMarek Olsak2017-07-252-0/+60
| | | | | | | | Patch by: Axel Davy Differential Revision: https://reviews.llvm.org/D34965 llvm-svn: 309027
* [CMake] Build debugserver & debugserver_nonuiChris Bieneman2017-07-251-8/+64
| | | | | | | | When building for iOS we build two variants of debugserver. One which supports UI functionality like Springboard for launching applications, and one which does not. This patch adds support for building debugserver with and without UI support libraries being available. llvm-svn: 309026
* [CMake] Update Framework construction for iOSChris Bieneman2017-07-252-8/+18
| | | | | | On iOS frameworks don't have versions or resources, they are flatter bundles. This updates the LLDB framework build to accommodate the flatter bundles. llvm-svn: 309025
* [CMake] Rework construction of framework bundleChris Bieneman2017-07-252-5/+40
| | | | | | This adds an explicit step for processing the headers and restructures how the framework bundles are constructed. This should make the frameworks more reliably constructed. llvm-svn: 309024
* [CMake] Fix framework buildChris Bieneman2017-07-251-1/+3
| | | | | | The LLDB framework build looks for the swig-generated source in the wrong place. This should resolve that. llvm-svn: 309023
* [CMake] NFC. Cleanup unnecessary CMake policyChris Bieneman2017-07-251-4/+0
| | | | | | This is just setting to the default behavior, so it does nothing. llvm-svn: 309022
OpenPOWER on IntegriCloud