summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [X86][SSE] Remove SSE ADDUS/SUBUS saturation intrinsics from schedule/stack ↵Simon Pilgrim2018-12-196-64/+64
| | | | | | | | | | tests These are already being autoupgraded, currently to an IR sequence, but best to replace them with generic llvm uadd_sat/usub_sat intrinsics (which D55855 will be doing shortly anyhow). The avx512 masked cases need doing as well but require a bit of tidyup first. llvm-svn: 349615
* [llvm-objdump] - Fix BB.George Rimar2018-12-191-16/+15
| | | | | | Move the helper method before the first incocation in the file. llvm-svn: 349614
* [llvm-objdump] - Demangle the symbols when printing symbol table and ↵George Rimar2018-12-192-27/+51
| | | | | | | | | | | | | | | relocations. This is https://bugs.llvm.org/show_bug.cgi?id=40009, llvm-objdump does not demangle the symbols when prints symbol table and/or relocations. Patch teaches it to do that. Differential revision: https://reviews.llvm.org/D55821 llvm-svn: 349613
* [LLD][ELF] - Report a location for symbols from the linker script when ↵George Rimar2018-12-192-2/+30
| | | | | | | | | | | | | | | | | | | reporting an error. When we report an error for symbols defined in the linker script, we do not report the location properly. For example: ld.lld: error: relocation R_AARCH64_CALL26 cannot refer to absolute symbol: aliasto__text >>> defined in <internal> >>> referenced by rtoabs.o:(.text+0x4) This patch fixes that. Differential revision: https://reviews.llvm.org/D55360 llvm-svn: 349612
* AMDGPU/InsertWaitcnts: Update VGPR/SGPR bounds when brackets are mergedCarl Ritson2018-12-192-8/+67
| | | | | | | | | | | | | | | | | | Summary: Fix an issue where VGPR/SGPR bounds are not properly extended when brackets are merged. This manifests as missing waitcnt insertions when multiple brackets are forwarded to a successor block and the first forward has lower VGPR/SGPR bounds. Irreducible loop test has been extended based on a CTS failure detected for GFX9. Reviewers: nhaehnle Reviewed By: nhaehnle Subscribers: arsenm, kzhuravl, jvesely, wdng, yaxunl, dstuttard, tpr, t-tye, jfb, llvm-commits Differential Revision: https://reviews.llvm.org/D55602 llvm-svn: 349611
* [ARM GlobalISel] Support G_CONSTANT for Thumb2Diana Picus2018-12-197-183/+607
| | | | | | | | | | | All we have to do is mark it as legal. This allows us to select a lot of new patterns handled by TableGen. This patch adds tests for them and splits up the existing test file for binary operators into 2 files, one for arithmetic ops and one for logical ones. llvm-svn: 349610
* tsan: align default value of detect_deadlocks flag with actual behaviorDmitry Vyukov2018-12-194-9/+8
| | | | | | | | | | | | | | I tricked myself into thinking that deadlock detection is off by default in TSan by looking at the default value of the detect_deadlocks flag and outdated docs. (Created a pull request to update docs.) I even managed to confuse others: https://groups.google.com/forum/#!topic/thread-sanitizer/xYvnAYwtoDk However, the default value is overwritten in code (TSan_flags.cc:InitializeFlags). The TSan/deadlock tests also rely on this This changes aligns the default value of the flag with the actual default behavior. Author: yln (Julian Lettner) Reviewed in: https://reviews.llvm.org/D55846 llvm-svn: 349609
* AMDGPU/GlobalISel: Regbankselect for fsubMatt Arsenault2018-12-192-0/+70
| | | | llvm-svn: 349608
* refactor testsuite spawnLldbMi args->exe+argsJan Kratochvil2018-12-194-12/+15
| | | | | | | | | | | | | | | | | Currently spawnLldbMi accepts both lldb-mi options and executable to debug as a single parameter. Split them. As in D55859 we will need to execute one lldb-mi command before loading the exe. Therefore we can no longer use the exe as lldb-mi command-line parameter as then there is no way to execute a command before loading exe specified as lldb-mi command-line parameter. LocateExecutableSymbolFileDsym should be static, that is also a little refactorization. Differential Revision: https://reviews.llvm.org/D55858 llvm-svn: 349607
* [llvm-objcopy] [COFF] Fix the Object forward declarationMartin Storsjo2018-12-192-2/+2
| | | | | | This fixes build warnings with clang, and linker errors with MSVC. llvm-svn: 349606
* [llvm-objcopy] Initial COFF supportMartin Storsjo2018-12-1916-0/+1531
| | | | | | | | | This is an initial implementation of no-op passthrough copying of COFF with objcopy. Differential Revision: https://reviews.llvm.org/D54939 llvm-svn: 349605
* Use "EvaluateAsRValue" instead of as a known int, because if it's not a knownBill Wendling2018-12-191-6/+6
| | | | | | integer we want to emit a diagnostic instead of asserting. llvm-svn: 349604
* Revert accidentally included code.Bill Wendling2018-12-191-8/+8
| | | | llvm-svn: 349603
* [DebugInfo] Make AsmPrinter struct HandlerInfo and Handlers protectedYonghong Song2018-12-191-0/+3
| | | | | | | | | | | | In AsmPrinter, make struct HandlerInfo and SmallVector Handlers protected, so target extended AsmPrinter will be able to add their own handlers. Signed-off-by: Yonghong Song <yhs@fb.com> Differential Revision: https://reviews.llvm.org/D55756 llvm-svn: 349602
* [bugpoint][PR29027] Reduce function attributesBrian Gesiak2018-12-194-0/+139
| | | | | | | | | | | | | | | | | | | | | Summary: In addition to reducing the functions in an LLVM module, bugpoint now reduces the function attributes associated with each of the remaining functions. To test this, add a -bugpoint-crashfuncattr test pass, which crashes if a function in the module has a "bugpoint-crash" attribute. A test case demonstrates that the IR is reduced to just that one attribute. Reviewers: MatzeB, silvas, davide, reames Reviewed By: reames Subscribers: reames, llvm-commits Differential Revision: https://reviews.llvm.org/D55216 llvm-svn: 349601
* Fix use-after-free with profile remapping.Richard Smith2018-12-192-0/+8
| | | | | | | | We need to keep the underlying profile reader alive as long as the profile data, because the profile data may contain StringRefs referring to strings in the reader's name table. llvm-svn: 349600
* [PowerPC]Exploit P9 vabsdu for unsigned vselect patternsKewen Lin2018-12-193-36/+150
| | | | | | | | | | | | For type v4i32/v8ii16/v16i8, do following transforms: (vselect (setcc a, b, setugt), (sub a, b), (sub b, a)) -> (vabsd a, b) (vselect (setcc a, b, setuge), (sub a, b), (sub b, a)) -> (vabsd a, b) (vselect (setcc a, b, setult), (sub b, a), (sub a, b)) -> (vabsd a, b) (vselect (setcc a, b, setule), (sub b, a), (sub a, b)) -> (vabsd a, b) Differential Revision: https://reviews.llvm.org/D55812 llvm-svn: 349599
* [gn build] Add build file for llvm-objcopyNico Weber2018-12-192-0/+63
| | | | | | | | | | Needed by check-lld. This should've been part of r349486 but I messed up. Differential Revision: https://reviews.llvm.org/D55831 llvm-svn: 349598
* Re-land "Fix MSVC dependency issue between Clang-tablegen and LLVM-tablegen"Alexandre Ganea2018-12-191-0/+6
| | | | | | | | | Previously, when compiling Visual Studio targets, one could see random build errors. This was caused by tablegen projects using the same build folders. This workaround simply chains tablegen projects. Differential Revision: https://reviews.llvm.org/D54153 llvm-svn: 349596
* Add llvm-objdump man pageEd Maste2018-12-191-0/+197
| | | | | | Differential Revision: https://reviews.llvm.org/D54864 llvm-svn: 349595
* [asan] Disable ODR test on AndroidVitaly Buka2018-12-191-0/+3
| | | | llvm-svn: 349585
* Use unique_ptr to manage a TarWriter instance. NFC.Rui Ueyama2018-12-183-4/+3
| | | | llvm-svn: 349581
* Don't forget to free the libcompression scratch buffer in the dtor.Jason Molenda2018-12-181-0/+3
| | | | llvm-svn: 349580
* [lit] Rather than including stdio.h, forward-declare printf in ↵Stella Stamenova2018-12-181-1/+1
| | | | | | TestConvenienceVariables.test llvm-svn: 349573
* Remove the zlib CFLAGS and LDFLAGS settings from the xcode project file.Jason Molenda2018-12-181-48/+0
| | | | | | | | | We're linking against libcompression all the time now, we don't need to fall back to zlib. zlib support will still be used when lldb is built on linux et al systems, so I'm not removing any of the source support, but when built on darwin with xcode, we'll be using libcompression. llvm-svn: 349572
* Fix error message.Rui Ueyama2018-12-181-2/+1
| | | | | | | | | | Previously, this code printed out an error message like this ld.lld: error: --reproduce: failed to open /foo: cannot open /foo Apparently "failed to open /foo:" part is redundant. llvm-svn: 349571
* [Driver] Also obey -nostdlib++ when rewriting -lstdc++.Dan Albert2018-12-182-1/+12
| | | | | | | | | | | | Reviewers: pirama Reviewed By: pirama Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D55856 llvm-svn: 349570
* [AArch64] Simplify the Exynos M3 pipeline modelEvandro Menezes2018-12-181-12/+9
| | | | llvm-svn: 349569
* [AArch64] Fix instructions order (NFC)Evandro Menezes2018-12-181-4/+4
| | | | llvm-svn: 349568
* [llvm-mca] Improve test (NFC)Evandro Menezes2018-12-181-18/+56
| | | | | | Add more instruction variations for Exynos. llvm-svn: 349567
* Portability fix: add missing includes and static_casts. Reviewed as ↵Marshall Clow2018-12-1823-4/+34
| | | | | | https://reviews.llvm.org/D55777. Thanks to Andrey Maksimov for the patch. llvm-svn: 349566
* [NativePDB] Correctly reconstruct DeclContext for nested enums.Zachary Turner2018-12-183-4/+19
| | | | | | | | | | | | We reconstruct the AST hierarchy by trying to hack up a mangled name for the parent type using the child type's mangled name. This was failing for enums because their tag type is represented with two letters ("W4") instead of one letter ("T", "U", etc) as it is with classes, structs, and unions. After accounting for this we can now correctly determine when an enum is nested inside of a namespace or a class. llvm-svn: 349565
* [DebugInfo] Move several private headers to include directoryYonghong Song2018-12-1811-22/+22
| | | | | | | | | | | | | | | | | This patch moved the following files in lib/CodeGen/AsmPrinter/ AsmPrinterHandler.h DbgEntityHistoryCalculator.h DebugHandlerBase.h to include/llvm/CodeGen directory. Such a change will enable Target to extend DebugHandlerBase and emit Target specific debug info sections. Signed-off-by: Yonghong Song <yhs@fb.com> Differential Revision: https://reviews.llvm.org/D55755 llvm-svn: 349564
* Force libcompression calls to be enabled when building on DarwinJason Molenda2018-12-184-74/+53
| | | | | | | | | | | | | | | | systems. It has been available in the OS over over three years now. If lldb doesn't link against -lcompression, it should be an error. Allocate a scratch buffer for libcompression to use when decoding packets, instead of it having to allocate & free one on every call. Fix a typeo with the size of the buffer that compression_decode_buffer() is expanding into. <rdar://problem/41601084> llvm-svn: 349563
* [lit] Use the new build.py script in the lldb-mi testsStella Stamenova2018-12-1813-46/+15
| | | | | | This allows the tests to pass on Windows as well llvm-svn: 349562
* Emit ASM input in a constant contextBill Wendling2018-12-184-10/+26
| | | | | | | | | | | | | | | | | Summary: Some ASM input constraints (e.g., "i" and "n") require immediate values. At O0, very few code transformations are performed. So if we cannot resolve to an immediate when emitting the ASM input we shouldn't delay its processing. Reviewers: rsmith, efriedma Reviewed By: efriedma Subscribers: rehana, efriedma, craig.topper, jyknight, cfe-commits Differential Revision: https://reviews.llvm.org/D55616 llvm-svn: 349561
* [InstCombine] add tests for extract of vector load; NFCSanjay Patel2018-12-181-0/+57
| | | | | | | | | | There's a mismatch internally about how we are handling these patterns. We count loads as cheapToScalarize(), but then we don't actually scalarize them, so that can leave extra instructions compared to where we started when scalarizing other ops. If it's cheapToScalarize, then we should be scalarizing. llvm-svn: 349560
* Preserve the linkage for objc* intrinsics as clang will set them to ↵Pete Cooper2018-12-182-6/+35
| | | | | | | | | | weak_external in some cases Clang uses weak linkage for objc runtime functions when they are not available on the platform. The intrinsic has this linkage so we just need to pass that on to the runtime call. llvm-svn: 349559
* Add nonlazybind to objc_retain/objc_release when converting from intrinsics.Pete Cooper2018-12-182-3/+15
| | | | | | | | For performance reasons, clang set nonlazybind on these functions. Now that we are using intrinsics instead of runtime calls, we should set this attribute when creating the runtime functions. llvm-svn: 349558
* Reject .so files if -static is given.Rui Ueyama2018-12-183-2/+14
| | | | | | | | | | Previously, if you pass -static to lld, lld searches for only foo.a and skips foo.so for -lfoo option. However, it didn't reject .so files if you directly pass their pathnames via the command line, which is a bug. Differential Revision: https://reviews.llvm.org/D55845 llvm-svn: 349557
* [LAA] Introduce enum for vectorization safety status (NFC).Florian Hahn2018-12-183-13/+76
| | | | | | | | | | | | | | This patch adds a VectorizationSafetyStatus enum, which will be extended in a follow up patch to distinguish between 'safe with runtime checks' and 'known unsafe' dependences. Reviewers: anemet, anna, Ayal, hsaito Reviewed By: Ayal Differential Revision: https://reviews.llvm.org/D54892 llvm-svn: 349556
* [asan] Restore ODR-violation detection on vtablesVitaly Buka2018-12-183-3/+29
| | | | | | | | | | | | | | | | | | | Summary: unnamed_addr is still useful for detecting of ODR violations on vtables Still unnamed_addr with lld and --icf=safe or --icf=all can trigger false reports which can be avoided with --icf=none or by using private aliases with -fsanitize-address-use-odr-indicator Reviewers: eugenis Reviewed By: eugenis Subscribers: kubamracek, hiraditya, llvm-commits Differential Revision: https://reviews.llvm.org/D55799 llvm-svn: 349555
* [LoopVectorize] auto-generate complete checks; NFCSanjay Patel2018-12-181-9/+132
| | | | | | | | | | | The first test claims to show that the vectorizer will generate a vector load/loop, but then this file runs other passes which might scalarize that op. I'm removing instcombine from the RUN line here to break that dependency. Also, I'm generating full checks to make it clear exactly what the vectorizer has done. llvm-svn: 349554
* Un-conditionalize use of libcompression. debugserver only buildsJason Molenda2018-12-182-151/+54
| | | | | | | | | | | | | | | | | | | | on Darwin systems and libcompression has been in the OS for over three years. Remove use of / linking to zlib. We'll always have libcompression available now. Create a scratch buffer via compression_encode_scratch_buffer_size() and use it in calls to compression_encode_buffer() to avoid compression_encode_buffer having to malloc & free a scratch buffer on each call. Tested by forcing compression to be enabled on macos native (normally only enabled on iOS et al devices), running the testsuite. <rdar://problem/41601084> llvm-svn: 349553
* Rewrite objc intrinsics to runtime methods in PreISelIntrinsicLowering ↵Pete Cooper2018-12-186-286/+399
| | | | | | | | | | instead of SDAG. SelectionDAG currently changes these intrinsics to function calls, but that won't work for other ISel's. Also we want to eventually support nonlazybind and weak linkage coming from the front-end which we can't do in SelectionDAG. llvm-svn: 349552
* [OPENMP] parsing and sema support for 'close' map-type-modifierKelvin Li2018-12-1827-182/+479
| | | | | | | | | | | | A map clause with the close map-type-modifier is a hint to prefer that the variables are mapped using a copy into faster memory. Patch by Ahsan Saghir (saghir) Differential Revision: https://reviews.llvm.org/D55719 llvm-svn: 349551
* TestHelloWorld: Use a file on the target platform for synchronisation.Adrian Prantl2018-12-182-19/+29
| | | | | | Thanks to Pavel Labath for the idea! llvm-svn: 349550
* [AArch64] Avoid crashing on .seh directives in assemblyMartin Storsjo2018-12-182-4/+88
| | | | | | Differential Revision: https://reviews.llvm.org/D55670 llvm-svn: 349549
* [InstCombine] auto-generate complete checks; NFCSanjay Patel2018-12-181-12/+25
| | | | llvm-svn: 349548
* Fix errors with the Clang natvis file.Aaron Ballman2018-12-181-23/+30
| | | | | | | | This updates the FunctionProtoType visualizer to use the proper bits for determining parameter information and the DeclarationName visualizer to use the detail namespace. It also adds support for viewing newer special declaration names (like deduction guides). Patch with help of Bruno Ricci. llvm-svn: 349547
OpenPOWER on IntegriCloud