summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Clean up some Subtarget uses and casts in the X86 backend, removing ↵Eric Christopher2017-03-221-11/+5
| | | | | | unnecessary work or calls. llvm-svn: 298555
* [libc++] Work around C1XX bug which breaks poisoned hash tests.Eric Fiselier2017-03-224-0/+63
| | | | | | | | | | | | | | Summary: This is my attempt to work around the C1XX bug described to me by @BillyONeal. Reviewers: BillyONeal, STL_MSFT, CaseyCarter Reviewed By: BillyONeal Subscribers: cfe-commits, BillyONeal Differential Revision: https://reviews.llvm.org/D31260 llvm-svn: 298554
* [x86] improve tests, add tests, auto-generate checks; NFCSanjay Patel2017-03-221-107/+168
| | | | llvm-svn: 298553
* [AMDGPU] Restructure code object metadata creationKonstantin Zhuravlyov2017-03-2232-1520/+2785
| | | | | | | | | | | | | | | | | - Rename runtime metadata -> code object metadata - Make metadata not flow - Switch enums to use ScalarEnumerationTraits - Cleanup and move AMDGPUCodeObjectMetadata.h to AMDGPU/MCTargetDesc - Introduce in-memory representation for attributes - Code object metadata streamer - Create metadata for isa and printf during EmitStartOfAsmFile - Create metadata for kernel during EmitFunctionBodyStart - Finalize and emit metadata to .note during EmitEndOfAsmFile - Other minor improvements/bug fixes Differential Revision: https://reviews.llvm.org/D29948 llvm-svn: 298552
* [AMDGPU] Fix bug 31610Konstantin Zhuravlyov2017-03-222-7/+6
| | | | | | Differential Revision: https://reviews.llvm.org/D31258 llvm-svn: 298551
* c++filt: support COFF import thunksSaleem Abdulrasool2017-03-222-0/+11
| | | | | | | The synthetic thunk for the import is prefixed with __imp_. Attempt to undecorate the names when they begin with the __imp_ prefix. llvm-svn: 298550
* Actually install scan-build / ccc-analyzer / c++-analyzer on windowsJonathan Roelofs2017-03-221-0/+3
| | | | | | Before, we were only installing the wrappers... oops. llvm-svn: 298549
* [libFuzzer] add two experimental flags to make corpus merging more scalable: ↵Kostya Serebryany2017-03-227-7/+109
| | | | | | -save_coverage_summary/-load_coverage_summary. This is still WIP, the documentation will come later if these flags survive llvm-svn: 298548
* Merge r298536 changes to XcodeTim Hammerquist2017-03-221-4/+4
| | | | | | rdar://problem/31202813 llvm-svn: 298547
* [DeLICM] Add const qualifiers. NFC.Michael Kruse2017-03-221-2/+2
| | | | llvm-svn: 298546
* Use lld-link /nopdb to suppress PDB generation when DWARF is requiredReid Kleckner2017-03-223-5/+4
| | | | | | Fixes cfi/stats.cpp and asan/fuse-lld.cc on Windows. llvm-svn: 298545
* Add a /nopdb flag to disable PDB generationReid Kleckner2017-03-223-0/+19
| | | | | | | | | | This will be used in the sanitizer test suite, which wants to use DWARF line tables. At some point we should reconsider how LLD handles the long section names required by DWARF debug sections. llvm-svn: 298544
* [Support] Add functions to ISLTools.Michael Kruse2017-03-223-0/+297
| | | | | | | | | | | Add shiftDim and convertZoneToTimepoints overloads for isl maps. Add distributeDomain, liftDomains and applyDomainRange functions. These are going to be used in https://reviews.llvm.org/D31247 (Add known array contents to Knowledge) llvm-svn: 298543
* [LVI] Add an LVI printer pass to capture test LVI cache after transformationsAnna Thomas2017-03-225-6/+185
| | | | | | | | | | | | | | | | | | | Summary: Adding a printer pass for printing the LVI cache values after transformations that use LVI. This will help us in identifying cases where LVI invariants are violated, or transforms that leave LVI in an incorrect state. Right now, I have added two test cases to show that the printer pass is working. I will be adding more test cases in a later change, once this change is checked in upstream. Reviewers: reames, dberlin, sanjoy, apilipenko Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D30790 llvm-svn: 298542
* Remove dead include from GoASTContext.cpp.Zachary Turner2017-03-222-2/+0
| | | | | | | | | | This #include was the cause of a dependency from Symbol -> DataFormatters. However, nothing from the header was being used anyway, so we can just remove it with no adverse effects. This reduces the overall cycle count from 44 to 43. llvm-svn: 298541
* Preserve nonnull metadata on Loads through SROA & mem2reg.Luqman Aden2017-03-224-10/+166
| | | | | | | | | | | | | | | | | Summary: https://llvm.org/bugs/show_bug.cgi?id=31142 : SROA was dropping the nonnull metadata on loads from allocas that got optimized out. This patch simply preserves nonnull metadata on loads through SROA and mem2reg. Reviewers: chandlerc, efriedma Reviewed By: efriedma Subscribers: hfinkel, spatel, efriedma, arielb1, davide, llvm-commits Differential Revision: https://reviews.llvm.org/D27114 llvm-svn: 298540
* Make nullability test pass on Windows, which evaluates parameters right-to-left.Nico Weber2017-03-221-2/+0
| | | | llvm-svn: 298539
* [X86] Implement __readgsqword (and the rest) as builtins (PR32373)Hans Wennborg2017-03-225-57/+96
| | | | | | | | | | | | | | It seems MS headers have started using __readgsqword, and since it's used in a header that doesn't include intrin.h, we can't implement it as an inline function anymore. That was already the case for __readfsdword, which Saleem added support for in r220859. This patch reuses that codegen to implement all of __read[fg]s{byte,word,dword,qword}. Differential Revision: https://reviews.llvm.org/D31248 llvm-svn: 298538
* Factor lsan allocator cache accesses into a functionFrancis Ricci2017-03-221-8/+9
| | | | | | | | | | | | | | | | | | Summary: This patch is the first step towards allows us to move away from using __thread for the allocator cache on darwin, which is requiring for building lsan for darwin on ios version 7 and on iossim i386. This will be followed by patches to move the function into OS-specific files. Reviewers: kubamracek, kcc Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D29994 llvm-svn: 298537
* Move FileSpec from Host -> Utility.Zachary Turner2017-03-22108-115/+115
| | | | llvm-svn: 298536
* [analyze deps] Show incoming and outgoing counts on island members.Zachary Turner2017-03-221-2/+13
| | | | llvm-svn: 298535
* IPO: Const correctness for summaries passed into passes.Peter Collingbourne2017-03-227-78/+120
| | | | | | | | | Pass const qualified summaries into importers and unqualified summaries into exporters. This lets us const-qualify the summary argument to thinBackend. Differential Revision: https://reviews.llvm.org/D31230 llvm-svn: 298534
* Add "(compatible with GNU linkers)" to the -version output.Rui Ueyama2017-03-222-6/+22
| | | | | | | | | | | | | | | | Previous output: $ ld.lld -version LLD 5.0.0 New output: $ ld.lld -version LLD 5.0.0 (compatible with GNU linkers) Differential Revision: https://reviews.llvm.org/D31199 llvm-svn: 298532
* IR: Fix a race condition in type id clients of ModuleSummaryIndex.Peter Collingbourne2017-03-223-11/+30
| | | | | | | | | Add a const version of the getTypeIdSummary accessor that avoids mutating the TypeIdMap. Differential Revision: https://reviews.llvm.org/D31226 llvm-svn: 298531
* [analyze deps] Also show cycle islands.Zachary Turner2017-03-221-0/+14
| | | | | | | | | | | | | | | | | | | We currently display a list of all minimal cycles, but it's useful to be able to see the big picture impact of these cycles by merging them all together into groups of interconnected components. Because the cycle discovery algorithm only considers "minimal" cycles, it discards all information for dependencies which are not considered part of the minimal cycle. So all we know is that the components of each island definitely all depend on each other but it's still possible that there are hidden dependencies due to transitive includes. The cycle list should still be the authoritative reference for deciding where the easiest places to break cycles are, though. llvm-svn: 298530
* [DeLICM] Remove overloaded Knowledge constructor. NFC.Michael Kruse2017-03-221-6/+0
| | | | | | | | The isl C++ bindings now has implicit conversions from isl::set to isl::union_set. Therefore the additional overload accepting isl::set is not required anymore. llvm-svn: 298529
* Document the status quo of DIExpression semantics in LangRef.rstAdrian Prantl2017-03-221-7/+20
| | | | llvm-svn: 298528
* [OpenMP] CUDA plugin: More descriptive error messagesGeorge Rokos2017-03-221-2/+4
| | | | | | Differential Revision: https://reviews.llvm.org/D31206 llvm-svn: 298527
* Resubmit "Delete the remainder of platform specific code in FileSpec."Zachary Turner2017-03-2219-210/+210
| | | | | | | | | | | | | | This was causing a test failure in one of LLDB's tests which specifically dealt with a limitation in LLVM's implementation of home_directory() that LLDB's own implementation had worked around. This limitation has been addressed in r298513 on the LLVM side, so the failing test (which is now unnecessary as the limitation no longer exists) was removed in r298519, allowing this patch to be re-submitted without modification. llvm-svn: 298526
* [compiler-rt] build compiler-rt runtimes without LTOBob Haarman2017-03-221-2/+9
| | | | | | | | | | | | | | Summary: Currently, we build the compiler-rt runtimes with link-time optimization if LTO is configured for the LLVM project. This will break external programs that don't invoke the linker in such a way that it supports LLVM's LTO. To avoid this, this change causes the compiler-rt runtimes to be compiled with -fno-lto. This also makes the check-profile tests work on systems when doing a lld LTO build on a system where the system linker does not support LLVM LTO. Reviewers: rnk, davidxl Reviewed By: davidxl Subscribers: dberris, mgorny, llvm-commits, mehdi_amini Differential Revision: https://reviews.llvm.org/D31218 llvm-svn: 298525
* Reuse appropriate Launch and Attach on NetBSDKamil Rytarowski2017-03-222-1/+5
| | | | | | | | | | | | | | | | | | | | | | Summary: NetBSD ships with NativeProcessNetBSD inherited from NativeProcessProtocol. Link Plugins/Process/gdb-remote with lldbPluginProcessNetBSD in order to resolve correctly the linking to Launch and Attach from the NetBSD plugin. Sponsored by <The NetBSD Foundation> Reviewers: kettenis, labath, emaste, joerg Reviewed By: labath, emaste Subscribers: mgorny, #lldb Tags: #lldb Differential Revision: https://reviews.llvm.org/D31231 llvm-svn: 298524
* Rename helper functions in DwarfExpression to be less misleading (NFC)Adrian Prantl2017-03-222-6/+6
| | | | llvm-svn: 298523
* [DeLICM] Remove AllElements. NFC.Michael Kruse2017-03-221-14/+0
| | | | | | It is not used and will not be used (anymore) in future commits. llvm-svn: 298522
* Fix testcase on windows.Adrian Prantl2017-03-221-1/+1
| | | | llvm-svn: 298521
* [InstCombine] canonicalize insertelement of scalar constant ahead of ↵Sanjay Patel2017-03-225-22/+49
| | | | | | | | | | | | | | insertelement of variable insertelement (insertelement X, Y, IdxC1), ScalarC, IdxC2 --> insertelement (insertelement X, ScalarC, IdxC2), Y, IdxC1 As noted in the code comment and seen in the test changes, the motivation is that by pulling constant insertion up, we may be able to constant fold some insertelement instructions. Differential Revision: https://reviews.llvm.org/D31196 llvm-svn: 298520
* Delete TestLLVM.pyZachary Turner2017-03-221-67/+0
| | | | | | | | | | | | | This was added to workaround a limitation in LLVM's implementation of getting the current user's home directory, since it would only look at the value of $HOME, but we did not want to rely on that being set so we would also look in the password database. Adding the ability to look in the password database to LLVM was a straightforward patch that was submitted in r298513, so since that is done this test is no longer needed. llvm-svn: 298519
* Fix PR32298 by adding an early exit to getFrameIndexExprs().Adrian Prantl2017-03-222-0/+46
| | | | | | | | Also add an assertion for the case that there are multiple FI expressions with a DW_OP_LLVM_fragment; which should violate internal constraints in DbgVariable. llvm-svn: 298518
* Merge changes from r298466 into Xcode projectTim Hammerquist2017-03-221-4/+4
| | | | | | rdar://problem/31197116 llvm-svn: 298517
* [OpenMP] Allow multiple weak symbols to be loaded from the fat binaryGeorge Rokos2017-03-221-10/+9
| | | | | | | | For compatibility with Fortran. Differential Revision: https://reviews.llvm.org/D31205 llvm-svn: 298516
* [OpenMP] CUDA plugin: add include directory for libelfGeorge Rokos2017-03-221-1/+2
| | | | | | | | Allow the user to manually specify where libelf is installed. Differential Revision: https://reviews.llvm.org/D31207 llvm-svn: 298515
* Make the home_directory test a little more resilient.Zachary Turner2017-03-221-10/+21
| | | | | | | | | | | | It's possible (albeit strange) for $HOME to intentionally point somewhere other than the user's home directory as reported by the password database. Our test shouldn't fail in this case. This patch updates the test to pull directly from the password database before unsetting $HOME, rather than comparing the return value of home_directory() to the original value of the environment variable. llvm-svn: 298514
* Make home_directory look in the password database in addition to $HOME.Zachary Turner2017-03-222-5/+31
| | | | | | | | | | | | | This is something of an edge case, but when the $HOME environment variable is not set, we can still look in the password database to get the current user's home directory. Added a test for this by getting the value of $HOME, then unsetting it, then calling home_directory() and verifying that it succeeds and that the value is the same as what we originally read from the environment. llvm-svn: 298513
* [ARM] t2_so_imm_neg had a subtle bug in the conversion, and could trigger UB ↵Artyom Skrobov2017-03-222-1/+12
| | | | | | | | | | | | | | by negating (int)-2147483648. By pure luck, none of the pre-existing tests triggered this; so I'm adding one. Summary: Thanks to Vitaly Buka for helping catch this. Reviewers: rengolin, jmolloy, efriedma, vitalybuka Subscribers: llvm-commits, aemerson Differential Revision: https://reviews.llvm.org/D31242 llvm-svn: 298512
* [X86][MMX] Add tests for _mm_set*_* intrinsicsSimon Pilgrim2017-03-221-0/+87
| | | | llvm-svn: 298511
* Introduce another level of metadata to distinguish non-aliasing accessesRoman Gareev2017-03-228-5/+174
| | | | | | | | | | | | | | Introduce another level of alias metadata to distinguish the individual non-aliasing accesses that have inter iteration alias-free base pointers marked with "Inter iteration alias-free" mark nodes. It can be used to, for example, distinguish different stores (loads) produced by unrolling of the innermost loops and, subsequently, sink (hoist) them by LICM. Reviewed-by: Tobias Grosser <tobias@grosser.es> Differential Revision: https://reviews.llvm.org/D30606 llvm-svn: 298510
* Revert "Delete the remainder of platform specific code in FileSpec."Pavel Labath2017-03-2219-210/+210
| | | | | | | This reverts commit r298465 as it breaks TestLLVM.TestHomeDirectory.test_tilde_home_directory. llvm-svn: 298509
* Add default typo to .tbss.*Rafael Espindola2017-03-222-0/+10
| | | | | | This matches gas behavior and is part of pr31888. llvm-svn: 298508
* Map the new load to the base pointer of the invariant load hoisted loadRoman Gareev2017-03-222-0/+35
| | | | | | | | | | | Map the new load to the base pointer of the invariant load hoisted load to be able to find the alias information for it. Reviewed-by: Tobias Grosser <tobias@grosser.es> Differential Revision: https://reviews.llvm.org/D30605 llvm-svn: 298507
* Set the default type for .bss.foo.Rafael Espindola2017-03-222-0/+10
| | | | | | This matches gas and is part of pr31888. llvm-svn: 298506
* Produce INIT_ARRAY for sections named .init_array.*Rafael Espindola2017-03-222-1/+9
| | | | | | | These sections are merged together by the linker, so they should have the same time. llvm-svn: 298505
OpenPOWER on IntegriCloud