summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Remove header grouping comments.Jonas Devlieghere2018-11-11733-2684/+26
| | | | | | | | This patch removes the comments grouping header includes. They were added after running IWYU over the LLDB codebase. However they add little value, are often outdates and burdensome to maintain. llvm-svn: 346626
* Remove comments after header includes.Jonas Devlieghere2018-11-11168-936/+932
| | | | | | | | | | This patch removes the comments following the header includes. They were added after running IWYU over the LLDB codebase. However they add little value, are often outdates and burdensome to maintain. Differential revision: https://reviews.llvm.org/D54385 llvm-svn: 346625
* [llvm-nm] Use WithColor for error reportingJonas Devlieghere2018-11-112-8/+9
| | | | | | Use helpers from Support/WithError.h to print errors. llvm-svn: 346624
* [llvm-objdump] Use WithColor for error reportingJonas Devlieghere2018-11-113-68/+95
| | | | | | Use helpers from Support/WithError.h to print errors. llvm-svn: 346623
* [llvm-undname] Use WithColor for error reportingJonas Devlieghere2018-11-111-1/+2
| | | | | | Use helpers from Support/WithError.h to print errors. llvm-svn: 346622
* [GCRoot] Remove some unneccessary complexityPhilip Reames2018-11-113-68/+33
| | | | | | | | | The GCStrategy provides three configuration options were are largely redundant. 1) Support for conditionally lowering gcread and gcwrite to loads and stores. This is redundant since any GC which wished to use these abstractions would lower them out of existance before the built in lowering anyways. As such, there's no need to have the lowering being conditional. 2) Conditional initialization for allocas marked via gcroot. Semantically, roots have to be initialized before first potential use. Arguably, the frontend really should have responsibility for that, but the old API allowed the frontend to ignore this detail. Only one builtin GC used the non-initializing mode. Since no one to my knowledge actually uses the ErlangGC strategy, I decide the slight pessimization was worth the simplicity. If that turns out to be problematic, we can always improve the insertion algorithm to detect more existing initializing stores. llvm-svn: 346621
* [IPSCCP] Use forward declaration.Florian Hahn2018-11-111-0/+1
| | | | llvm-svn: 346620
* [IPSCCP,PM] Add missing #include in rL346618Fangrui Song2018-11-111-0/+1
| | | | llvm-svn: 346619
* [IPSCCP,PM] Preserve PDT in the new pass manager.Florian Hahn2018-11-114-23/+18
| | | | | | | | | | Reviewers: kuhar, chandlerc, NutshellySima, brzycki Reviewed By: NutshellySima, brzycki Differential Revision: https://reviews.llvm.org/D54317 llvm-svn: 346618
* [MC] Fix 3 objdump tests after rL346610Fangrui Song2018-11-113-10/+10
| | | | llvm-svn: 346617
* [ELF] Change GnuPub{Names,Types}Section from StringRef to LLDDWARFSectionFangrui Song2018-11-113-23/+24
| | | | | | | | | | | | | | | Summary: The debug_info_offset value may be relocated. This is lld side change of D54375. Reviewers: ruiu, dblaikie, grimar, espindola Subscribers: emaste, arichardson, JDevlieghere, llvm-commits Differential Revision: https://reviews.llvm.org/D54376 llvm-svn: 346616
* [DWARF] Change pubnames to use DWARFSection instead of StringRefFangrui Song2018-11-116-32/+72
| | | | | | | | | | | | | | Summary: The debug_info_offset values in .debug_{,gnu_}pub{name,types} may be relocated. Change it to DWARFSection so that we can get relocated values. Reviewers: ruiu, dblaikie, grimar, JDevlieghere Reviewed By: JDevlieghere Subscribers: aprantl, JDevlieghere, llvm-commits Differential Revision: https://reviews.llvm.org/D54375 llvm-svn: 346615
* [ELF] Fix relocation-common.s after rL346610Fangrui Song2018-11-111-6/+6
| | | | llvm-svn: 346614
* [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
OpenPOWER on IntegriCloud