summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [ELF/AARCH64] - Implemented R_AARCH64_TSTBR14 relocation.George Rimar2016-01-113-0/+115
| | | | | | | | | R_AARCH64_TSTBR14 is calculated as S+A-P, Set the immediate field of a TBZ/TBNZ instruction to bits [15:2] of X; check -2^15 ≤ X < 2^15 Differential revision: http://reviews.llvm.org/D15824 llvm-svn: 257334
* [ELF/AARCH64] - Implemented R_AARCH64_CONDBR19 relocation.George Rimar2016-01-113-0/+123
| | | | | | | | | | | | R_AARCH64_CONDBR19 is calculated as S+A-P, Set the immediate field of a conditional branch instruction to bits [20:2] of X; check -2^20 ≤ X< 2^20. Afaik there is no document for AARCH64 instruction encoding from official for unknown reason, so I used gold source code and next link as a reference for implementation: http://kitoslab-eng.blogspot.ru/2012/10/armv8-aarch64-instruction-encoding.html. From which is clear that immediate field of a conditional branch instruction is 5 bits off. That is proved by output which is is equal to gold/bfd now. Differential revision: http://reviews.llvm.org/D15809 llvm-svn: 257333
* [ELF/AARCH64] - Implemented R_AARCH64_IRELATIVE relocation.George Rimar2016-01-113-0/+176
| | | | | | | | Implemented in the same way as was already done for x86/x64 targets (http://reviews.llvm.org/D15235). Differential revision: http://reviews.llvm.org/D15806 llvm-svn: 257332
* [ELF] - improved relocation-copy.s test (added R_X86_64_32 relocations)George Rimar2016-01-111-6/+10
| | | | | | | | | | | | * Added instructions to generate R_X86_64_32 relocations. Without that next part of code was uncovered by test, code worked without it: bool X86_64TargetInfo::relocNeedsPlt(uint32_t Type, const SymbolBody &S) const { if (needsCopyRel(Type, S)) return false; * Removed -e main, added _start Differential revision: http://reviews.llvm.org/D15714 llvm-svn: 257331
* clang-format: Fix overloading "operator," definitions more thoroughly.Daniel Jasper2016-01-112-5/+5
| | | | | | | | | | | Before: aaaaaaaaaaaaaaaaaaaaaa operator,(aaaaaaaaaaaaaaaaaaaaa & aaaaaaaaaaaaaaaaaaaaaaaaaa) const; After: aaaaaaaaaaaaaaaaaaaaaa operator,( aaaaaaaaaaaaaaaaaaaaa &aaaaaaaaaaaaaaaaaaaaaaaaaa) const; llvm-svn: 257330
* Mark TestChangeValueAPI as flaky on linux (pr25652)Pavel Labath2016-01-111-0/+1
| | | | llvm-svn: 257329
* [X86] Reduce complexity of the LEA optimization pass, by Andrey Turetsky.Alexey Bataev2016-01-111-7/+28
| | | | | | | In the OptimizeLEA pass keep instructions' positions in the basic block saved and use them for calculation of the distance between two instructions instead of std::distance. This reduces complexity of the pass from O(n^3) to O(n^2) and thus the compile time. Differential Revision: http://reviews.llvm.org/D15692 llvm-svn: 257328
* [WebAssembly] Fix a typo in a comment.Dan Gohman2016-01-111-1/+1
| | | | llvm-svn: 257327
* Fix assert hit when tree-transforming template template parameter packs.Manuel Klimek2016-01-112-2/+12
| | | | | | | | | Covers significantly more code in the template template pack argument test and fixes the resulting assert problem. Differential Revision: http://reviews.llvm.org/D15743 llvm-svn: 257326
* clang-format: Slightly row back on r257257.Daniel Jasper2016-01-112-1/+18
| | | | | | | | | | | | | | | | | | | | | r257257 change the way clang-format enforces line breaks after a templated type has been line-wrapped. This was to fix an incorrect line break if BinPackParameters is set to false. However, it also leads to an unwanted line break in a different case. Thus, for now, only do this when BinPackParameters is false. This isn't ideal yet, but helps us until we have a better solution. With BinPackParameters: Before: void fffffffffff(aaaaaaaaaaaaaaaaaaaaaaaaaaa<aaaaaaaaaaaaaaaaaaaaaaa, aaaaaaaaaa> aaaaaaaaaa); After: void fffffffffff( aaaaaaaaaaaaaaaaaaaaaaaaaaa<aaaaaaaaaaaaaaaaaaaaaaa, aaaaaaaaaa> aaaaaaaaaa); llvm-svn: 257325
* clang-format: [JS] Improve line-flow when calling functions on array literals.Daniel Jasper2016-01-112-4/+12
| | | | | | | | | | | | | | | | | | | Before: return [ aaaaaaaaaaaaaaaaaaaaaa ].aaaaaaa(function() { // }) .bbbbbb(); After: return [aaaaaaaaaaaaaaaaaaaaaa] .aaaaaaa(function() { // }) .bbbbbb(); llvm-svn: 257324
* Skip TestEvents on linux completelyPavel Labath2016-01-111-1/+1
| | | | | | | The test hangs/crashes/fails because it does not use the listener API in a way that LLDB expects. I don't really know if this is the fault of LLDB of the test... llvm-svn: 257323
* Make the aarch64 lldb-server capable of debugging arm32 applicationsTamas Berghammer2016-01-114-11/+111
| | | | | | Differential revision: http://reviews.llvm.org/D15533 llvm-svn: 257322
* Remove CRLF line endings from test_common.hPavel Labath2016-01-111-44/+44
| | | | llvm-svn: 257321
* [clang-tidy] Fix a false positive in google-runtime-memsetAlexander Kornienko2016-01-112-11/+17
| | | | | | | | | | | | | | | | | google-runtime-memset no longer issues a warning if the fill char value is known to be an invalid fill char count. Namely, it no longer warns for these: memset(p, 0, 0); memset(p, -1, 0); In both cases, swapping the last two args would either be useless (there is no actual bug) or wrong (it would introduce a bug). Patch by Matt Armstrong! llvm-svn: 257320
* Centralize the handling of attach permissions on linux in testsPavel Labath2016-01-1110-134/+42
| | | | | | | | | | | | | | | Summary: On linux we need the process to give us special permissions before we can attach to it. Previously, the code for this was copied into every file that needed it. This moves the code to a central place to reduce code duplication. Reviewers: clayborg Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D15992 llvm-svn: 257319
* AnalysisConsumer: use canonical decl for both lookup and store ofYury Gribov2016-01-112-4/+20
| | | | | | | | | | | | | | | | visited decls. Due to redeclarations, the function may have different declarations used in CallExpr and in the definition. However, we need to use a unique declaration for both store and lookup in VisitedCallees. This patch fixes issues with analysis in topological order. A simple test is included. Patch by Alex Sidorin! Differential Revision: http://reviews.llvm.org/D15410 llvm-svn: 257318
* [BranchFolding] Set correct mem refs (2nd try)Junmo Park2016-01-112-1/+34
| | | | | | | | | | | | This is a recommit of r257253 which was reverted in r257270. Previous testcase can make failure on some targets due to using opt with O3 option. Original Summary: Merge MBBICommon and MBBI's MMOs. Differential Revision: http://reviews.llvm.org/D15990 llvm-svn: 257317
* [ORC] Move ORC RPC helper classes that rely on partial specialization into aLang Hames2016-01-111-64/+76
| | | | | | | | | non-template base class. Hopefully this should fix the issues with the windows bots arrising from r257305. llvm-svn: 257316
* [TableGen] Allow asm writer to use up to 3 OpInfo tables instead of 2. This ↵Craig Topper2016-01-111-30/+32
| | | | | | | | allows x86 to use 56 total bits made up of a 32-bit, 16-bit, and 8-bit table. Previously we were using 64 total bits. This saves 14K from the x86 table size. And saves space on other targets as well. llvm-svn: 257315
* [TableGen] Remove unnecessary 0 terminator from an array that only existed ↵Craig Topper2016-01-111-4/+0
| | | | | | to prevent ending an array with a comma. But that's perfectly legal and not something we need to prevent. NFC llvm-svn: 257314
* Fix examples corresponding to r257302.NAKAMURA Takumi2016-01-111-1/+1
| | | | llvm-svn: 257313
* [Orc] Remove the empty class definitions in RPCUtils.h in the hope of workingLang Hames2016-01-111-2/+2
| | | | | | around MSVC's C2783 error. llvm-svn: 257312
* Move all decls in coverage namespace into CoverageMapping.h/NFCXinliang David Li2016-01-112-49/+51
| | | | llvm-svn: 257311
* Orc] Drop PageSize member from Orc architecture support class in favour ofLang Hames2016-01-113-6/+8
| | | | | | | | Process::getPageSize() - the former is redundant. NFC. llvm-svn: 257310
* [Orc] Remove the FPRPCChannel class from RPCChannel.h - it requires unistd.h,Lang Hames2016-01-111-27/+0
| | | | | | which was removed in r257306. llvm-svn: 257309
* [TableGen] Remove a few spaces from AsmMatcher output. NFCCraig Topper2016-01-111-3/+3
| | | | llvm-svn: 257308
* [Orc] Include the IndirectionUtils header in OrcRemoteTargetClient.Lang Hames2016-01-111-0/+1
| | | | | | This should fix the modules builder. llvm-svn: 257307
* [Orc] Remote the <unistd> include introduced in r257305 - it's not needed, andLang Hames2016-01-111-1/+0
| | | | | | broke the windows bots. llvm-svn: 257306
* [Orc] Add support for remote JITing to the ORC API.Lang Hames2016-01-119-0/+2068
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds utilities to ORC for managing a remote JIT target. It consists of: 1. A very primitive RPC system for making calls over a byte-stream. See RPCChannel.h, RPCUtils.h. 2. An RPC API defined in the above system for managing memory, looking up symbols, creating stubs, etc. on a remote target. See OrcRemoteTargetRPCAPI.h. 3. An interface for creating high-level JIT components (memory managers, callback managers, stub managers, etc.) that operate over the RPC API. See OrcRemoteTargetClient.h. 4. A helper class for building servers that can handle the RPC calls. See OrcRemoteTargetServer.h. The system is designed to work neatly with the existing ORC components and functionality. In particular, the ORC callback API (and consequently the CompileOnDemandLayer) is supported, enabling lazy compilation of remote code. Assuming this doesn't trigger any builder failures, a follow-up patch will be committed which tests these utilities by using them to replace LLI's existing remote-JITing demo code. llvm-svn: 257305
* [AVX-512] Remove another extra space from the Intel syntax asm strings.Craig Topper2016-01-112-33/+33
| | | | llvm-svn: 257304
* [AVX-512] Fix test case update missed in r257299.Craig Topper2016-01-111-1/+1
| | | | llvm-svn: 257303
* [Orc] Rename OrcTargetSupport to OrcArchitectureSupport to avoid confusion withLang Hames2016-01-116-13/+13
| | | | | | the upcoming remote-target support classes. llvm-svn: 257302
* [AVX-512] Remove more superfluous spaces from asm strings.Craig Topper2016-01-111-6/+6
| | | | llvm-svn: 257301
* [AVX-512] Remove unused Round and Itinerary from the maskable_cmp ↵Craig Topper2016-01-113-102/+94
| | | | | | multiclasses. They weren't used and there were extra spaces in the asm string to prepare for the concatenations of the round string that wasn't ever used. llvm-svn: 257300
* [AVX-512] Make spacing between comma and {sae} operand consistent in asm ↵Craig Topper2016-01-115-74/+74
| | | | | | strings. llvm-svn: 257299
* [X86] Remove extra spaces from MPX instruction asm strings.Craig Topper2016-01-111-14/+14
| | | | llvm-svn: 257298
* [Orc] Add error codes and a new std::error_category for remote-jit errors.Lang Hames2016-01-113-0/+95
| | | | | | | These will be used by an upcoming patch that adds remote-jit support utilities to ORC. llvm-svn: 257297
* [RuntimeDyld] Add a notifyObjectLoaded method to RuntimeDyld::MemoryManager.Lang Hames2016-01-103-1/+21
| | | | | | | | This is a more generic version of the MCJITMemoryManager::notifyObjectLoaded method: It provides only a RuntimeDyld reference (rather than an ExecutionEngine), and so can be used with ORC JIT stacks. llvm-svn: 257296
* Move coveragemap_error enum into coverage namespace and InstrProf.h /NFCXinliang David Li2016-01-103-21/+19
| | | | llvm-svn: 257295
* [RuntimeDyld] Add alignment arguments to the reserveAllocationSpace method ofLang Hames2016-01-105-25/+36
| | | | | | | | | | | | | | RuntimeDyld::MemoryManager. The RuntimeDyld::MemoryManager::reserveAllocationSpace method is called when object files are loaded, and gives clients a chance to pre-allocate memory for all segments. Previously only the size of each segment (code, ro-data, rw-data) was supplied but not the alignment. This hasn't caused any problems so far, as most clients allocate via the MemoryBlock interface which returns page-aligned blocks. Adding alignment arguments enables finer grained allocation while still satisfying alignment restrictions. llvm-svn: 257294
* [SectionMemoryManager] Don't just drop the RO free listKeno Fischer2016-01-101-3/+0
| | | | | | | | | | | | | In r255760, I optimized the SectionMemoryManager to make better use of virtual memory on platforms where the allocation granularity was bigger than the protection granularity. As part of this, fixing up the free list became more complicated and was moved into `applyMemoryGroupPermissions`. Unfortunately, I forgot to actually remove the call that drops the free list for RO memory (I did remove the corresponding one for RX memory), defeating the whole optimization. llvm-svn: 257293
* Speed up LiveDebugValuesDaniel Berlin2016-01-101-28/+52
| | | | | | | | | | | | | | | | Summary: Use proper dataflow ordering to speed convergence. This will converge the testcase on bug 26055 in 2 iterations. (data structures speedups to come to make even that faster) Reviewers: kcc, samsonov, echristo, dblaikie, tvvikram Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D16039 llvm-svn: 257292
* Accidentally removed part of the file header. Restoring it back.Ekaterina Romanova2016-01-101-1/+1
| | | | llvm-svn: 257291
* OrcJITTests//ObjectLinkingLayerTest.cpp: Appease msc18's C2327. It seems ↵NAKAMURA Takumi2016-01-101-9/+9
| | | | | | | | | | | definition of nested class would confuse the context. llvm\unittests\ExecutionEngine\Orc\ObjectLinkingLayerTest.cpp(115) : error C2327: 'llvm::OrcExecutionTest::TM' : is not a type name, static, or enumerator llvm\unittests\ExecutionEngine\Orc\ObjectLinkingLayerTest.cpp(115) : error C2065: 'TM' : undeclared identifier FYI, "this->TM" was valid even before moving class SectionMemoryManagerWrapper. llvm-svn: 257290
* [ADT] Another stab at fixing the PointerEmbeddedInt build for MSVC.Benjamin Kramer2016-01-101-2/+2
| | | | | | MSVC18 seems to have other problems here, just hardcode uintptr_t. llvm-svn: 257289
* [ADT] Unbreak PointerEmbeddedInt build with MSVC.Benjamin Kramer2016-01-101-2/+2
| | | | | | | | MSVC seems to have problems looking up Value inside of the template. Not really sure whether that's a bug there or Clang and GCC being too permissive. llvm-svn: 257288
* Simplify test code with initializer lists.Benjamin Kramer2016-01-101-47/+16
| | | | | | No functional change intended. llvm-svn: 257287
* Make test work on windows by turning \ in paths back into /.Benjamin Kramer2016-01-101-2/+8
| | | | llvm-svn: 257286
* Optimized instruction sequence for sitofp operation on X86-32Elena Demikhovsky2016-01-103-16/+87
| | | | | | | | | | | | | | | | | | | Optimized sitofp i64 %x to double. The current sequence movl %ecx, 8(%esp) movl %edx, 12(%esp) fildll 8(%esp) is replaced with: movd %ecx, %xmm0 movd %edx, %xmm1 punpckldq %xmm1, %xmm0 movq %xmm0, 8(%esp) Differential Revision: http://reviews.llvm.org/D15946 llvm-svn: 257285
OpenPOWER on IntegriCloud