summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [SelectionDAG] Add support for splatted vectors in SUB opcodeSimon Pilgrim2016-11-102-9/+3
| | | | llvm-svn: 286509
* [X86] Add knownbits vector SUB testSimon Pilgrim2016-11-101-0/+23
| | | | llvm-svn: 286508
* [clang-format] Fix PR30527: Regression when clang-format insert spaces in [] ↵Nico Weber2016-11-102-2/+32
| | | | | | | | | | | | | | | | | | | | when in template Actual regression was introduced in r272668. This revision fixes JS script, but also regress Cpp case. It manifests with spaces added when template is followed with array. Bug 30527 mentions case of array as a nested template type (foo<bar<baz>[]>). Fix is to detect such case and to prevent treating it as array initialization, but as a subscript case. However, before r272668, this case was treated simple because we were detecting it as a StartsObjCMethodExpr. Same was true for other similar case - array of templates (foo<int>[]). This patch tries to address two problems: 1) fixing regression 2) making sure both cases (array as a nested type, array of templates) which were entering StartsObjCMethodExpr branch are handled now appropriately. https://reviews.llvm.org/D26163 Patch from Branko Kokanovic <branko@kokanovic.org>! llvm-svn: 286507
* [Sema] Range-ify for loop, add period to comment. NFC.George Burgess IV2016-11-102-3/+3
| | | | llvm-svn: 286506
* One more try to fix the Xcode projectChris Bieneman2016-11-101-8/+8
| | | | | | This time I made sure it actually opened. llvm-svn: 286505
* Fixing the Xcode build that I broke in r286479Chris Bieneman2016-11-104-11/+14
| | | | | | Since Xcode can't seem to handle quotes in preprocessor definitions, I've changed the build to assume that the define is unquoted. This should fix the failing Darwin bots. llvm-svn: 286504
* RegisterCoalescer: Ignore interferences for constant physregsMatthias Braun2016-11-104-26/+59
| | | | | | | | | | | When copying to/from a constant register interferences can be ignored. Also update the documentation for isConstantPhysReg() to make it more obvious that this transformation is valid. Differential Revision: https://reviews.llvm.org/D26106 llvm-svn: 286503
* AMDGPU: Emit runtime metadata as a note element in .note sectionYaxun Liu2016-11-1010-420/+474
| | | | | | | | | | | | Currently runtime metadata is emitted as an ELF section with name .AMDGPU.runtime_metadata. However there is a standard way to convey vendor specific information about how to run an ELF binary, which is called vendor-specific note element (http://www.netbsd.org/docs/kernel/elf-notes.html). This patch lets AMDGPU backend emits runtime metadata as a note element in .note section. Differential Revision: https://reviews.llvm.org/D25781 llvm-svn: 286502
* [asan/win] Move breakpoint from Abort to internal__exitReid Kleckner2016-11-101-2/+4
| | | | | | | | Now that we use TerminateProcess, the debugger doesn't stop on program exit. Add this breakpoint so that the debugger stops after asan reports an error and is prepared to exit the program. llvm-svn: 286501
* Clean up uses of unique_ptr for RAII objects. NFC.George Burgess IV2016-11-101-8/+9
| | | | | | | | | | - EnterExpressionEvaluationContext allows you to specify whether you *actually* want to enter an evaluation context. - For types that don't allow that, llvm::Optional<Foo> should do the same thing as std::unique_ptr<Foo>, but with 100% less heap allocations. llvm-svn: 286500
* Make the .idata$4 and .idata$5 import lib sections 8 bytes on x64Reid Kleckner2016-11-101-15/+20
| | | | | | | | The MSVC linker relies on this invariant to produce a valid import table. More ASan tests pass in a stage 2 build now. They still fail when using LLD since there are no PDBs for the dynamic ASan runtime. llvm-svn: 286499
* Fix type ambiguity with std::maxZachary Turner2016-11-101-1/+1
| | | | llvm-svn: 286498
* Fix initialization order error.Zachary Turner2016-11-101-1/+1
| | | | llvm-svn: 286497
* Include version string into ".comment" section.Rui Ueyama2016-11-1025-120/+275
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This patch adds a ".comment" section to an output. The comment section contains the linker's version string. You can now find out whether a binary is created by LLD or not using objdump command like this. $ objdump -s -j .comment foo foo: file format elf64-x86-64 Contents of section .comment: 0000 00474343 3a202855 62756e74 7520342e .GCC: (Ubuntu 4. 0010 382e342d 32756275 6e747531 7e31342e 8.4-2ubuntu1~14. ... 00c0 766d2f74 72756e6b 20323835 38343629 vm/trunk 285846) 00d0 004c696e 6b65723a 204c4c44 20342e30 .Linker: LLD 4.0 00e0 2e302028 7472756e 6b203238 36343036 .0 (trunk 286406 00f0 2900 ). Compilers emits .comment section as well, so the output contains both compiler and linker information. Alternative considered: I first tried to add a SHT_NOTE section because GNU gold does that. A NOTE section starts with a header which contains content type. It turned out that ld.gold sets type NT_GNU_GOLD_VERSION to their NOTE section. So the NOTE type is only for GNU gold (surprise!) Next, I tried to create ".linker-version" section. However, it seems that reusing the existing ".comment" section is better because 1) other tools already know about .comment section and is able to strip it and 2) the result contans not only linker info but also compiler info. Differential Revision: https://reviews.llvm.org/D26487 llvm-svn: 286496
* [Support] Improve flexibility of binary blob formatter.Zachary Turner2016-11-105-169/+162
| | | | | | | | | | | This makes it possible to indent a binary blob by a certain number of bytes, and also makes some things more idiomatic. Finally, it integrates this binary blob formatter into ScopedPrinter which used to have its own implementation of this algorithm. Differential Revision: https://reviews.llvm.org/D26477 llvm-svn: 286495
* Correcting a documentation formatting bug; NFC.Aaron Ballman2016-11-101-3/+3
| | | | llvm-svn: 286494
* [LTO] Call llvm_shutdown on early exit.Davide Italiano2016-11-102-0/+20
| | | | | | | | | | In a non-LTO build is a nop. In a LTO build, we deallocate/destroy managed static and this allows us to get the output of, e.g., -time-passes without performing a full shutdown. Differential Revision: https://reviews.llvm.org/D26517 llvm-svn: 286493
* [PDB] Begin adding documentation for the PDB file format.Zachary Turner2016-11-1010-0/+306
| | | | | | Differential Revision: https://reviews.llvm.org/D26374 llvm-svn: 286491
* [Test-Suite] Fix all the sanitizer tests to be based on compiler capabilitiesChris Bieneman2016-11-109-33/+18
| | | | | | | | | | | | Summary: This patch reworks all the @skip... lines for sanitizer libraries to be based on whether or not the compiler actually works, rather than whether or not the compiler-rt sources are present in some magically derived directory. Reviewers: lldb-commits Subscribers: kubabrecka, tfiala Differential Revision: https://reviews.llvm.org/D26513 llvm-svn: 286490
* [opt-viewer] Avoid duplicated remarksAdam Nemet2016-11-101-4/+13
| | | | | | | This can happen if a pass is run multiple times or if the code is in a header file which is included multiple times. llvm-svn: 286489
* [Target] Rename X86/ARM Assembly printer to reflect reality.Davide Italiano2016-11-102-2/+2
| | | | | | | This shows up a lot profiling LTO testcases with -time-passes, so better have a non confusing name. llvm-svn: 286488
* Add -Wduplicate-protocol for existing diagnosticAlex Lorenz2016-11-103-3/+10
| | | | | | | | | | | | | | Expose a warning flag for warn_duplicate_protocol_def. This allows control over the severity of duplicate protocol definitions. For example -Werror=duplicate-protocol or #pragma clang diagnostic ignored "-Wduplicate-protocol". Patch provided by Dave Lee! Differential Revision: https://reviews.llvm.org/D26406 llvm-svn: 286487
* Handle adding new nested namespace in old namespace.Eric Liu2016-11-102-11/+60
| | | | | | | | | | Reviewers: hokein Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D26456 llvm-svn: 286486
* [change-namespace] dyn_cast -> cast.Eric Liu2016-11-101-3/+3
| | | | llvm-svn: 286485
* Fix some Clang-tidy modernize-use-default and ↵Eugene Zelenko2016-11-108-96/+234
| | | | | | | | readability-redundant-member-init and Include What You Use warnings; other minor fixes. Differential revision: https://reviews.llvm.org/D26087 llvm-svn: 286484
* Revert r286437 r286438, they caused PR30976Nico Weber2016-11-102-133/+32
| | | | llvm-svn: 286483
* [OptDiag] Remove non-printable chars from function nameAdam Nemet2016-11-102-2/+3
| | | | | | | The r283656 did this in the remark arguments. We also need to do this in the main function attribute as that is written to YAML as well. llvm-svn: 286482
* [SelectionDAG] Add support for vector demandedelts in TRUNCATE opcodesSimon Pilgrim2016-11-102-13/+4
| | | | llvm-svn: 286481
* Add comments about why we put LoopSink pass at the very late stage.Dehao Chen2016-11-101-0/+4
| | | | llvm-svn: 286480
* Unify Darwin and Non-Darwin printing of version outputChris Bieneman2016-11-104-54/+107
| | | | | | | | | | | | | | | | | | | | | | | | Summary: This change unifies and simplifies the code paths between the Darwin and non-Darwin code to print the LLDB version information. It also introduces a new variable in CMake LLDB_VERSION_STRING which can be used to specify custom version information. On Darwin this value is implicitly set based on the resource/LLDB-Info.plist file. With the LLDB_VERSION_STRING variable set to lldb-360.99.0, the -version output is: > ./bin/lldb -version lldb version 4.0.0 (lldb-360.99.0) clang revision 286264 llvm revision 286265 This behavior is unified across all target platforms. Reviewers: lldb-commits Subscribers: mgorny, tfiala Differential Revision: https://reviews.llvm.org/D26478 llvm-svn: 286479
* [lsan] fix a rare lsan false positive: ensure that we don't re-sort the ↵Kostya Serebryany2016-11-101-12/+19
| | | | | | chunks_ array while iterating over it. A test is hard to create, but I've added a consistency check that fires w/o the fix on existing tests. The bug analysis and the initial patch were provided by Pierre Bourdon llvm-svn: 286478
* [X86] Add knownbits vector TRUNC testSimon Pilgrim2016-11-101-0/+27
| | | | | | In preparation for demandedelts support llvm-svn: 286477
* Un-XFail test on Windows. Has been in "unexpected success" mode for a while.Adrian McCarthy2016-11-101-2/+0
| | | | llvm-svn: 286476
* Restore part of "[ThinLTO] Prevent exporting of locals used/defined in ↵Teresa Johnson2016-11-103-4/+113
| | | | | | | | | | | | | | | | | module level asm" This restores the part of r286297 that didn't require adding a dependency from the Analysis to Object library. There are two parts to the original fix, and this will address the handling for the case where locals are used in module level asm. The part that requires functionality in libObject handles local defs in module level asm, and was reverted because our downstream build of clang builds lib/Bitcode into a single library, and this new dependency introduced a cycle there. I am trying to get that fixed (see D26502), so for now that change isn't being restored llvm-svn: 286475
* Protect bitset tests under libcpp-no-exceptionsRoger Ferrer Ibanez2016-11-104-44/+84
| | | | | | | | | | | | | Bitset tests feature a sequence of tests of increasing bitset sizes, but these tests rely on exceptions when the bitset size is less than 50 elements. This change adds a flag to tell whether a test should throw. If it must throw it will be skipped under no-exceptions. Differential Revision: https://reviews.llvm.org/D26140 llvm-svn: 286474
* Use common SDLoc. NFCI.Simon Pilgrim2016-11-101-3/+3
| | | | llvm-svn: 286473
* [clang-tidy] Add modernize-use-equals-delete checkMalcolm Parsons2016-11-109-2/+289
| | | | | | | | | | | | Summary: Fixes PR27872 Reviewers: klimek, hokein, alexfh, aaron.ballman Subscribers: Prazek, Eugene.Zelenko, danielmarjamaki, cfe-commits, mgorny Differential Revision: https://reviews.llvm.org/D26138 llvm-svn: 286472
* [SelectionDAG] Add support for vector demandedelts in MUL opcodesSimon Pilgrim2016-11-102-11/+7
| | | | llvm-svn: 286471
* reproducer for pr29002Asaf Badouh2016-11-101-6/+71
| | | | | | https://reviews.llvm.org/D26449 llvm-svn: 286470
* drop kw_module from ASI protection blockMartin Probst2016-11-101-2/+2
| | | | llvm-svn: 286469
* clang-format: [JS] do not break after declare namespace.Martin Probst2016-11-101-8/+8
| | | | | | | | | | | | | | | | | Summary: See TypeScript grammar for tokens following 'declare': https://github.com/Microsoft/TypeScript/blob/master/doc/spec.md#A.10 Additional minor change: clang-format: [JS] Prevent ASI before const. Reviewers: djasper Subscribers: cfe-commits, klimek Differential Revision: https://reviews.llvm.org/D26274 llvm-svn: 286468
* clang-format: [JS] do not break after declare namespace.Martin Probst2016-11-103-2/+49
| | | | | | | See TypeScript grammar for tokens following 'declare': https://github.com/Microsoft/TypeScript/blob/master/doc/spec.md#A.10 llvm-svn: 286467
* [clang-tidy] Add missing meta refresh for cert-msc30-c doc. NFCMalcolm Parsons2016-11-101-0/+2
| | | | llvm-svn: 286466
* [Sema] Avoid -Wshadow warnings for shadowed variables thatAlex Lorenz2016-11-106-15/+105
| | | | | | | | | | | | | | | | | aren't captured by lambdas with a default capture specifier This commit is a follow-up to r286354. It avoids the -Wshadow warning for variables which shadow variables that aren't captured by lambdas with a default capture specifier. It provides an additional note that points to location of the capture. The old behaviour is preserved with -Wshadow-all or -Wshadow-uncaptured-local. rdar://14984176 Differential Revision: https://reviews.llvm.org/D26448 llvm-svn: 286465
* AMDGPU: Add VI i16 supportTom Stellard2016-11-1042-341/+1490
| | | | | | | | Patch By: Wei Ding Differential Revision: https://reviews.llvm.org/D18049 llvm-svn: 286464
* [X86] Add knownbits vector MUL testSimon Pilgrim2016-11-101-0/+23
| | | | | | In preparation for demandedelts support llvm-svn: 286463
* Replace duplicated '16' with a named constant.Rafael Espindola2016-11-102-3/+4
| | | | | | Thanks to Michael Spencer for the suggestion. llvm-svn: 286462
* [SelectionDAG] Add support for vector demandedelts in SRA opcodesSimon Pilgrim2016-11-102-9/+4
| | | | llvm-svn: 286461
* [InstCombine] auto-generate better checks; NFCSanjay Patel2016-11-101-30/+67
| | | | | | | | Note that the existing metadata checking was re-added by hand because the script doesn't currently know how to generate checks for lines outside of functions. llvm-svn: 286460
* Parse relocations only once.Rafael Espindola2016-11-1011-127/+101
| | | | | | | | | | | | | | | | Relocations are the last thing that we wore storing a raw section pointer to and parsing on demand. With this patch we parse it only once and store a pointer to the actual data. The patch also changes where we store it. It is now in InputSectionBase. Not all sections have relocations, but most do and this simplifies the logic. It also means that we now only support one relocation section per section. Given that that constraint is maintained even with -r with gold bfd and lld, I think it is OK. llvm-svn: 286459
OpenPOWER on IntegriCloud