summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* 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
* [CMake] Cleanup unnecessary definitionChris Bieneman2017-07-251-4/+4
| | | | | | This is only used in one file, and we already set it correctly on that file, so we don't need to set this everywhere. llvm-svn: 309021
* [CMake] Add debugserver entitlementsChris Bieneman2017-07-251-2/+6
| | | | | | When consigning debugserver we should also include the entitlements file on the code sign command. llvm-svn: 309020
* Improve the fix for PR33875 by not hardcoding the section name.Adrian Prantl2017-07-251-6/+6
| | | | | | This is a follow-up to r308905. llvm-svn: 309019
* Fix a bot by linking clang-import-test against libclangDriverSean Callanan2017-07-251-0/+1
| | | | llvm-svn: 309018
* [COFF] Add support for delay loading DLLs on ARMMartin Storsjo2017-07-254-3/+159
| | | | | | Differential Revision: https://reviews.llvm.org/D35768 llvm-svn: 309017
* [AArch64] Update a comment in a testMartin Storsjo2017-07-251-5/+4
| | | | | | | | The comment ended up outdated when the test was rewritten in SVN r192281. Differential Revision: https://reviews.llvm.org/D35543 llvm-svn: 309016
* [AArch64] Add a test for float argument passing to win64 vararg functionsMartin Storsjo2017-07-251-0/+26
| | | | | | | | The existing tests only tested how a va_start is lowered. Differential Revision: https://reviews.llvm.org/D35540 llvm-svn: 309015
* [ExternalASTMerger] Import Objective-C classesSean Callanan2017-07-254-13/+41
| | | | | | | | | | | | | This patch adds functionality and a test for importing Objective-C classes and their methods. It also adds a flag to clang-import-test to set the language used for parsing. This takes the same argument format as the -x option to the driver. Differential Revision: https://reviews.llvm.org/D35274 llvm-svn: 309014
* [Frontend] Mark some ASTUnit methods as const. NFC.Vedant Kumar2017-07-252-17/+17
| | | | | | | | Patch by Hamza Sood! Differential Revision: https://reviews.llvm.org/D35729 llvm-svn: 309013
* [LTO] Prevent dead stripping and internalization of symbols with sectionsTeresa Johnson2017-07-258-5/+134
| | | | | | | | | | | | | | | | | | | | | | | Summary: ELF linkers generate __start_<secname> and __stop_<secname> symbols when there is a value in a section <secname> where the name is a valid C identifier. If dead stripping determines that the values declared in section <secname> are dead, and we then internalize (and delete) such a symbol, programs that reference the corresponding start and end section symbols will get undefined reference linking errors. To fix this, add the section name to the IRSymtab entry when a symbol is defined in a specific section. Then use this in the gold-plugin to mark the symbol as external and visible from outside the summary when the section name is a valid C identifier. Reviewers: pcc Subscribers: mehdi_amini, inglorion, eraman, llvm-commits Differential Revision: https://reviews.llvm.org/D35639 llvm-svn: 309009
* [ubsan] -fsanitize=vptr now requires -fsanitize=null, update testsVedant Kumar2017-07-254-10/+19
| | | | | See: https://bugs.llvm.org/show_bug.cgi?id=33881 llvm-svn: 309008
* [ubsan] Null-check pointers in -fsanitize=vptr (PR33881)Vedant Kumar2017-07-2512-26/+109
| | | | | | | | | | | | | | | | | | | The instrumentation generated by -fsanitize=vptr does not null check a user pointer before loading from it. This causes crashes in the face of UB member calls (this=nullptr), i.e it's causing user programs to crash only after UBSan is turned on. The fix is to make run-time null checking a prerequisite for enabling -fsanitize=vptr, and to then teach UBSan to reuse these run-time null checks to make -fsanitize=vptr safe. Testing: check-clang, check-ubsan, a stage2 ubsan-enabled build Differential Revision: https://reviews.llvm.org/D35735 https://bugs.llvm.org/show_bug.cgi?id=33881 llvm-svn: 309007
* [StaticAnalyzer] Completely unrolling specific loops with known bound optionPeter Szecsi2017-07-2510-2/+459
| | | | | | | | | | | | | | | | | This feature allows the analyzer to consider loops to completely unroll. New requirements/rules (for unrolling) can be added easily via ASTMatchers. Right now it is hidden behind a flag, the aim is to find the correct heuristic and create a solution which results higher coverage % and more precise analysis, thus can be enabled by default. Right now the blocks which belong to an unrolled loop are marked by the LoopVisitor which adds them to the ProgramState. Then whenever we encounter a CFGBlock in the processCFGBlockEntrance which is marked then we skip its investigating. That means, it won't be considered to be visited more than the maximal bound for visiting since it won't be checked. llvm-svn: 309006
* Revert "This patch enables the usage of constant Enum identifiers within ↵Eric Christopher2017-07-252-71/+24
| | | | | | | | Microsoft style inline assembly statements." This reverts commit r308966. llvm-svn: 309005
* Revert "This patch enables the usage of constant Enum identifiers within ↵Eric Christopher2017-07-254-85/+15
| | | | | | | | Microsoft style inline assembly statements." as it is causing msan failures. This reverts commits r308985 and r308965 llvm-svn: 309004
* Attempt to fix lld tests on Windows after 308998.Nico Weber2017-07-251-9/+0
| | | | | | | | The test used /manifestinput: without /manifest:embed, which isn't actually supported. Just remove this part of the test for now; if it's important to check this the llvm-readobj part should be extended to check this. llvm-svn: 309002
* [PowerPC] Pretty-print CR bits the way the binutils disassembler doesNemanja Ivanovic2017-07-257-37/+56
| | | | | | | | | This patch just adds printing of CR bit registers in a more human-readable form akin to that used by the GNU binutils. Differential Revision: https://reviews.llvm.org/D31494 llvm-svn: 309001
* Cleanup: __kmp_env_* variablesJonathan Peyton2017-07-254-44/+35
| | | | | | | | | | Removed unused __kmp_env_* variables. Also clangified other people's code. Patch by Terry Wilmarth Differential Revision: https://reviews.llvm.org/D35808 llvm-svn: 309000
* Only scan global sections containing data in LSan on darwinFrancis Ricci2017-07-254-7/+40
| | | | | | | | | | | | | | | | | | | | Summary: __DATA segments on Darwin contain a large number of separate sections, many of which cannot actually contain pointers, and contain const values or objc metadata. Not scanning sections which cannot contain pointers significantly improves performance. On a medium-sized (~4000 files) internal project, I saw a speedup of about 30% in standalone LSan's execution time (30% improvement in the time spent running LSan, not the total program time). Reviewers: kcc, kubamracek, alekseyshl Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D35432 llvm-svn: 308999
* lld: only write .manifest files if /manifest is passed, PR33925Nico Weber2017-07-254-11/+28
| | | | | | | | | Also emit an error if /manifestinput: is used without /manifest:embed. Increases compatibility with link.exe https://reviews.llvm.org/D35842 llvm-svn: 308998
* Introduce -nostdlib++ flag to disable linking the C++ standard library.Nico Weber2017-07-2523-51/+81
| | | | | | | | | | | | | | | Projects that want to statically link their own C++ standard library currently need to pass -nostdlib or -nodefaultlibs, which also disables linking of the builtins library, -lm, and so on. Alternatively, they could use `clang` instead of `clang++`, but that already disables implicit addition of -lm on some toolchains. Add a dedicated flag -nostdlib++ that disables just linking of libc++ / libstdc++. This is analogous to -nostdinc++. https://reviews.llvm.org/D35780 llvm-svn: 308997
* [coroutines] Add serialization/deserialization of coroutinesGor Nishanov2017-07-256-30/+190
| | | | | | | | | | | | Reviewers: rsmith Reviewed By: rsmith Subscribers: EricWF, cfe-commits Differential Revision: https://reviews.llvm.org/D35383 llvm-svn: 308996
* [PowerPC] - Recommit r304907 now that the issue has been fixedNemanja Ivanovic2017-07-256-6/+593
| | | | | | | This is just a recommit since the issue that the commit exposed is now resolved. llvm-svn: 308995
* [docs] Fix a typo: iteratation -> iterationStephen Hines2017-07-251-1/+1
| | | | | | | | | | | | Reviewers: dgross Reviewed By: dgross Subscribers: dgross, llvm-commits Differential Revision: https://reviews.llvm.org/D35822 llvm-svn: 308994
* [TypeSystem] Guard the global `ASTSourceMap` with a mutexSean Callanan2017-07-251-4/+12
| | | | | | | | | | | | | | | | | s_source_map in ClangExternalASTSourceCommon.cpp is unguarded and therefore can break in multithreaded conditions. This can cause crashes in particular if multiple targets are being set up at once. This patch wraps s_source_map in a function that ensures exclusivity, and makes every user of it use that function instead. <rdar://problem/33429774> lldb crashes after "resume_off" Differential Revision: https://reviews.llvm.org/D35083 llvm-svn: 308993
* Fix unused variable warning with MemoryMappedSegment private dataFrancis Ricci2017-07-251-0/+2
| | | | llvm-svn: 308992
* [analyzer] Add diagnostic text for generalized refcount annotations.Devin Coughlin2017-07-254-18/+33
| | | | | | | | | | | | | | | Add a 'Generalized' object kind to the retain-count checker and suitable generic diagnostic text for retain-count diagnostics involving those objects. For now the object kind is introduced in summaries by 'annotate' attributes. Once we have more experience with these annotations we will propose explicit attributes. Patch by Malhar Thakkar! Differential Revision: https://reviews.llvm.org/D35613 llvm-svn: 308990
* [X86][CGP] Reduce memcmp() expansion to 2 load pairs (PR33914)Simon Pilgrim2017-07-253-1311/+177
| | | | | | | | | | | | D35067/rL308322 attempted to support up to 4 load pairs for memcmp inlining which resulted in regressions for some optimized libc memcmp implementations (PR33914). Until we can match these more optimal cases, this patch reduces the memcmp expansion to a maximum of 2 load pairs (which matches what we do for -Os). This patch should be considered for the 5.0.0 release branch as well Differential Revision: https://reviews.llvm.org/D35830 llvm-svn: 308986
* This test case is causing all PPC and SystemZ bots to remain red.Nemanja Ivanovic2017-07-251-1/+1
| | | | | | | | | | Notifying the author via Diffusion did not yield any answer. Therefore, I'm adding the missing triple. I have no idea if this is the intended triple, but it seems to fit the bill and should turn the bots back to green. If the intended triple is a different one, please feel free to change it but I need make this change to turn the bots back to green now. llvm-svn: 308985
* Revert "[compiler-rt] Include thread ID into sanitizers logs"Vitaly Buka2017-07-252-27/+4
| | | | | | | | This improvement introduce additional dependencies on sandboxed environments. This reverts commit r308637. llvm-svn: 308984
* [DAG] Move DAGCombiner::GetDemandedBits to SelectionDAGSimon Pilgrim2017-07-253-62/+66
| | | | | | | | This patch moves the DAGCombiner::GetDemandedBits function to SelectionDAG::GetDemandedBits as a first step towards making it easier for targets to get to the source of any demanded bits without the limitations of SimplifyDemandedBits. Differential Revision: https://reviews.llvm.org/D35841 llvm-svn: 308983
* [ScopInfo] Rename ScopStmt::contains(BB) to represents(BB). NFC.Michael Kruse2017-07-254-7/+7
| | | | | | | | | | | In future, there will be no more a 1:1 correspondence between statements and basic blocks, the name `contains` does not correctly capture their relationship. A BB may infact comprise of multiple statements; hence we describe a statement 'representing' a basic block. Differential Revision: https://reviews.llvm.org/D35838 llvm-svn: 308982
OpenPOWER on IntegriCloud