summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [compiler-rt] Add support for relative offset adjustment in interceptionEtienne Bergeron2016-07-211-9/+32
| | | | | | | | | | | | | | | | | Summary: Some instructions can only be copied if the relative offset is adjusted. This patch adds support for two common instruction. It's quite common to have a indirect load in the prologue (loading the security cookie). Reviewers: rnk Subscribers: llvm-commits, wang0109, chrisha Differential Revision: https://reviews.llvm.org/D22647 llvm-svn: 276336
* Disable a flaky test on Windows that uses "echo >>"Reid Kleckner2016-07-211-0/+5
| | | | llvm-svn: 276335
* Fix the clang-cl self-host with VS 2013 headersReid Kleckner2016-07-211-2/+1
| | | | | | | | std::numeric_limits<int64_t>::max() is not constexpr in VC 2013 headers, and Clang complains that it isn't. MSVC 2013 itself is emitting a dynamic initializer for this thing. Instead, use an enum. llvm-svn: 276334
* Enable cross-compilation across architectures on androidFrancis Ricci2016-07-211-1/+1
| | | | | | | | | | | | | | | Summary: This patch fixes cross-architecture compilation, by allowing flags like -target and --sysroot to be set for architecture testing and compilation. Reviewers: tberghammer, srhines, danalbert, beanz, compnerd Subscribers: tberghammer, llvm-commits, danalbert Differential Revision: https://reviews.llvm.org/D22415 llvm-svn: 276333
* [asan] Fix Win64 test portability issuesReid Kleckner2016-07-214-5/+6
| | | | | | | | | | | | | The OOM test should really only run on 32-bits, since it's hard to OOM on x64. The operator_array_new_with_dtor_left_oob tests need to account for the larger array cookie on x64 (8 bytes instead of 4). Use -std=c++14 in use-after-scope-capture.cc to avoid errors in the MSVC 2015 STL on Windows. The default there is C++14 anyway. llvm-svn: 276332
* Normalize file docs. NFC.George Burgess IV2016-07-211-1/+1
| | | | | | | | Having the added `\brief` made doxygen interpret it as the summary for the `llvm` namespace (visible at: http://llvm.org/doxygen/namespaces.html). llvm-svn: 276331
* [PGO] Make needsComdatForCounter() available (NFC)Rong Xu2016-07-213-27/+30
| | | | | | | | | | Move needsComdatForCounter() to lib/ProfileData/InstrProf.cpp from lib/Transforms/Instrumentation/InstrProfiling.cpp to make is available for other files. Differential Revision: https://reviews.llvm.org/D22643 llvm-svn: 276330
* Fix PR28575.Rafael Espindola2016-07-216-48/+143
| | | | | | | | | | Not all relocations from a .eh_frame that point to an executable section should be ignored. In particular, the relocation finding the personality function should not. This is a reduction from trying to bootstrap a static lld on linux. llvm-svn: 276329
* add vector tests and a simpler version of the negative testsSanjay Patel2016-07-211-3/+48
| | | | llvm-svn: 276328
* Disable thread safe statics in clang-cl, they call the CRTReid Kleckner2016-07-212-2/+2
| | | | | | Also remove the needless static that was using them. llvm-svn: 276327
* Fix unsymbolize unittest. Adding win64 address.Etienne Bergeron2016-07-211-2/+2
| | | | llvm-svn: 276326
* [docs] Move GitHub to GitHubSubModRenato Golin2016-07-212-5/+5
| | | | | | | | Given that other proposals are making their way through, it's better if we specify what GitHub proposal this is, in case there are others that also involve GitHub, but not sub-modules. llvm-svn: 276325
* [compiler-rt] Fix interception of memcpy/memmove on win64Etienne Bergeron2016-07-213-10/+8
| | | | | | | | | | | | | | Summary: This patch is fixing running interception unittests for memcpy/memmove on windows 64. Reviewers: rnk Subscribers: llvm-commits, wang0109, kubabrecka, chrisha Differential Revision: https://reviews.llvm.org/D22641 llvm-svn: 276324
* [ELF] - Basic support of linkerscript commands: DATA_SEGMENT_ALIGN, ↵George Rimar2016-07-212-0/+96
| | | | | | | | | | | | | | | | | | | | | | | | | DATA_SEGMENT_END, CONSTANT It is called basic because: CONSTANT expression can refer to COMMONPAGESIZE and MAXPAGESIZE. This sizes are usually different and used for possible optimization of memory consumption. More details are here: https://sourceware.org/ml/binutils/2002-02/msg00265.html We currently do not support this optimization, so both CONSTANT(MAXPAGESIZE) and CONSTANT(COMMONPAGESIZE) just return Target->PageSize value. DATA_SEGMENT_ALIGN and DATA_SEGMENT_END are used as a part of opt. The latter one is just ignored now. According to documentation DATA_SEGMENT_ALIGN has 2 possible calculation, but since we do not support mentioned opt - it is always calculated now as (ALIGN(MAXPAGESIZE) + (. & (MAXPAGESIZE - 1))). In general this should work for now until we deside to support this opt. Differential revision: https://reviews.llvm.org/D19663 llvm-svn: 276323
* Update comment.Rui Ueyama2016-07-211-2/+6
| | | | llvm-svn: 276322
* Transfer ownership of the XCore backend.Richard Osborne2016-07-211-4/+4
| | | | llvm-svn: 276321
* Revert "Invariant start/end intrinsics overloaded for address space"Anna Thomas2016-07-219-78/+23
| | | | | | This reverts commit r276316. llvm-svn: 276320
* [IndVars] Reflow oddly formatted condition; NFCSanjoy Das2016-07-211-2/+2
| | | | llvm-svn: 276319
* [sanitizer] allocator: remove kPopulateSize and only use ↵Kostya Serebryany2016-07-215-24/+28
| | | | | | SizeClassMap::MaxCached; ensure that TransferBatch size is a power of two, refactor TransferBatch creation/destruction into separate functions. llvm-svn: 276318
* Reroll "Include unreferenced nested types in member list only for CodeView"Adrian McCarthy2016-07-215-12/+32
| | | | | | Another attempt at r276271, hopefully without breaking ModuleDebugInfo test. llvm-svn: 276317
* Invariant start/end intrinsics overloaded for address spaceAnna Thomas2016-07-219-23/+78
| | | | | | | | | | | | | | | | | | | | | Summary: The llvm.invariant.start and llvm.invariant.end intrinsics currently support specifying invariant memory objects only in the default address space. With this change, these intrinsics are overloaded for any adddress space for memory objects and we can use these llvm invariant intrinsics in non-default address spaces. Example: llvm.invariant.start.p1i8(i64 4, i8 addrspace(1)* %ptr) This overloaded intrinsic is needed for representing final or invariant memory in managed languages. Reviewers: tstellarAMD, reames, apilipenko Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D22519 llvm-svn: 276316
* Fix MSVC 2015 compilation failure around range-for without curly bracesReid Kleckner2016-07-211-1/+2
| | | | | | | | | | | | | | It doesn't appear to like this pattern: for (auto X : Xs) if (...) { ... } else ...; We have heard anecdotes that range based for loops are implemented as a token rewrite in MSVC's lexer, and that the most challenging part of the rewrite is finding the end of the for loop. That makes sense, given that it's a lexer. llvm-svn: 276315
* Fix clang-cl warning and crash in sanitizersReid Kleckner2016-07-212-5/+6
| | | | | | | | | | Make kStderrFd a macro to avoid dynamic initialization of the report_file global. This actually causes a crash at runtime, because ASan initializes before static initializers run. Remove an unused variable in asan_win.cc. llvm-svn: 276314
* Use just built llvm-as in tests.Rafael Espindola2016-07-211-0/+1
| | | | llvm-svn: 276313
* make InstCombine compare helper functions private; NFCSanjay Patel2016-07-212-68/+69
| | | | | | Also, rename some of them for consistency and to follow current conventions. llvm-svn: 276312
* fix https://reviews.llvm.org/D22610Etienne Bergeron2016-07-212-1/+4
| | | | | | AppleClang can't compile the assignment expression. llvm-svn: 276311
* Avoid a string copy, NFCVedant Kumar2016-07-211-1/+1
| | | | llvm-svn: 276310
* Remove FIXME for feature test macroJF Bastien2016-07-211-1/+0
| | | | | | The value I'd picked was correct, as per the recently published SG10 paper http://wg21.link/p0096r3 llvm-svn: 276309
* [IRTranslator] Add G_SUB opcode.Quentin Colombet2016-07-214-0/+36
| | | | | | This commit adds a generic SUB opcode to global-isel. llvm-svn: 276308
* [llvm-config][GlobalISel] Canonicalize LLVM_HAS_GLOBAL_ISEL on ON/OFF.Quentin Colombet2016-07-211-1/+5
| | | | | | | | | | | Previously LLVM_HAS_GLOBAL_ISEL would directly get the value of LLVM_BUILD_GLOBAL_ISEL. This could be any integer value and not just ON and OFF. The problem is that lit.cfg was checking for ON to define that global-isel was supported, thus if we were setting LLVM_BUILD_GLOBAL_ISEL with an integer value, say 1, this test would fail whereas we do build global-isel and want to test it. llvm-svn: 276307
* [CMake][GlobalISel] Turn LLVM_BUILD_GLOBAL_ISEL into an option. NFC.Quentin Colombet2016-07-211-1/+1
| | | | | | | | Previously LLVM_BUILD_GLOBAL_ISEL was a boolean variable and although, this is strictly identical to an option, it did not convey the information that the user may set it. Options are here for that. llvm-svn: 276306
* [IRTranslator] Add comments to explain the ordering of the switch. NFC.Quentin Colombet2016-07-211-0/+3
| | | | | | Group arithmetic operations, bitwise operations, and branch operations. llvm-svn: 276305
* [InstCombine] break up visitICmpInstWithInstAndIntCst(); NFCISanjay Patel2016-07-212-155/+166
| | | | | | | Making smaller pieces out of some of these ~1000 line functions should make it easier to incrementally upgrade them to handle vector types. llvm-svn: 276304
* Add check for non-null log instance in PlatformAndroid.Oleksiy Vyalov2016-07-211-1/+1
| | | | llvm-svn: 276303
* Adding RELEASE_TESTERS.TXTRenato Golin2016-07-212-0/+60
| | | | llvm-svn: 276302
* [ELF] Fix bug in program header FLAGS processing + test case update (found ↵Eugene Leviant2016-07-212-6/+3
| | | | | | by grimar) llvm-svn: 276301
* [ELF] - Cleanup of LinkerScript<ELFT>::assignAddresses()George Rimar2016-07-212-8/+13
| | | | | | | | | | LinkerScript<ELFT>::assignAddresses is becoming larger and looks it can be good time for splitting. I expect to can more SectionsCommand's there, and dispatching some of them separatelly can help to keep method smaller either. Differential revision: https://reviews.llvm.org/D22506 llvm-svn: 276300
* [compiler-rt] Fix memmove/memcpy overlap detection on windowsEtienne Bergeron2016-07-212-3/+6
| | | | | | | | | | | | | | | | | | | | Summary: The memcpy and memmove functions are the same on windows. The overlap detection logic is incorrect. printf-1 test: ``` stdin>:2:114: note: possible intended match here ==877412==ERROR: AddressSanitizer: memcpy-param-overlap: memory ranges [0x0000002bf2a8,0x0000002bf2ad) and [0x0000002bf2a9, 0x0000002bf2ae) overlap ``` ^ Reviewers: rnk Subscribers: llvm-commits, wang0109, kubabrecka, chrisha Differential Revision: https://reviews.llvm.org/D22610 llvm-svn: 276299
* [AMDGPU] Emit read-only data to .rodata for hsaKonstantin Zhuravlyov2016-07-213-3/+4
| | | | | | Differential Revision: https://reviews.llvm.org/D22538 llvm-svn: 276298
* [IRTranslator] Add G_AND opcode.Quentin Colombet2016-07-214-0/+36
| | | | | | This commit adds a generic AND opcode to global-isel. llvm-svn: 276297
* [ELF] - Fixed 3 testases failtures on win32 configuration.George Rimar2016-07-211-1/+1
| | | | | | | | | | | | | | | | Had 3 testcases failtures: ELF/eh-frame-merge.s ELF/gc-sections-eh.s ELF/gc-sections-lsda.s​ Problem was that OutputOff is size_t, which is 32 for this configuration and next condition never was checked correctly: if (PieceI->OutputOff == (uintX_t)-1) continue; llvm-svn: 276296
* ELF/AMDGPU: Add support for R_AMDGPU_ABS32Konstantin Zhuravlyov2016-07-212-1/+11
| | | | | | Differential Revision: https://reviews.llvm.org/D21654 llvm-svn: 276295
* AMDGPU/SI: Add support for R_AMDGPU_ABS32Konstantin Zhuravlyov2016-07-213-0/+18
| | | | | | Differential Revision: https://reviews.llvm.org/D21646 llvm-svn: 276294
* [AArch64] Load/store opt: Don't count transient instructions towards search ↵Geoff Berry2016-07-212-15/+155
| | | | | | | | | | | | | | | | | | limits. Summary: This change also changes findMatchingInsn and findMatchingUpdateInsnForward to take DBG_VALUE opcodes into account when tracking register defs and uses, which could potentially inhibit these optimizations in the presence of debug information. Reviewers: mcrosier Subscribers: aemerson, rengolin, mcrosier, llvm-commits Differential Revision: https://reviews.llvm.org/D22582 llvm-svn: 276293
* Move some IntrusiveRefCntPtrs instead of copying.Benjamin Kramer2016-07-213-15/+17
| | | | | | No functionality change intended. llvm-svn: 276292
* Weaken ThreadSafeRefCountedBase atomics.Benjamin Kramer2016-07-211-2/+2
| | | | | | | Doesn't make a difference on x86, but avoids memory barriers on weakly-ordered archs like PowerPC and ARM. llvm-svn: 276291
* [compiler-rt] Disable some unittests on windows that rely on shell commandEtienne Bergeron2016-07-214-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: These unittests are not running on windows because they are using incorrect commands. They were not failing on 32-bits because there is a requirement: asan-64-bits. ``` $ "nm" "C:\src\llvm\ninja64\projects\compiler-rt\test\asan\X86_64WindowsConfig\TestCases\Output\no_asan_gen_globals.c.tmp.exe" # command stderr: 'nm': command not found error: command failed with exit status: 127 ``` ``` $ "rm" "-rf" "C:\src\llvm\ninja64\projects\compiler-rt\test\asan\X86_64WindowsConfig\TestCases\Output/coverage-tracing" $ "mkdir" "C:\src\llvm\ninja64\projects\compiler-rt\test\asan\X86_64WindowsConfig\TestCases\Output/coverage-tracing" $ "A=x" # command stderr: 'A=x': command not found error: command failed with exit status: 127 ``` ``` $ "DIR=C:\src\llvm\ninja64\projects\compiler-rt\test\asan\X86_64WindowsConfig\TestCases\Output/coverage-order-pcs" # command stderr: 'DIR=C:\\src\\llvm\\ninja64\\projects\\compiler-rt\\test\\asan\\X86_64WindowsConfig\\TestCases\\Output/coverage-order-pcs': command not found error: command failed with exit status: 127 ``` Reviewers: rnk Subscribers: tberghammer, llvm-commits, danalbert, wang0109, srhines, kubabrecka, chrisha Differential Revision: https://reviews.llvm.org/D22612 llvm-svn: 276290
* [X86][SSE] Allow folding of store/zext with PEXTRW of 0'th elementSimon Pilgrim2016-07-2118-131/+85
| | | | | | | | | | | | | | Under normal circumstances we prefer the higher performance MOVD to extract the 0'th element of a v8i16 vector instead of PEXTRW. But as detailed on PR27265, this prevents the SSE41 implementation of PEXTRW from folding the store of the 0'th element. Additionally it prevents us from making use of the fact that the (SSE2) reg-reg version of PEXTRW implicitly zero-extends the i16 element to the i32/i64 destination register. This patch only preferentially lowers to MOVD if we will not be zero-extending the extracted i16, nor prevent a store from being folded (on SSSE41). Fix for PR27265. Differential Revision: https://reviews.llvm.org/D22509 llvm-svn: 276289
* Unify process launching code on linuxPavel Labath2016-07-219-384/+265
| | | | | | | | | | | | | | | | | | | | | | | Summary: We've had two copies of code for launching processes: - one in NativeProcessLinux, used for launching debugged processes - one in ProcessLauncherAndroid, used on android for launching all other kinds of processes These have over time acquired support for various launch options, but neither supported all of them. I now replace them with a single implementation ProcessLauncherLinux, which supports all the options the individual versions supported and set it to be used to launch all processes on linux. This also works around the ETXTBSY issue on android when the process is started from the platform instance, as that used to go through the version which did not contain the workaround. Reviewers: tberghammer Subscribers: tberghammer, danalbert, srhines, lldb-commits Differential Revision: https://reviews.llvm.org/D22457 llvm-svn: 276288
* Fixed line endingsSimon Pilgrim2016-07-211-105/+105
| | | | llvm-svn: 276287
OpenPOWER on IntegriCloud