summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [ELF] Fix objdump tests after rL346610Fangrui Song2018-11-1110-27/+27
| | | | llvm-svn: 346613
* [lld][test] Update tests using objdumpKristina Brooks2018-11-111-1/+1
| | | | | | Followup fix for LLD test for new format in rL346610. llvm-svn: 346612
* [llvm][test] Update tests using objdumpKristina Brooks2018-11-112-5/+5
| | | | | | | | | Update tests using llvm-objdump since check strings don't match anymore due to the extra `O` in place. This is a followup for rL346610. llvm-svn: 346611
* [llvm-objdump] Add symbol 'O' for object dataKristina Brooks2018-11-115-11/+13
| | | | | | | | | | | | | Improve compatibility with GNU objdump by showing `O` next to global symbol names, instead of a blank space. Patch by Higuoxing (Xing). Reviewers: MaskRay Differential Revision: https://reviews.llvm.org/D54380 llvm-svn: 346610
* [x86] auto-generate complete checks; NFCSanjay Patel2018-11-111-4/+103
| | | | llvm-svn: 346609
* [clangd] Make ClangdFuzzer compile again.Benjamin Kramer2018-11-111-8/+11
| | | | llvm-svn: 346608
* Port LLVM r346606 to libcxxabi.Nico Weber2018-11-112-3/+3
| | | | llvm-svn: 346607
* Make initializeOutputStream() return false on error and true on success.Nico Weber2018-11-113-12/+12
| | | | | | | | As discussed in https://reviews.llvm.org/D52104 Differential Revision: https://reviews.llvm.org/D52143 llvm-svn: 346606
* [X86] Use DAG.getConstant instead of getZeroVector.Craig Topper2018-11-112-9/+9
| | | | llvm-svn: 346605
* [Support] Make error banner optional in logAllUnhandledErrorsJonas Devlieghere2018-11-1125-61/+61
| | | | | | | | In a lot of places an empty string was passed as the ErrorBanner to logAllUnhandledErrors. This patch makes that argument optional to simplify the call sites. llvm-svn: 346604
* [X86] Replace calls to getOnesVector/getZeroVector with getConstant.Craig Topper2018-11-111-2/+2
| | | | | | getConstant will create a BUILD_VECTOR for us and use a legal type if necessary. So just create the simple node and let BUILD_VECTOR legalization do the canonicalization. llvm-svn: 346603
* [llvm-cxxdump] Use error reporting helpers from supportJonas Devlieghere2018-11-112-8/+9
| | | | | | | This patch makes llvm-cxxdump use the error reporting helpers from Support/WithColor.h llvm-svn: 346602
* Pass the function type instead of the return type to FunctionDecl::CreateJonas Devlieghere2018-11-119-97/+123
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix places where the return type of a FunctionDecl was being used in place of the function type FunctionDecl::Create() takes as its T parameter the type of function that should be created, not the return type. Passing in the return type looks to have been copypasta'd around a bit, but the number of correct usages outweighs the incorrect ones so I've opted for keeping what T is the same and fixing up the call sites instead. This fixes a crash in Clang when attempting to compile the following snippet of code with -fblocks -fsanitize=function -x objective-c++ (my original repro case): void g(void(^)()); void f() { __block int a = 0; g(^(){ a++; }); } as well as the following which only requires -fsanitize=function -x c++: void f(char * buf) { __builtin_os_log_format(buf, ""); } Patch by: Ben (bobsayshilol) Differential revision: https://reviews.llvm.org/D53263 llvm-svn: 346601
* [DAGCombiner] Make tryToFoldExtendOfConstant return an SDValue instead of an ↵Craig Topper2018-11-101-14/+14
| | | | | | | | SDNode*. NFC Removes the need to call getNode internally and to recreate an SDValue after the call. llvm-svn: 346600
* Add missing includeJonas Devlieghere2018-11-101-0/+1
| | | | llvm-svn: 346599
* Extract construction of DataBufferLLVM into FileSystemJonas Devlieghere2018-11-1018-73/+94
| | | | | | | | | | This moves construction of data buffers into the FileSystem class. Like some of the previous refactorings we don't translate the path yet because the functionality hasn't been landed in LLVM yet. Differential revision: https://reviews.llvm.org/D54272 llvm-svn: 346598
* r600: Add datalayout to image builtin implementationJan Vesely2018-11-103-0/+6
| | | | | | Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> Reviewer: Aaron Watry llvm-svn: 346597
* [InstCombine] simplify code for merging stores; NFCISanjay Patel2018-11-102-51/+28
| | | | llvm-svn: 346596
* [x86] allow vector load narrowing with multi-use valuesSanjay Patel2018-11-1037-4958/+3555
| | | | | | | | | | | | | | | | | | | | | | This is a long-awaited follow-up suggested in D33578. Since then, we've picked up even more opportunities for vector narrowing from changes like D53784, so there are a lot of test diffs. Apart from 2-3 strange cases, these are all wins. I've structured this to be no-functional-change-intended for any target except for x86 because I couldn't tell if AArch64, ARM, and AMDGPU would improve or not. All of those targets have existing regression tests (4, 4, 10 files respectively) that would be affected. Also, Hexagon overrides the shouldReduceLoadWidth() hook, but doesn't show any regression test diffs. The trade-off is deciding if an extra vector load is better than a single wide load + extract_subvector. For x86, this is almost always better (on paper at least) because we often can fold loads into subsequent ops and not increase the official instruction count. There's also some unknown -- but potentially large -- benefit from using narrower vector ops if wide ops are implemented with multiple uops and/or frequency throttling is avoided. Differential Revision: https://reviews.llvm.org/D54073 llvm-svn: 346595
* [InstCombine] auto-generate full checks; NFCSanjay Patel2018-11-102-206/+304
| | | | llvm-svn: 346594
* Fix DragonFlyBSD linkage issue.David Carlier2018-11-101-1/+2
| | | | | | environ global failed on LTO linkage step. llvm-svn: 346593
* [X86] Remove unused variableBenjamin Kramer2018-11-101-1/+0
| | | | llvm-svn: 346592
* [cxx_status] Update for San Diego motions.Richard Smith2018-11-101-7/+51
| | | | llvm-svn: 346591
* [X86] Remove apparently unneeded code from combineVSZext.Craig Topper2018-11-101-50/+0
| | | | | | | | No lit tests fail with this code removed. This is a pre-commit for D54346. llvm-svn: 346590
* [CostModel][X86] SK_ExtractSubvector costs must only be tested for vector ↵Simon Pilgrim2018-11-101-1/+1
| | | | | | types (PR39615) llvm-svn: 346589
* [GC] Rename a header for consistencyPhilip Reames2018-11-106-7/+8
| | | | llvm-svn: 346588
* [X86][BdVer2] Fix loads/stores throughput for Piledriver (PR39465)Roman Lebedev2018-11-1073-3868/+4108
| | | | | | | | | | | | | There are two AGU units, and per 1cy, there can be either two loads, or a load and a store; but not two stores, or two loads and a store. Additionally, loads shouldn't affect the store scheduler and vice versa. (but *should* affect the PdEX scheduler.) Required rL346545. Fixes https://bugs.llvm.org/show_bug.cgi?id=39465 llvm-svn: 346587
* [python] Support PathLike filenames and directoriesMichal Gorny2018-11-105-18/+151
| | | | | | | | | | | | | | | Python 3.6 introduced a file system path protocol (PEP 519[1]). The standard library APIs accepting file system paths now accept path objects too. It could be useful to add this here as well for convenience. [1] https://www.python.org/dev/peps/pep-0519 Authored by: jstasiak (Jakub Stasiak) Differential Revision: https://reviews.llvm.org/D54120 llvm-svn: 346586
* [NFC][MCA][BdVer2] Add bdver2 runline into register-file-statistics.s testRoman Lebedev2018-11-101-0/+11
| | | | | | | Missed this one by accident when adding the initial version in rL345463 / rL345462 llvm-svn: 346585
* [ThinLTO] Internalize readonly globalsEugene Leviant2018-11-1042-89/+774
| | | | | | | | | This patch allows internalising globals if all accesses to them (from live functions) are from non-volatile load instructions Differential revision: https://reviews.llvm.org/D49362 llvm-svn: 346584
* [clang]: Fix misapplied patch in 346582.Kristina Brooks2018-11-101-1/+1
| | | | llvm-svn: 346583
* Correct naming conventions and 80 col rule violation in CGDeclCXX.cpp. NFC.Kristina Brooks2018-11-101-16/+17
| | | | | | Differential Revision: https://reviews.llvm.org/D54373 llvm-svn: 346582
* [X86] Use a MOVSX instruction instead of a MOVZX instruction in isel for an ↵Craig Topper2018-11-102-152/+87
| | | | | | | | any_extend of the remainder from an 8-bit sdivrem. The sdivrem will emit its own MOVSX to move %ah to the low byte of a register. By using a MOVSX for an any_extend this allows a post-isel peephole to merge them. llvm-svn: 346581
* [X86] Add a test case to show scalarized vector srem to demonstrate ↵Craig Topper2018-11-101-0/+415
| | | | | | | | unnecessary instructions. NFC After the division %ah is being sign extended to move it to lower byte of a register while avoiding a partial register read. We then zero extend the low byte to the full 32 bit register. But we don't use any of the zero extended bits. In the DAG the zero extend was really an any_extend so the sign extend should have been enough. llvm-svn: 346580
* Correct atexit(3) support in MSan/NetBSDKamil Rytarowski2018-11-101-3/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: The NetBSD specific implementation of cxa_atexit() does not preserve the 2nd argument if dso is equal to NULL. Changes: - Split paths of handling intercepted __cxa_atexit() and atexit(3). This affects all supported Operating Systems. - Add a local stack-like structure to hold the __cxa_atexit() context. atexit(3) is documented in the C standard as calling callback from the earliest to the oldest entry. This path also fixes potential ABI problem of passing an argument to a function from the atexit(3) callback mechanism. - Allow usage of global vars with ctors in interceptors. This allows to use Vector without automatic cleaning up the structures. This code has been modeled after TSan implementation for the same functions. Sponsored by <The NetBSD Foundation> Reviewers: joerg, dvyukov, eugenis, vitalybuka, kcc Reviewed By: vitalybuka Subscribers: delcypher, devnexen, llvm-commits, #sanitizers Tags: #sanitizers Differential Revision: https://reviews.llvm.org/D40714 llvm-svn: 346579
* [PDB] Simplify some ghash code, NFCReid Kleckner2018-11-101-17/+21
| | | | | | | Instead of calling the same function twice with different parameters, make the parameters depend on the condition. llvm-svn: 346578
* Fix DragonFlyBSD buildDavid Carlier2018-11-101-1/+3
| | | | | | | | | | Reviewers: rnk, thakis Reviewed By: krytarowski Differential Revision: https://reviews.llvm.org/D54363 llvm-svn: 346577
* RegAllocFast: Further cleanups; NFCMatthias Braun2018-11-101-210/+217
| | | | llvm-svn: 346576
* test/CodeGen/X86: Relax test caseMatthias Braun2018-11-101-6/+4
| | | | | | | No need to hardcode register or expecting totally unnecessary spills from the allocator. llvm-svn: 346575
* [X86] In LowerHorizontalByteSum, emit vector_shuffle nodes instead of ↵Craig Topper2018-11-103-8/+8
| | | | | | | | | | directly using X86ISD::UNPCKL/X86ISD::UNPCKH. This gives shuffle lowering the freedom to use zero_extend_vector_inreg for the unpckl shuffle. Shuffle combining usually makes this swap later, but not when AVX512 is enabled it seems. While there also use DAG.getConstant to create a 0 vector instead of using the helper the forces a specific BUILD_VECTOR. I don't think that helper is usually needed. We're basically free to create a constant build_vector anytime and it will be legalized on its own. llvm-svn: 346574
* Unbreak the linux bot from the previous commit. Fred needed to useJason Molenda2018-11-101-0/+6
| | | | | | | | | some of the macros from mach/exc_resource.h to decode EXC_RESOURCE, but that header doesn't exist on non-apple platforms and StopInfoMachException.cpp needs to build on those systems. EXC_RESOURCE won't be decoded when lldb is built on non-darwin systems. llvm-svn: 346573
* Add extra diagnostics to testAdrian Prantl2018-11-101-0/+4
| | | | llvm-svn: 346572
* Enable listening for EXC_RESOURCE events, and format machJason Molenda2018-11-102-19/+81
| | | | | | | | | | | | | | | | | | | | event as a thread stop reason if we receive one, using some macros to decode the payload. Patch originally written by Fred Riss, with a few small changes by myself. Writing a test for this is a little tricky because the mach exception data interpretation relies on header macros or function calls - it may change over time and writing a gdb_remote_client test for this would break as older encoding interpretation is changed. I'll tak with Fred about this more, but neither of us has been thrilled with the kind of tests we could write for it. <rdar://problem/13097323>, <rdar://problem/40144456> llvm-svn: 346571
* [WebAssembly] Update bleeding-edge cpu featuresThomas Lively2018-11-101-1/+2
| | | | | | | | | | Reviewers: aheejin, dschuff Subscribers: sbc100, jgravelle-google, sunfish, jfb, llvm-commits Differential Revision: https://reviews.llvm.org/D54362 llvm-svn: 346570
* [GC] Simplify linking of GC builtin GC strategiesPhilip Reames2018-11-093-27/+5
| | | | llvm-svn: 346569
* [ARM64] [Windows] Handle funcletsEli Friedman2018-11-0913-20/+600
| | | | | | | | | | | | This patch adds support for funclets in frame lowering and ISel lowering. Together with D50288 and D50166, it enables C++ exception handling. Patch by Sanjin Sijaric, with some fixes by me. Differential Revision: https://reviews.llvm.org/D51524 llvm-svn: 346568
* [libcxx] Provide thread annotations for shared_mutexPetr Hosek2018-11-091-7/+8
| | | | | | | | | | shared_mutex was introduced in C++17 but its implementation currently doesn't use Clang's thread annotations like regular mutex. This change adds those. Differential Revision: https://reviews.llvm.org/D54290 llvm-svn: 346567
* Fix ClangFormat issue of recognizing ObjC subscript as C++ attributes when ↵Yan Zhang2018-11-092-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | message target is a result of a C-style method. Summary: The issue is that for array subscript like: ``` arr[[Foo() bar]]; ``` ClangFormat will recognize it as C++11 attribute syntax and put a space between 'arr' and first '[', like: ``` arr [[Foo() bar]]; ``` Now it is fixed. Tested with: ``` ninja FormatTests ``` Reviewers: benhamilton Reviewed By: benhamilton Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D54288 llvm-svn: 346566
* [AVR] Reorder the CHECK lines in directmem.ll to match current trunkDylan McKay2018-11-091-14/+19
| | | | | | | | | | | In r346432 ("[DAGCombine] Improve alias analysis for chain of independent stores"), the order of ldi/sts blocks changed. The new IR is equivalent to the old IR. This patch updates the test to fix the test suite. llvm-svn: 346565
* [SelectionDAG] Fix a -Wparentheses warning from gcc in an assert. NFCCraig Topper2018-11-091-2/+2
| | | | | | gcc wants parentheses around the logical OR since there is a logical AND for the string. llvm-svn: 346564
OpenPOWER on IntegriCloud