summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Remove unnecessary template. NFC.Rafael Espindola2017-02-241-6/+5
| | | | llvm-svn: 296117
* Made test more target agnosticSerge Pavlov2017-02-241-0/+27
| | | | | | | Recommits r295975 (Added regression tests), reverted in r295975, because it did not work on non-X86 targets. llvm-svn: 296116
* [ARM] GlobalISel: Add reg bank mappings for storesDiana Picus2017-02-242-0/+45
| | | | | | Same as the ones for loads. llvm-svn: 296115
* Expand a comment. NFC.Rafael Espindola2017-02-241-1/+4
| | | | llvm-svn: 296114
* [change-namespace] fix asan failure in r296110.Eric Liu2017-02-241-8/+9
| | | | llvm-svn: 296113
* [mips][mc] Fix a crash when disassembling odd sized sectionsSimon Dardis2017-02-241-0/+1
| | | | | | Attempt to fix failing test. llvm-svn: 296112
* Fixup r296105 - only run tests on MipsDiana Picus2017-02-241-0/+3
| | | | llvm-svn: 296111
* [change-namepsace] make it possible to whitelist symbols so they don't get ↵Eric Liu2017-02-246-2/+65
| | | | | | | | | | | | | | updated. Reviewers: hokein Reviewed By: hokein Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D30328 llvm-svn: 296110
* Fix signed/unsigned comparison warningsSimon Pilgrim2017-02-241-4/+4
| | | | llvm-svn: 296109
* [ARM] GlobalISel: Legalize storesDiana Picus2017-02-242-3/+49
| | | | | | Allow the same types that we allow for loads. llvm-svn: 296108
* Attempt to fix windows unit testsPavel Labath2017-02-241-6/+6
| | | | | | | In LLVM r296049, IPDBSession::getGlobalScope lost its constness. Adjust the unittest to account for that. llvm-svn: 296107
* [mips][mc] Fix a crash when disassembling odd sized sectionsSimon Dardis2017-02-241-0/+16
| | | | | | Corresponding test. llvm-svn: 296106
* [mips][mc] Fix a crash when disassembling odd sized sectionsSimon Dardis2017-02-241-30/+21
| | | | | | | | | | | | | | Make the MIPS disassembler consistent with the other targets in returning a Size of zero when the input buffer cannot contain an instruction due to it's size. Previously it reported the minimum instruction size when it failed due to the buffer not being big enough for an instruction causing llvm-objdump to crash when disassembling all sections. Reviewers: slthakur Differential Revision: https://reviews.llvm.org/D29984 llvm-svn: 296105
* Revert "[ARM] GlobalISel: Legalize stores"Diana Picus2017-02-242-42/+3
| | | | | | This reverts commit r296103 because the test broke on one of the bots. Sorry! llvm-svn: 296104
* [ARM] GlobalISel: Legalize storesDiana Picus2017-02-242-3/+42
| | | | | | Allow the same types that we allow for loads. llvm-svn: 296103
* [APInt] Add APInt::setBits() method to set all bits in rangeSimon Pilgrim2017-02-245-9/+136
| | | | | | | | | | | | | | | | | | The current pattern for setting bits in range is typically: Mask |= APInt::getBitsSet(MaskSizeInBits, LoPos, HiPos); Which can be particularly slow for large APInts (MaskSizeInBits > 64) as they require the allocation memory for the temporary variable. This is one of the key compile time issues identified in PR32037. This patch adds the APInt::setBits() helper method which avoids the temporary memory allocation completely, this first implementation uses setBit() internally instead but already significantly reduces the regression in PR32037 (~10% drop). Additional optimization may be possible. I investigated whether there is need for APInt::clearBits() and APInt::flipBits() equivalents but haven't seen these patterns to be particularly common, but reusing the code would be trivial. Differential Revision: https://reviews.llvm.org/D30265 llvm-svn: 296102
* Implement QPassSignals GDB package in lldb-serverPavel Labath2017-02-2413-6/+228
| | | | | | | | | | | | | | | Summary: QPassSignals package allows lldb client to tell lldb-server to ignore certain types of signals and re-inject them back to inferior without stopping execution. Reviewers: jmajors, labath Subscribers: danalbert, srhines, emaste, lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D30286 Author: Eugene Zemtsov <ezemtsov@google.com> llvm-svn: 296101
* [clang-tidy] Fix readability-redundant-declaration false positiveDaniel Marjamaki2017-02-242-17/+19
| | | | | | Differential Revision: https://reviews.llvm.org/D27048 llvm-svn: 296100
* Fix crash when an incorrect redeclaration only differs in __unaligned ↵Roger Ferrer Ibanez2017-02-242-1/+6
| | | | | | | | | | | type-qualifier Fix an assertion that is hit when a redeclaration with differing types only differs in the unaligned type-qualifier. Differential Revision: https://reviews.llvm.org/D29986 llvm-svn: 296099
* Add clazy to external Clang examples pageKevin Funk2017-02-241-0/+5
| | | | | | | | | | Reviewers: silvas, rizsotto.mailinglist, sergio.martins Reviewed By: rizsotto.mailinglist Differential Revision: https://reviews.llvm.org/D30252 llvm-svn: 296098
* [ELF] - Implemented --no-dynamic-linker optionGeorge Rimar2017-02-243-3/+23
| | | | | | | | | | | | | | Feature is used for producing static-linked PIE executables (https://gcc.gnu.org/ml/gcc/2015-06/msg00008.html) And was implemented in GNU ld https://gcc.gnu.org/ml/gcc/2015-08/msg00099.html I also found it in linux kernel build system, though I think that x86/x64 bootloader does not really rely on it. Seems it used for PPC though. Differential revision: https://reviews.llvm.org/D30258 llvm-svn: 296097
* Add missing initialization for MachineOptimizationRemarkEmitterJustin Bogner2017-02-241-0/+1
| | | | | | This was missed in r293110. llvm-svn: 296096
* [WebAssembly] Add a README.txt entry for mergeable sections.Dan Gohman2017-02-241-0/+5
| | | | llvm-svn: 296095
* [AVX-512] Separate the fadd/fsub/fmul/fdiv/fmax/fmin with rounding mode ISD ↵Craig Topper2017-02-245-26/+38
| | | | | | opcodes into separate packed and scalar opcodes. This is more consistent with the rest of the ISD opcodes. NFC llvm-svn: 296094
* [ExecutionDepsFix] Use range-based for loop. NFCCraig Topper2017-02-241-2/+1
| | | | llvm-svn: 296093
* [IR][X86] Fix llvm version number in comments in AutoUpgrade. Forgot the ↵Craig Topper2017-02-241-13/+13
| | | | | | next release is 5.0 not 4.1 llvm-svn: 296092
* [AVX-512] Remove lzcnt intrinsics and autoupgrade them to generic ctlz ↵Craig Topper2017-02-248-96/+185
| | | | | | | | intrinsics with select. Clang has been emitting cltz intrinsics for a while now. llvm-svn: 296091
* [AVX-512] Move lzcnt and conflict intrinsic tests to avx512cd intrinsic test ↵Craig Topper2017-02-242-79/+77
| | | | | | file since that's their feature. llvm-svn: 296090
* [AVX-512] Use update_llc_test_checks.py to generate a test.Craig Topper2017-02-241-6/+13
| | | | llvm-svn: 296089
* Add notes about the scope of the documents.Rui Ueyama2017-02-245-0/+15
| | | | llvm-svn: 296088
* Re-add ReleaseNotes to the doc tree.Rui Ueyama2017-02-241-0/+1
| | | | | | | | Looks like it is not allowed to have an .rst file in this directory that does not belong to a document tree. I don't know why. This patch adds a file back to fix a bot. llvm-svn: 296087
* Reorganize the document structure a bit.Rui Ueyama2017-02-244-17/+1
| | | | | | | C++11.rst is removed because LLD now follows the usual coding style of the LLVM project. llvm-svn: 296086
* [ELF] Make __ehdr_start point to ELF file headersPetr Hosek2017-02-242-7/+21
| | | | | | | | | | | __ehdr_start should be pointing to ELF file headers, not program headers. This is a reland of D30319. Differential Revision: https://reviews.llvm.org/D30323 llvm-svn: 296085
* Fix a race condition in FuncUnwinders where the mutex was beingJason Molenda2017-02-244-10/+16
| | | | | | | | | | | | | | | acquired only after checking if the ivar shared pointer was already filled in. But when I assign an UnwindPlan object to the shared pointer, I assign an empty object and then fill it in. That leaves a window where another thread could get the shared pointer to the empty (but quickly being-filled-in) object and lead to a crash. Also two changes from Greg for correctness on the TestMultipleDebuggers test case. <rdar://problem/30564102> llvm-svn: 296084
* Revert "[ELF] Make __ehdr_start point to ELF file headers"Petr Hosek2017-02-242-20/+6
| | | | | | This reverts commit r296079. llvm-svn: 296083
* [Driver] Enable SafeStack for Fuchsia targetsPetr Hosek2017-02-243-0/+13
| | | | | | | | | | | The runtime support is provided directly by the Fuchsia system C library. Patch by Roland McGrath Differential Revision: https://reviews.llvm.org/D30238 llvm-svn: 296082
* [Fuchsia] Use thread-pointer ABI slots for stack-protector and safe-stackPetr Hosek2017-02-2410-50/+96
| | | | | | | | | | | | The Fuchsia ABI defines slots from the thread pointer where the stack-guard value for stack-protector, and the unsafe stack pointer for safe-stack, are stored. This parallels the Android ABI support. Patch by Roland McGrath Differential Revision: https://reviews.llvm.org/D30237 llvm-svn: 296081
* Add some testcases for bitfields with illegal widths.Eli Friedman2017-02-243-0/+379
| | | | | | | | clang will generate IR like this for input using packed bitfields; very simple semantically, but it's a bit tricky to actually generate good code. llvm-svn: 296080
* [ELF] Make __ehdr_start point to ELF file headersPetr Hosek2017-02-242-6/+20
| | | | | | | | | __ehdr_start should be pointing to ELF file headers, not program headers. Differential Revision: https://reviews.llvm.org/D30319 llvm-svn: 296079
* [ODRHash] Add handling of TypedefType and DeclarationNameRichard Trieu2017-02-244-3/+156
| | | | | | Differential Revision: https://reviews.llvm.org/D21675 llvm-svn: 296078
* Fix old testcase for dead store to match the original intent.Eli Friedman2017-02-241-9/+17
| | | | | | | The x86 backend has a special case for load+xor+store, which isn't really what this is trying to test. llvm-svn: 296077
* Represent pass_object_size attrs in ExtParameterInfoGeorge Burgess IV2017-02-247-45/+83
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The goal of this is to fix a bug in modules where we'd merge FunctionDecls that differed in their pass_object_size attributes. Since we can overload on the presence of pass_object_size attributes, this behavior is incorrect. We don't represent `N` in `pass_object_size(N)` as part of ExtParameterInfo, since it's an error to overload solely on the value of N. This means that we have a bug if we have two modules that declare functions that differ only in their pass_object_size attrs, like so: // In module A, from a.h void foo(char *__attribute__((pass_object_size(0)))); // In module B, from b.h void foo(char *__attribute__((pass_object_size(1)))); // In module C, in main.c #include "a.h" #include "b.h" At the moment, we'll merge the foo decls, when we should instead emit a diagnostic about an invalid overload. We seem to have similar (silent) behavior if we overload only on the return type of `foo` instead; I'll try to find a good place to put a FIXME (or I'll just file a bug) soon. This patch also fixes a bug where we'd not output the proper extended parameter info for declarations with pass_object_size attrs. llvm-svn: 296076
* Add documents to a doctree.Rui Ueyama2017-02-241-0/+6
| | | | | | Looks like all documents must be in a doctree. llvm-svn: 296075
* Attempt to fix lld-sphinx-docs bot.Rui Ueyama2017-02-241-2/+2
| | | | llvm-svn: 296074
* Factor out some common code between SpecialMemberExceptionSpecInfo and ↵Richard Smith2017-02-244-123/+122
| | | | | | | | SpecialMemberDeletionInfo. To simplify this, convert SpecialMemberOverloadResult to a value type. llvm-svn: 296073
* Update the main document of LLD for those who are not familiar with the project.Rui Ueyama2017-02-241-15/+127
| | | | llvm-svn: 296072
* Introduce support for Debug Registers in RegisterContextNetBSD_x86_64Kamil Rytarowski2017-02-241-268/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | Summary: NetBSD 7.99.62 introduced Debug Registers interface similar to the FreeBSD one. This interface will land NetBSD-8.0. Introduce support for this interface in Register Context NetBSD x86_64 unconditionally as older versions of NetBSD will not be supported. This change allows to reduce diff with other ports and remove local copy of the RegisterInfos_x86_64.h content. NetBSD Register Context for 32-bit x86 support will be added later. Sponsored by <The NetBSD Foundation> Reviewers: labath, joerg, emaste, clayborg Reviewed By: labath, clayborg Subscribers: #lldb Tags: #lldb Differential Revision: https://reviews.llvm.org/D30287 llvm-svn: 296071
* Switch NetBSD from paccept(2) to accept4(2)Kamil Rytarowski2017-02-241-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | Summary: NetBSD 8.0 will ship with accept4(2) in libc wrapping paccept(2). This change reduces needless difference with other platforms. Older versions of NetBSD will not be supported. No functional change. Sponsored by <The NetBSD Foundation> Reviewers: joerg, emaste, labath, clayborg Reviewed By: emaste, labath, clayborg Subscribers: #lldb Tags: #lldb Differential Revision: https://reviews.llvm.org/D30288 llvm-svn: 296070
* Fix an iterator invalidation bug when simplifying LIC user.Xin Tong2017-02-241-1/+7
| | | | | | | | LoopUnswitch/simplify-with-nonvalness.ll is the test case for this. The LIC has 2 users and deleting the 1st user when it can be simplified invalidated the iterator for the 2nd user. llvm-svn: 296069
* Simplify and pass a more useful source location when computing an exceptionRichard Smith2017-02-241-14/+3
| | | | | | specification for an implicit special member. llvm-svn: 296068
OpenPOWER on IntegriCloud