summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [lanai] Use peephole optimizer to generate more conditional ALU operations.Jacques Pienaar2016-07-0720-550/+1560
| | | | | | | | | | | | | | | | | Summary: * Similiar to the ARM backend yse the peephole optimizer to generate more conditional ALU operations; * Add predicated type with default always true to RR instructions in LanaiInstrInfo.td; * Move LanaiSetflagAluCombiner into optimizeCompare; * The ASM parser can currently only handle explicitly specified CC, so specify ".t" (true) where needed in the ASM test; * Remove unused MachineOperand flags; Reviewers: eliben Subscribers: aemerson Differential Revision: http://reviews.llvm.org/D22072 llvm-svn: 274807
* [ELF] Ignore --demangle. We already demangle symbols by default.Davide Italiano2016-07-071-0/+1
| | | | llvm-svn: 274806
* [CUDA] Pass correct option in test.Michael Kuperstein2016-07-071-1/+1
| | | | llvm-svn: 274805
* Move demangle() from Symbols.cpp to Strings.cpp.Rui Ueyama2016-07-075-39/+38
| | | | | | | | | | | | Symbols.cpp contains functions to handle ELF symbols. demangle() function is essentially a function to work on a string rather than on an ELF symbol. So Strings.cpp is a better place to put that function. This change also make demangle to demangle symbols unconditionally. Previously, it demangled symbols only when Config->Demangle is true. llvm-svn: 274804
* -Bsymbolic should not make symbols more preemptable.Rafael Espindola2016-07-072-3/+10
| | | | | | But it was doing that for protected undefined symbols. llvm-svn: 274803
* Recommit r274692 - [X86] Transform setcc + movzbl into xorl + setccMichael Kuperstein2016-07-0732-288/+526
| | | | | | | | | | | xorl + setcc is generally the preferred sequence due to the partial register stall setcc + movzbl suffers from. As a bonus, it also encodes one byte smaller. This fixes PR28146. The original commit tried inserting an 8bit-subreg into a GR32 (not GR32_ABCD) which was not appreciated by fast regalloc on 32-bit. llvm-svn: 274802
* [tsan] Try harder to not instrument gcov countersVedant Kumar2016-07-072-2/+7
| | | | | | | | GCOVProfiler::emitProfileArcs() can create many variables with names starting with "__llvm_gcov_ctr", so llvm appends a numeric suffix to most of them. Teach tsan about this. llvm-svn: 274801
* [Lex] Speed up updateConsecutiveMacroArgTokens (NFC)Vedant Kumar2016-07-071-3/+4
| | | | | | | SM.isWrittenInSameFile() calls getFileID(), which can be expensive. Move this check behind some cheaper filters. llvm-svn: 274800
* Update switch statement to match coding standards.Simon Pilgrim2016-07-071-1/+2
| | | | llvm-svn: 274799
* Add checks to the MachOObjectFile() constructor to make sure load commands sizesKevin Enderby2016-07-072-3/+25
| | | | | | are the correct multiple. llvm-svn: 274798
* Driver: Stop linking to C++ when using sanitizers on DarwinSaleem Abdulrasool2016-07-072-20/+16
| | | | | | | | | | | Sanitizers on Darwin are built as dynamic libraries, not static libraries. Sanitizers will have their C++ dependency satisfied internally (LC_LOAD_DYLIB) in the libclang_rt dylib. As long as the sanitizers stay dynamic and not static, linking against C++ when enabling a sanitizer becomes over linkage. Patch by Dave Lee! llvm-svn: 274797
* [PM] Port InstSimplify to the new pass manager.Davide Italiano2016-07-075-44/+96
| | | | llvm-svn: 274796
* [DSE] Remove dead stores in end blocks containing fenceAnna Thomas2016-07-072-0/+56
| | | | | | | | | | We can remove dead stores in the presence of fence instructions. Fence does not change an otherwise thread local store to visible. reviewers: reames, dexonsmith, jfb Differential Revision: http://reviews.llvm.org/D22001 llvm-svn: 274795
* Add a missing semicolon.Rui Ueyama2016-07-071-1/+1
| | | | llvm-svn: 274794
* Add a reference for Elf_Chdr type.Rui Ueyama2016-07-071-0/+1
| | | | llvm-svn: 274793
* Clang-format LoadStoreVectorizerAlina Sbirlea2016-07-071-35/+33
| | | | | | | | | | Reviewers: llvm-commits, jlebar, arsenm Subscribers: mzolotukhin Differential Revision: http://reviews.llvm.org/D22107 llvm-svn: 274792
* [AArch64] Change the preferred alignment for char and short.Chad Rosier2016-07-073-7/+5
| | | | | | | | This reinstates commits r273280 and r273289. Original Review: http://reviews.llvm.org/D21414. llvm-svn: 274791
* [AArch64] Change the preferred alignment for char and short to word alignment.Chad Rosier2016-07-072-2/+30
| | | | | | | | | | The commit reinstates r273279, which was informally approved. Original Review: http://reviews.llvm.org/D21414 This reverts commit ca632c91aaa7cafc50942f890c49f727a046ace1. llvm-svn: 274790
* GlobalISel: remove redundant property setting. NFC.Tim Northover2016-07-071-3/+0
| | | | | | AsmString is empty by default. llvm-svn: 274789
* Fix DWARF 4 bitfield support in LLDB to support the DW_AT_data_bit_offset ↵Greg Clayton2016-07-071-8/+18
| | | | | | | | attribute. <rdar://problem/26321896> llvm-svn: 274788
* Check whether Sema::CreateBuiltinUnaryOp returns an empty result.Jim Ingham2016-07-071-0/+2
| | | | | | | | | If it does, calling AddInitializerToDecl will crash, so we should abort the result synthesis in this case. <rdar://problem/27205383> llvm-svn: 274787
* Include SelectionDAGISel in the opt-bisect processAndrew Kaylor2016-07-072-1/+23
| | | | | | Differential Revision: http://reviews.llvm.org/D21143 llvm-svn: 274786
* [compiler-rt] Fix minimal stack reserved for unittest on MSVC buildEtienne Bergeron2016-07-072-4/+7
| | | | | | | | | | | | | | Summary: Some unittest were not able to run in 64-bit because they need more than 2MB of stack and the default allocated stack with MSVC linker is 1MB. Reviewers: rnk Subscribers: wang0109, chrisha, llvm-commits, kubabrecka Differential Revision: http://reviews.llvm.org/D22101 llvm-svn: 274785
* ThinLTO: Do not take into account whether a definition has multiple copies ↵Peter Collingbourne2016-07-075-45/+18
| | | | | | | | | | | | | | | | | | | | | | when promoting. We currently do not touch a symbol's linkage in the case where a definition has a single copy. However, this code is effectively unnecessary: either the definition is not exported, in which case the internalize phase sets its linkage to internal, or it is exported, in which case we need to promote linkage to weak. Those two cases are already handled by existing code. I believe that the only real functional change here is in the case where we have a single definition which does not prevail (e.g. because the definition in a native object file prevails). In that case we now lower linkage to available_externally following the existing code path for that case. As a result we can remove the isExported function parameter from the thinLTOResolveWeakForLinkerInIndex function. Differential Revision: http://reviews.llvm.org/D21883 llvm-svn: 274784
* Add an "experimental" setting to disable injecting local variables into ↵Jim Ingham2016-07-075-9/+90
| | | | | | | | | | | | | | | | expressions. This feature was added to solve a lookup problem in expressions when local variables shadow ivars. That solution requires fully realizing all local variables to evaluate any expression, and can cause significant performance problems when evaluating expressions in frames that have many complex locals. Until we get a better solution, this setting mitigates the problem when you don't have local variables that shadow ivars. <rdar://problem/27226122> llvm-svn: 274783
* [CUDA] s/OPT_nocuda_version_chec/OPT_no_cuda_version_check/.Justin Lebar2016-07-072-2/+2
| | | | | | Fix build breakage. llvm-svn: 274782
* [CUDA] Check that our CUDA install supports the requested architectures.Justin Lebar2016-07-0713-2/+155
| | | | | | | | | | | | | | | Summary: Raise an error if you're using a CUDA installation that's too old for the requested architectures. In practice, this means that you need a CUDA 8 install to compile for sm_6*. Reviewers: tra Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D21869 llvm-svn: 274781
* [CUDA] Rename the __nvvm_bar0 builtin back to __syncthreads.Justin Lebar2016-07-072-2/+2
| | | | | | | | | The builtin was renamed in r274770. But __syncthreads is part of our user-facing API, so we need to keep the name as-is. Patch by Justin Bogner. llvm-svn: 274780
* [NVVM] Rename __nvvm_bar0 builtin back to __syncthreads.Justin Lebar2016-07-071-1/+4
| | | | | | | | | | | __syncthreads was renamed to __nvvm_bar0 in r274664. But __syncthreads is part of our user-facing API, so we need to keep the name. This will momentarily break clang; we need a matching patch there. Patch by Justin Bogner. llvm-svn: 274779
* [LibFuzzer] Unbreak the build on macOS which was broken by r272858.Dan Liew2016-07-071-0/+6
| | | | | | | | | ``afl_driver.cpp`` currently relies on weak symbols which doesn't work properly under macOS. For now fix the build by providing a dummy implementation of ``LLVMFuzzerInitialize(...)``. This is just a temporary measure until we fix ``afl_driver.cpp`` for macOS. llvm-svn: 274778
* Update for llvm r274769Justin Bogner2016-07-071-6/+6
| | | | llvm-svn: 274777
* Respect ANDROID_SERIAL environment variable used by ADBLuke Drummond2016-07-071-6/+12
| | | | | | | | | | | When multiple Android devices are attached, the default behaviour of ADB is to resolve a device number based on the presence of ANDROID_SERIAL if the serial number is not explicitly passed by the -s parameter. This patch emulates that behaviour in lldb's ADB platform connector Differential Revision: http://reviews.llvm.org/D22052 llvm-svn: 274776
* [compiler-rt] Enhance unittest coverage for lib interceptionEtienne Bergeron2016-07-072-24/+127
| | | | | | | | | | | | | | Summary: This patch is adding more unittests for testing the interception of 32-bits code. Reviewers: rnk Subscribers: llvm-commits, wang0109, chrisha Differential Revision: http://reviews.llvm.org/D22077 llvm-svn: 274775
* tests: accept different TargetOpcode values.Tim Northover2016-07-074-7/+7
| | | | | | | These tests don't actually care about the internal opcode number, but have to be updated whenever we add a new one for GlobalISel. That's bad. llvm-svn: 274774
* [LoopStrengthReduce] Fix -Wmisleading-indentation. Reported by GCC6.Davide Italiano2016-07-071-2/+2
| | | | llvm-svn: 274773
* [compiler-rt] Fix sanitizer memory allocator on win64.Etienne Bergeron2016-07-073-4/+13
| | | | | | | | | | | | | | | | | | | | | | | Summary: This patch is fixing unittests for sanitizer memory allocator. There was two issues: 1) The VirtualAlloc can't reserve twice a memory range. The memory space used by the SizeClass allocator is reserved with NoAccess and pages are commited on demand (using MmapFixedOrDie). 2) The address space is allocated using two VirtualAlloc calls. The first one for the memory space, the second one for the AdditionnalSpace (after). On windows, they need to be freed separately. Reviewers: rnk Subscribers: llvm-commits, wang0109, kubabrecka, chrisha Differential Revision: http://reviews.llvm.org/D21900 llvm-svn: 274772
* Revert r274692 to check whether this is what breaks windows selfhost.Michael Kuperstein2016-07-0732-523/+288
| | | | llvm-svn: 274771
* NVPTX: Use the nvvm builtins to read SRegs rather than the legacy ptx onesJustin Bogner2016-07-075-143/+140
| | | | | | The ptx spellings were removed from LLVM in r274769. llvm-svn: 274770
* NVPTX: Remove the legacy ptx intrinsicsJustin Bogner2016-07-077-343/+232
| | | | | | | | | | | | - Rename the ptx.read.* intrinsics to nvvm.read.ptx.sreg.* - some but not all of these registers were already accessible via the nvvm name. - Rename ptx.bar.sync nvvm.bar.sync, to match nvvm.bar0. There's a fair amount of code motion here, but it's all very mechanical. llvm-svn: 274769
* Revert "[AArch64] Change the preferred alignment for char and short to word ↵Chad Rosier2016-07-072-30/+2
| | | | | | | | alignment" This reverts commit r273279 as the change was not properly approved. llvm-svn: 274768
* Revert "[aarch64] Update datalayout for aarch64 tests"Chad Rosier2016-07-072-3/+5
| | | | | | | This reverts commit r273289, which was a follow to r273280, which was reverted because the change was not properly approved. llvm-svn: 274767
* Revert "[AArch64] Change the preferred alignment for char and short to word ↵Chad Rosier2016-07-071-2/+2
| | | | | | | | alignment" This reverts commit r273280 as the change was not properly approved. llvm-svn: 274766
* fix formatting; NFCSanjay Patel2016-07-071-16/+15
| | | | llvm-svn: 274765
* [compiler-rt] Fix AllocatorCacheDeallocNewThread unittestEtienne Bergeron2016-07-071-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: The unittest was not freeing the mapped memory. ``` Repeating all tests (iteration 1) . . . Note: Google Test filter = Allocator.AllocatorCacheDeallocNewThread [==========] Running 1 test from 1 test case. [----------] Global test environment set-up. [----------] 1 test from Allocator [ RUN ] Allocator.AllocatorCacheDeallocNewThread [ OK ] Allocator.AllocatorCacheDeallocNewThread (3 ms) [----------] 1 test from Allocator (4 ms total) [----------] Global test environment tear-down [==========] 1 test from 1 test case ran. (5 ms total) [ PASSED ] 1 test. Repeating all tests (iteration 2) . . . Note: Google Test filter = Allocator.AllocatorCacheDeallocNewThread [==========] Running 1 test from 1 test case. [----------] Global test environment set-up. [----------] 1 test from Allocator [ RUN ] Allocator.AllocatorCacheDeallocNewThread ==4504==WARNING: SanitizerTool failed to mprotect 0x010000003000 (1099511640064) bytes at 0x010000000000 (error code: 48 7) ==4504==Sanitizer CHECK failed: D:/src/llvm/llvm/projects/compiler-rt/lib\sanitizer_common/sanitizer_allocator.h:329 ((kSpaceBeg)) == ((reinterpret_cast<uptr>( MmapFixedNoAccess(kSpaceBeg, TotalSpaceSize)))) (1099511627776, 0) ``` Reviewers: rnk Subscribers: llvm-commits, kubabrecka, chrisha Differential Revision: http://reviews.llvm.org/D22094 llvm-svn: 274764
* [LLGS] Work around an adb bug on Android <=MPavel Labath2016-07-071-0/+12
| | | | | | | On android M it can happen that we get a ETXTBSY, when we try to launch the inferior. Sleeping and retrying should help us get more stable results. llvm-svn: 274763
* Bump up timeout in TestCallWithTimeoutPavel Labath2016-07-071-2/+2
| | | | | | remote targets need a bit more time to get their act together llvm-svn: 274762
* [SystemZ] Fix regression when handling conditional callsZhan Jun Liau2016-07-071-2/+2
| | | | | | | | | | | | | | | Summary: A regression showed up in node.js when handling conditional calls. Fix the regression by recognizing external symbols as a possible operand type in CallJG. Reviewers: koriakin Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D22054 llvm-svn: 274761
* save type in local var; NFCISanjay Patel2016-07-071-10/+11
| | | | llvm-svn: 274760
* [clang-rename] add basic vim integrationBenjamin Kramer2016-07-071-0/+61
| | | | | | | | | | | | This patch introduces basic Vim integration for clang-rename tool. For setup reference see clang-rename/tool/clang-rename.py Patch by Kirill Bobyrev! Differential revision: http://reviews.llvm.org/D22087 llvm-svn: 274759
* Addressing post-commit comments for not rewriting fputs:Sjoerd Meijer2016-07-071-2/+5
| | | | | | moved the optimise for size check inside function optimizeFPuts. llvm-svn: 274758
OpenPOWER on IntegriCloud