summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [analyzer] Model and check unrepresentable left shiftsGabor Horvath2018-01-223-3/+31
| | | | | | | | Patch by: Reka Nikolett Kovacs Differential Revision: https://reviews.llvm.org/D41816 llvm-svn: 323115
* Fixing warnings caused by commit 323095Marina Yatsina2018-01-223-10/+10
| | | | | Change-Id: I4e1f81db2f5382a820f4016c23b243e4d5aebf51 llvm-svn: 323114
* Rename DwarfAcceleratorTable to AppleAcceleratorTable. NFCPavel Labath2018-01-227-47/+47
| | | | | | | | | This frees up the first name to be used as an base class for the apple table and the dwarf5 .debug_names accel table. The rename was split off from D42297 (adding of debug_names support), which is still under review. llvm-svn: 323113
* Fix MSVC implicit double-float truncation warning. NFCI.Simon Pilgrim2018-01-221-1/+1
| | | | llvm-svn: 323112
* [clangd] Try to fix build bot failue in r323101Eric Liu2018-01-221-2/+2
| | | | llvm-svn: 323111
* [X86][AVX] Add test case for PR34370Simon Pilgrim2018-01-221-0/+78
| | | | llvm-svn: 323106
* [X86][SSE] Add ISD::VECTOR_SHUFFLE to faux shuffle decoding (Reapplied)Simon Pilgrim2018-01-229-270/+238
| | | | | | | | Primarily, this allows us to use the aggressive extraction mechanisms in combineExtractWithShuffle earlier and make use of UNDEF elements that may be lost during lowering. Reapplied after rL322279 was reverted at rL322335 due to PR35918, underlying issue was fixed at rL322644. llvm-svn: 323104
* Revert "[SymbolFilePDB] Fix null array access when parsing the type of a ↵Pavel Labath2018-01-227-379/+20
| | | | | | | | | | function without any arguments, i.e. 'int main()' and add support to test it" This reverts commit r322995, as it breaks lldb-Unit::SymbolFilePDBTests.TestTypedefs <http://lab.llvm.org:8011/builders/lldb-windows7-android/builds/7715>. llvm-svn: 323102
* [clangd] Add support for different file URI schemas.Eric Liu2018-01-225-0/+522
| | | | | | | | | | | | | | Summary: I will replace the existing URI struct in Protocol.h with the new URI and rename FileURI to URI in a followup patch. Reviewers: sammccall Reviewed By: sammccall Subscribers: jkorous-apple, klimek, mgorny, ilya-biryukov, cfe-commits Differential Revision: https://reviews.llvm.org/D41946 llvm-svn: 323101
* Add SysV Abi for PPC64lePavel Labath2018-01-225-441/+716
| | | | | | | | | | | | | | | | | Summary: This patch implements the ABI Plugin for PPC64le. It was based on the ABI for PPC64. It also enables LLDB to evaluate expressions using JIT. Reviewers: labath, clayborg, jhibbits, davide Reviewed By: labath, clayborg, jhibbits, davide Subscribers: davide, JDevlieghere, chmeee, emaste, jhibbits, hfinkel, lldb-commits, nemanjai, luporl, lbianc, mgorny, anajuliapc, kbarton Differential Revision: https://reviews.llvm.org/D41702 Patch by Alexandre Yukio Yamashita <alexandre.yamashita@eldorado.org.br> llvm-svn: 323100
* Add test for interaction of --gc-sections and undefined referencesJames Henderson2018-01-221-0/+19
| | | | | | | | | | | | | It is possible for a link to fail with an undefined reference, unless --gc-sections is specified, removing the reference in the process. This doesn't look to be tested anywhere explicitly, so I thought it useful to add a test for it to ensure the behaviour is maintained. Reviewers: ruiu Differential Revision: https://reviews.llvm.org/D42299 llvm-svn: 323099
* [AArch64][SVE] Asm: Predicate patternsSander de Smalen2018-01-226-0/+116
| | | | | | | | | | | | | | | | | | | Summary: This patch adds support for parsing/printing of named or unnamed patterns that are used in SVE's PTRUE instruction, amongst others. The pattern can be specified as a named pattern to initialize the predicate vector or it can be specified as an immediate in the range 0-31. Reviewers: fhahn, rengolin, evandro, mcrosier, t.p.northover Reviewed By: fhahn Subscribers: aemerson, javed.absar, tschuett, kristof.beyls, llvm-commits Differential Revision: https://reviews.llvm.org/D41818 llvm-svn: 323098
* [YAML] Plain scalars can not begin with most indicators.Haojian Wu2018-01-222-2/+11
| | | | | | | | | | | | | | | | | | | Summary: Discovered when clangd loads YAML symbols, some symbol documentations start with indicators (e.g. "-"), but YAML prints them as plain scalars (no quotes), which make the YAML parser fail to parse. For these kind of strings, we need quotes. Reviewers: sammccall Reviewed By: sammccall Subscribers: ilya-biryukov, ioeric, llvm-commits, cfe-commits Differential Revision: https://reviews.llvm.org/D42362 llvm-svn: 323097
* Break false dependencies for POPCNT, LZCNT, TZCNTMarina Yatsina2018-01-225-10/+237
| | | | | | | | | | | | | | | | | | | | | | Add POPCNT, LZCNT, TZCNT to the list of instructions that have false dependency. Add a test to make sure BreakFalseDeps breaks the dependencies for these instructions. Update affected tests. This fixes bugzilla https://bugs.llvm.org/show_bug.cgi?id=33869 This is the final of multiple patches that fix this bugzilla. Most of the patches are intended at refactoring the existent code. Reviews of the refactoring done to enable this change: https://reviews.llvm.org/D40330 https://reviews.llvm.org/D40331 https://reviews.llvm.org/D40332 https://reviews.llvm.org/D40333 Differential Revision: https://reviews.llvm.org/D40334 Change-Id: If95cbf1a3f5c7dccff8f1b22ecb397542147303d llvm-svn: 323096
* Separate LoopTraversal, ReachingDefAnalysis and BreakFalseDeps into their ↵Marina Yatsina2018-01-2211-657/+793
| | | | | | | | | | | | | | | | | | own files. This is the one of multiple patches that fix bugzilla https://bugs.llvm.org/show_bug.cgi?id=33869 Most of the patches are intended at refactoring the existent code. Additional relevant reviews: https://reviews.llvm.org/D40330 https://reviews.llvm.org/D40331 https://reviews.llvm.org/D40332 https://reviews.llvm.org/D40334 Differential Revision: https://reviews.llvm.org/D40333 Change-Id: Ie5f8eb34d98cfdfae23a3072eb69b5794f0e2d56 llvm-svn: 323095
* Rename ExecutionDepsFix files to ExecutionDomainFixMarina Yatsina2018-01-225-7/+7
| | | | | | | | | | | | | | | | This is the one of multiple patches that fix bugzilla https://bugs.llvm.org/show_bug.cgi?id=33869 Most of the patches are intended at refactoring the existent code. Additional relevant reviews: https://reviews.llvm.org/D40330 https://reviews.llvm.org/D40331 https://reviews.llvm.org/D40333 https://reviews.llvm.org/D40334 Differential Revision: https://reviews.llvm.org/D40332 Change-Id: I6a048cca7fdafbfc42fb1bac94343e483befded8 llvm-svn: 323094
* ExecutionDepsFix refactoring:Marina Yatsina2018-01-222-95/+105
| | | | | | | | | | | | | | | | | | - clang-format This is the one of multiple patches that fix bugzilla https://bugs.llvm.org/show_bug.cgi?id=33869 Most of the patches are intended at refactoring the existent code. Additional relevant reviews: https://reviews.llvm.org/D40330 https://reviews.llvm.org/D40332 https://reviews.llvm.org/D40333 https://reviews.llvm.org/D40334 Differential Revision: https://reviews.llvm.org/D40331 Change-Id: I131b126af13bc743bc5d69d83699e52b9b720979 llvm-svn: 323093
* ExecutionDepsFix refactoring:Marina Yatsina2018-01-222-94/+133
| | | | | | | | | | | | | | | | | | | | - Moving comments to class definition in header file - Changing comments to doxygen style - Rephrase loop traversal explaining comment This is the one of multiple patches that fix bugzilla https://bugs.llvm.org/show_bug.cgi?id=33869 Most of the patches are intended at refactoring the existent code. Additional relevant reviews: https://reviews.llvm.org/D40330 https://reviews.llvm.org/D40332 https://reviews.llvm.org/D40333 https://reviews.llvm.org/D40334 Differential Revision: https://reviews.llvm.org/D40331 Change-Id: I9a12618db5b66128611fa71b54a233414f6012ac llvm-svn: 323092
* ExecutionDepsFix refactoring:Marina Yatsina2018-01-222-71/+57
| | | | | | | | | | | | | | | | | | - Removing LiveRegs This is the one of multiple patches that fix bugzilla https://bugs.llvm.org/show_bug.cgi?id=33869 Most of the patches are intended at refactoring the existent code. Additional relevant reviews: https://reviews.llvm.org/D40330 https://reviews.llvm.org/D40332 https://reviews.llvm.org/D40333 https://reviews.llvm.org/D40334 Differential Revision: https://reviews.llvm.org/D40331 Change-Id: I8ab56d99951a6d6981542f68d94c1f624f3c9fbf llvm-svn: 323091
* ExecutionDepsFix refactoring:Marina Yatsina2018-01-222-54/+46
| | | | | | | | | | | | | | | | | | - Changing LiveRegs to be a vector This is the one of multiple patches that fix bugzilla https://bugs.llvm.org/show_bug.cgi?id=33869 Most of the patches are intended at refactoring the existent code. Additional relevant reviews: https://reviews.llvm.org/D40330 https://reviews.llvm.org/D40332 https://reviews.llvm.org/D40333 https://reviews.llvm.org/D40334 Differential Revision: https://reviews.llvm.org/D40331 Change-Id: I9cdd364bd7bf2a0bf61ea41a48d4bd310ec3bce4 llvm-svn: 323090
* ExecutionDepsFix refactoring:Marina Yatsina2018-01-222-35/+41
| | | | | | | | | | | | | | | | | | | | | | - Changing DenseMap<MBB*, LiveReg*> to SmallVector<LiveReg*> - Now the MBB number will be the index of LiveReg in the vector. - Adding asserts This patch is NFC. This is the one of multiple patches that fix bugzilla https://bugs.llvm.org/show_bug.cgi?id=33869 Most of the patches are intended at refactoring the existent code. Additional relevant reviews: https://reviews.llvm.org/D40330 https://reviews.llvm.org/D40332 https://reviews.llvm.org/D40333 https://reviews.llvm.org/D40334 Differential Revision: https://reviews.llvm.org/D40331 Change-Id: If4a3f141693d0361ddb292432337dbb63a1e69ee llvm-svn: 323089
* ExecutionDepsFix refactoring:Marina Yatsina2018-01-222-85/+47
| | | | | | | | | | | | | | | | | | | | | | | - Remove unneeded includes and unneeded members - Use range iterators - Variable renaming, typedefs, extracting constants - Removing {} from one line ifs This patch is NFC. This is the one of multiple patches that fix bugzilla https://bugs.llvm.org/show_bug.cgi?id=33869 Most of the patches are intended at refactoring the existent code. Additional relevant reviews: https://reviews.llvm.org/D40330 https://reviews.llvm.org/D40332 https://reviews.llvm.org/D40333 https://reviews.llvm.org/D40334 Differential Revision: https://reviews.llvm.org/D40331 Change-Id: Ib59060ab3fa5bee3bf2ca2045c24e572635ee7f6 llvm-svn: 323088
* Separate ExecutionDepsFix into 4 parts:Marina Yatsina2018-01-2212-198/+562
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. ReachingDefsAnalysis - Allows to identify for each instruction what is the “closest” reaching def of a certain register. Used by BreakFalseDeps (for clearance calculation) and ExecutionDomainFix (for arbitrating conflicting domains). 2. ExecutionDomainFix - Changes the variant of the instructions in order to minimize domain crossings. 3. BreakFalseDeps - Breaks false dependencies. 4. LoopTraversal - Creatws a traversal order of the basic blocks that is optimal for loops (introduced in revision L293571). Both ExecutionDomainFix and ReachingDefsAnalysis use this to determine the order they will traverse the basic blocks. This also included the following changes to ExcecutionDepsFix original logic: 1. BreakFalseDeps and ReachingDefsAnalysis logic no longer restricted by a register class. 2. ReachingDefsAnalysis tracks liveness of reg units instead of reg indices into a given reg class. Additional changes in affected files: 1. X86 and ARM targets now inherit from ExecutionDomainFix instead of ExecutionDepsFix. BreakFalseDeps also was added to the passes they activate. 2. Comments and references to ExecutionDepsFix replaced with ExecutionDomainFix and BreakFalseDeps, as appropriate. Additional refactoring changes will follow. This commit is (almost) NFC. The only functional change is that now BreakFalseDeps will break dependency for all register classes. Since no additional instructions were added to the list of instructions that have false dependencies, there is no actual change yet. In a future commit several instructions (and tests) will be added. This is the first of multiple patches that fix bugzilla https://bugs.llvm.org/show_bug.cgi?id=33869 Most of the patches are intended at refactoring the existent code. Additional relevant reviews: https://reviews.llvm.org/D40331 https://reviews.llvm.org/D40332 https://reviews.llvm.org/D40333 https://reviews.llvm.org/D40334 Differential Revision: https://reviews.llvm.org/D40330 Change-Id: Icaeb75e014eff96a8f721377783f9a3e6c679275 llvm-svn: 323087
* Fix TestTargetSymbolsAddCommand [getBuildArtifact refactor]Pavel Labath2018-01-221-1/+1
| | | | llvm-svn: 323086
* Fix memory leaks in MinidumpParserTestRaphael Isemann2018-01-221-6/+6
| | | | | | | | | | | | | | Summary: We never delete the allocated RegisterContext objects, causing those tests to fail with enabled memory sanitizer. Reviewers: dvlahovski, zturner Reviewed By: zturner Subscribers: zturner, lldb-commits Differential Revision: https://reviews.llvm.org/D42347 llvm-svn: 323085
* [BinaryFormat] Add .debug_names supportPavel Labath2018-01-223-9/+40
| | | | | | | | | | | | | | Summary: This adds a definition of the .debug_names section and the new constants (DW_IDX_???) which are used in it. Reviewers: JDevlieghere, aprantl Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D42296 llvm-svn: 323084
* [lsan] Respect log_path option in standalone LSanMaxim Ostapenko2018-01-222-0/+28
| | | | | | Differential Revision: https://reviews.llvm.org/D42303 llvm-svn: 323083
* Fix use after free in DiskFilesOrDirectoriesRaphael Isemann2018-01-221-1/+1
| | | | | | | | | | | | | | | Summary: We copy the local variable `Resolved` into `Storage` to keep it around. However, we then still let the `SearchDir` ref point to `Resolved` which then is used to access the already freed memory later on. With this patch we point to `Storage` which doesn't get deleted after the current scope exits. Discovered by memory sanitizer in the CompletionTest.DirCompletionUsername test. Reviewers: zturner Subscribers: lldb-commits Differential Revision: https://reviews.llvm.org/D42346 llvm-svn: 323082
* Fix unrepresentable float value in ScalarTestRaphael Isemann2018-01-221-1/+1
| | | | | | | | | | | | Summary: float can't represent the given value in the literal, so we get this UB error: `runtime error: 1.23457e+48 is outside the range of representable values of type 'float'`. The test seems to not rely on this specific value, so let's just choose a smaller one that can be represented. Reviewers: uweigand Subscribers: lldb-commits Differential Revision: https://reviews.llvm.org/D42338 llvm-svn: 323081
* [NFC] fix trivial typos in commentsHiroshi Inoue2018-01-222-2/+2
| | | | | | "the the" -> "the" llvm-svn: 323080
* Revert [SCEV] Fix isLoopEntryGuardedByCond usageSerguei Katkov2018-01-223-75/+10
| | | | | | | It causes buildbot failures. New added assert is fired. It seems not all usages of isLoopEntryGuardedByCond are fixed. llvm-svn: 323079
* [NFC] fix trivial typos in commentsHiroshi Inoue2018-01-226-7/+7
| | | | | | "the the" -> "the" llvm-svn: 323078
* [SCEV] Fix isLoopEntryGuardedByCond usageSerguei Katkov2018-01-223-10/+75
| | | | | | | | | | | | ScalarEvolution::isKnownPredicate invokes isLoopEntryGuardedByCond without check that SCEV is available at entry point of the loop. It is incorrect and fixed by patch. Reviewers: sanjoy, mkazantsev, anna, dorit Reviewed By: mkazantsev Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D42165 llvm-svn: 323077
* Fix memory leaks in TestArm64InstEmulationRaphael Isemann2018-01-221-10/+10
| | | | | | | | | | | | | | Summary: We never delete the created instances, so those test fail with the memory sanitizer. Reviewers: jasonmolenda Reviewed By: jasonmolenda Subscribers: aemerson, javed.absar, kristof.beyls, lldb-commits Differential Revision: https://reviews.llvm.org/D42336 llvm-svn: 323076
* Make loop counter unsigned in SymbolFilePDB::GetCompileUnitIndexRaphael Isemann2018-01-221-1/+1
| | | | | | | | | | | | | | Summary: This fixes a clang warning. Reviewers: zturner Reviewed By: zturner Subscribers: zturner, lldb-commits Differential Revision: https://reviews.llvm.org/D42345 llvm-svn: 323075
* [NFC] fix trivial typos in commentsHiroshi Inoue2018-01-227-9/+9
| | | | | | "the the" -> "the" llvm-svn: 323074
* [ORC] Add orc::SymbolResolver, a Orc/Legacy API interop header, and anLang Hames2018-01-2211-19/+249
| | | | | | | | | | | | | | | orc::SymbolResolver to JITSymbolResolver adapter. The new orc::SymbolResolver interface uses asynchronous queries for better performance. (Asynchronous queries with bulk lookup minimize RPC/IPC overhead, support parallel incoming queries, and expose more available work for distribution). Existing ORC layers will soon be updated to use the orc::SymbolResolver API rather than the legacy llvm::JITSymbolResolver API. Because RuntimeDyld still uses JITSymbolResolver, this patch also includes an adapter that wraps an orc::SymbolResolver with a JITSymbolResolver API. llvm-svn: 323073
* Really comment out the constexpr tests.Marshall Clow2018-01-222-30/+30
| | | | llvm-svn: 323072
* Change a static_assert to check for is_trivial instead of is_pod, as is ↵Marshall Clow2018-01-222-2/+2
| | | | | | mandated by P0767. llvm-svn: 323071
* implement (but leave commented out) the constexpr tests from P0202 for ↵Marshall Clow2018-01-222-2/+47
| | | | | | std::merge. merge requires std::copy, which isn't constexpr yet. llvm-svn: 323070
* Clean up #include "DWARFCompileUnit.h"Jan Kratochvil2018-01-214-3/+1
| | | | | | | | | Clean up needless+missing #include "DWARFCompileUnit.h" for split of DWARFCompileUnit to DWARFUnit as discussed in D40466. Differential revision: https://reviews.llvm.org/D42355 llvm-svn: 323069
* [InstCombine] (X << Y) / X -> 1 << YSanjay Patel2018-01-212-27/+20
| | | | | | | | | | | | | | | ...when the shift is known to not overflow with the matching signed-ness of the division. This closes an optimization gap caused by canonicalizing mul by power-of-2 to shl as shown in PR35709: https://bugs.llvm.org/show_bug.cgi?id=35709 Patch by Anton Bikineev! Differential Revision: https://reviews.llvm.org/D42032 llvm-svn: 323068
* [InstSimplify] add baseline tests for (X << Y) % X -> 0; NFCSanjay Patel2018-01-211-12/+82
| | | | | | | | | | | This is the 'rem' counterpart to D42032 and would be folded by D42341. Patch by Anton Bikineev. Differential Revision: https://reviews.llvm.org/D42342 llvm-svn: 323067
* Temporarily revert r323062 to investigate buildbot failuresEugene Leviant2018-01-2114-431/+31
| | | | llvm-svn: 323065
* [modules] Fix missing includes/typo in LLDB's includes. [NFC]Raphael Isemann2018-01-217-1/+10
| | | | | | | | | | | | | | | | | | | | | Summary: This patch adds missing includes to the LLDB headers inside `include/` as a first step of building LLDB's source with C++ modules. It also fixes this single `stds::` typo. Some quick map why some non-obvious includes were necessary: * lldb/lldb-defines.h for LLDB_INVALID_ADDRESS * lldb/lldb-types.h for addr_t * lldb/lldb-defines.h for DISALLOW_COPY_AND_ASSIG * lldb/DataFormatters/TypeSynthetic.h for SyntheticChildrenFrontEnd Reviewers: aprantl Reviewed By: aprantl Subscribers: zturner, lldb-commits Differential Revision: https://reviews.llvm.org/D42340 llvm-svn: 323064
* An attempt to fix buildbot after rL323062Eugene Leviant2018-01-211-9/+9
| | | | llvm-svn: 323063
* [ThinLTO] Implement summary visualizerEugene Leviant2018-01-2114-31/+431
| | | | | | Differential revision: https://reviews.llvm.org/D41297 llvm-svn: 323062
* [sanitizer] Pass the CMake compiler to custom libc++ buildPetr Hosek2018-01-211-0/+3
| | | | | | This addresses the error introduced in r323054 on some bots. llvm-svn: 323061
* [ORC] Add a lookupFlags method to VSO.Lang Hames2018-01-214-0/+86
| | | | | | | | | | | | lookupFlags returns a SymbolFlagsMap for the requested symbols, along with a set containing the SymbolStringPtr for any symbol not found in the VSO. The JITSymbolFlags for each symbol will have been stripped of its transient JIT-state flags (i.e. NotMaterialized, Materializing). Calling lookupFlags does not trigger symbol materialization. llvm-svn: 323060
* [ORC] More cleanup. NFC.Lang Hames2018-01-211-3/+3
| | | | llvm-svn: 323059
OpenPOWER on IntegriCloud