summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Fix some typos in commentsTobias Grosser2017-01-062-11/+11
| | | | llvm-svn: 291247
* [AMDGPU] Remove extra semicolon. NFCKonstantin Zhuravlyov2017-01-061-1/+1
| | | | llvm-svn: 291246
* [AMDGPU] Do not emit .AMDGPU.config section for amdhsaKonstantin Zhuravlyov2017-01-063-8/+9
| | | | | | Differential Revision: https://reviews.llvm.org/D27732 llvm-svn: 291245
* [X86][SSE] Simplify float domain requirement in unary shuffle matching.Simon Pilgrim2017-01-061-2/+1
| | | | | | The AVX1-only limit is never actually required in matchUnaryVectorShuffle llvm-svn: 291244
* [OpenCL] Re-enable supported core extensions based on opencl version when ↵Konstantin Zhuravlyov2017-01-062-2/+17
| | | | | | | | disabling all extensions using pragma Differential Revision: https://reviews.llvm.org/D28257 llvm-svn: 291243
* [X86][AVX] Regenerate shuffle 128-bit tests.Simon Pilgrim2017-01-063-195/+89
| | | | | | The EVEX -> VEX fix means that AVX/AVX512 code is more likely the same now. llvm-svn: 291242
* [X86][AVX] Regenerate tzcnt tests.Simon Pilgrim2017-01-061-343/+82
| | | | | | The EVEX -> VEX fix means that AVX/AVX512 code is more likely the same now. llvm-svn: 291241
* Remove trailing whitespace. NFCI.Simon Pilgrim2017-01-061-3/+3
| | | | llvm-svn: 291240
* [X86] Add X86Subtarget argument. NFCI.Simon Pilgrim2017-01-061-8/+12
| | | | | | All callers of getTargetVShiftNode have access to X86Subtarget already so pass it along instead of re-extracting it. llvm-svn: 291239
* [ASan] Make ASan instrument variable-masked loads and storesFilipe Cabecinhas2017-01-062-43/+129
| | | | | | | | | | | | Summary: Previously we only supported constant-masked loads and stores. Reviewers: kcc, RKSimon, pgousseau, gbedwell, vitalybuka Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D28370 llvm-svn: 291238
* [ubsan] Minimize size of data for type_mismatch (Redo of D19668)Filipe Cabecinhas2017-01-062-9/+10
| | | | | | | | | | | | Summary: This is the compiler-rt side of D28242. Reviewers: kcc, vitalybuka, pgousseau, gbedwell Subscribers: kubabrecka, llvm-commits Differential Revision: https://reviews.llvm.org/D28244 llvm-svn: 291237
* [ubsan] Minimize size of data for type_mismatch (Redo of D19667)Filipe Cabecinhas2017-01-065-20/+21
| | | | | | | | | | | | | | | | | | Summary: This patch makes the type_mismatch static data 7 bytes smaller (and it ends up being 16 bytes smaller due to alignment restrictions, at least on some x86-64 environments). It revs up the type_mismatch handler version since we're breaking binary compatibility. I will soon post a patch for the compiler-rt side. Reviewers: rsmith, kcc, vitalybuka, pgousseau, gbedwell Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D28242 llvm-svn: 291236
* [globalisel] Stop requiring -debug/-debug-only=registerbankinfo for assertions.Daniel Sanders2017-01-061-6/+7
| | | | | | | | | | | | | | | | | | | | | Summary: I've noticed that these assertions don't trigger when the condition is false. The problem is that the DEBUG(x) macro only executes x when the pass is emitting debug output via the -debug and -debug-only=registerbankinfo command line arguments. Debug builds should always execute the assertions so use '#ifndef NDEBUG' instead. Also removed an assertion that is only true the first time it's tested. <Target>RegisterBankInfo's constructor will re-use register banks causing them to be valid on subsequent tests. That assertion will fail on the first test too in the near future. Reviewers: t.p.northover, ab, rovka, qcolombet Subscribers: dberris, llvm-commits, kristof.beyls Differential Revision: https://reviews.llvm.org/D28358 llvm-svn: 291235
* Another windows build fixPavel Labath2017-01-061-0/+1
| | | | llvm-svn: 291234
* Attempt to fix windows build for r291198Pavel Labath2017-01-061-0/+1
| | | | llvm-svn: 291233
* [CodeCompletion] Block property setters: Use dynamic priority heuristicAlex Lorenz2017-01-063-12/+24
| | | | | | | | | | | | | | Now when completing blocks properties that return void the block call completion result shows up before the setter, otherwise the setter completion shows up before the block call completion. We normally want to use the result of the block call, so one typically wouldn't call a block that returns a non-void type in a standalone statement. rdar://28846153 Differential Revision: https://reviews.llvm.org/D26034 llvm-svn: 291232
* [ObjC] The declarator for a block literal should be a definitionAlex Lorenz2017-01-063-3/+6
| | | | | | | | | | | This change avoids the -Wstrict-prototypes warning for block literals with an empty argument list or without argument lists. rdar://15060615 Differential Revision: https://reviews.llvm.org/D28296 llvm-svn: 291231
* Constify UsingPackDecl::getInstantiatedFromUsingDecl(), NFC.Yaron Keren2017-01-061-1/+1
| | | | llvm-svn: 291230
* [CostModel][X86] Fix 512-bit SDIV/UDIV 'big' costs.Simon Pilgrim2017-01-062-20/+20
| | | | | | Set the costs on the lowest target that supports the type. llvm-svn: 291229
* [CostModel][X86] Add SDIV/UDIV cost tests for a wider range of targetsSimon Pilgrim2017-01-061-18/+50
| | | | | | Added a test demonstrating bug in AVX512 division costs llvm-svn: 291228
* Move test input to directory called Inputs.Daniel Jasper2017-01-063-1/+1
| | | | | | It is a common convention that our internal test runner depends upon. llvm-svn: 291227
* Fix clang build for r291198Pavel Labath2017-01-061-1/+1
| | | | | | | | | Older clangs (<=3.6) complain about a redefinition when we try to specialize a templace function declared with = delete. Instead, I just don't define the function body, which will trigger a linker error if someone tries to use an unknown function. llvm-svn: 291226
* Revert "XFAIL an lldb-mi test"Pavel Labath2017-01-061-2/+0
| | | | | | The clang bug is fixed now. This reverts commit r291100. llvm-svn: 291225
* Unbreak Darwin buildbots.Rui Ueyama2017-01-061-7/+7
| | | | llvm-svn: 291224
* Rename lld::stringize -> lld::toString.Rui Ueyama2017-01-065-5/+5
| | | | llvm-svn: 291223
* Merge elf::toString and coff::toString.Rui Ueyama2017-01-0612-36/+34
| | | | | | The two overloaded functions hid each other. This patch merges them. llvm-svn: 291222
* Remove lld::convertToUnixPathSeparator.Rui Ueyama2017-01-062-14/+1
| | | | | | | Now TarWriter takes care of path separator conversion, so we don't need to handle that in LLD. llvm-svn: 291221
* Consolidate file handle usage in Editline.cppPavel Labath2017-01-062-10/+39
| | | | | | | | | | | | | | | | | | | | Summary: To implement wide character reading, editline was mixing FILE*-based access with a Connection-based one (plus it did some selects on the raw FD), which is very fragile. Here, I replace it with one which uses only a Connection-based reads. The code is somewhat longer as I had to read characters one by one to detect the end of the multibyte sequence. I've verified that international characters still work in lldb command line on OSX. Reviewers: clayborg, zturner Subscribers: lldb-commits Differential Revision: https://reviews.llvm.org/D28356 llvm-svn: 291220
* Use \ as the path separator on Windows.Rui Ueyama2017-01-061-2/+1
| | | | | | | | Previously, when we printed out a path obtained from DWARF debug info, we replaced \ with / on Windows. But that doesn't make sense. We should respect the system's path separator. llvm-svn: 291219
* [llvm-config] Add --cmakedir to obtain CMake module locationMichal Gorny2017-01-061-1/+9
| | | | | | | | | | | | Add a --cmakedir option to llvm-config that returns the correct path to built/installed CMake modules (i.e. lib/cmake/llvm). This is mostly intended as a convenience option for stand-alone builds of other LLVM projects that frequently reconstruct LLVM_CMAKE_PATH after querying llvm-config. Differential Revision: https://reviews.llvm.org/D26894 llvm-svn: 291218
* [cmake] Disable appending -msse4.2 flag implicitlyMichal Gorny2017-01-062-2/+0
| | | | | | | | | | | | | | | | | | | | | | | Disable the code appending -msse4.2 flag implicitly when the compiler supports it. The compiler support for this flags do not indicate that the underlying CPU will support SSE4.2, and passing it may result in SSE4.2 code being emitted *implicitly*. If the target platform supports SSE4.2 appropriately, the relevant bits should be already enabled via -march= or equivalent. In this case passing -msse4.2 is redundant. If a runtime detection is desired (which seems to be a case with SCUDO), then (as gcc manpage points out) the specific SSE4.2 needs to be isolated into a separate file, the -msse4.2 flag can be forced only for that file and the function defined in that file can only be called when the CPU is determined to support SSE4.2. This fixes SIGILL on SCUDO when it is compiled using gcc-5.4. Differential Revision: https://reviews.llvm.org/D28304 llvm-svn: 291217
* [Orc][RPC] Fix an obvious locking-order bug in RawByteChannel::startSendMessage.Lang Hames2017-01-061-1/+1
| | | | | | | | | | | The lock needs to be acquired before the data is sent, not afterwards. This think-o slipped in during the refactor in r286620, but went unnoticed as the resulting bug only manifests in multi-threaded clients (of which there are none in-tree). No unit test as the bug depends on thread scheduling. llvm-svn: 291216
* TarWriter: Emit PAX headers only when needed.Rui Ueyama2017-01-061-23/+20
| | | | | | | | We use PAX headers to store long filenames (>= 100 bytes). It is not needed to emit PAX headers if filenames fit in the Ustar header. This patch implements that optimization. llvm-svn: 291215
* [AVX-512] Add EXTRACT_SUBVECTOR support to combineBitcastForMaskedOp.Craig Topper2017-01-062-16/+37
| | | | llvm-svn: 291214
* [AVX-512] Add more masked vector extract test cases with and without a ↵Craig Topper2017-01-061-0/+450
| | | | | | | | bitcast between the select. The ones with the bitcast need additional work to fold the mask operation properly. This will be fixed in a future commit. llvm-svn: 291213
* Attempt to unbreak buildbots.Rui Ueyama2017-01-061-1/+1
| | | | llvm-svn: 291212
* [SelectionDAG] Rework lowerRangeToAssertZExtDavid Majnemer2017-01-061-6/+11
| | | | | | Utilize ConstantRange to make it easier to interpret range metadata. llvm-svn: 291211
* Use TarWriter to create tar archives instead of cpio.Rui Ueyama2017-01-0616-150/+68
| | | | | | | | | | This is how we use TarWriter in LLD. Now LLD does not append a file extension, so you need to pass `--reproduce foo.tar` instead of `--reproduce foo`. Differential Revision: https://reviews.llvm.org/D28103 llvm-svn: 291210
* Add a class to create a tar archive file.Rui Ueyama2017-01-063-0/+202
| | | | | | | | | | | | | | In LLD, we create cpio archive files for --reproduce command. cpio was not a bad choice because it is very easy to create, but it was sometimes hard to use because people are not familiar with cpio command. I noticed that creating a tar archive isn't as hard as I thought. So I implemented it in this patch. Differential Revision: https://reviews.llvm.org/D28091 llvm-svn: 291209
* CodeGen: address post commit review comments for r291123Saleem Abdulrasool2017-01-063-13/+0
| | | | | | | | | | | This test would force the execution of the backend. However, the backend already has a test for this. Effectively, this was trying to test that an API call was made properly. We do not have a good way to really test this. The test itself tested very little. Addresses post-commit review comments from Eric Christopher. llvm-svn: 291208
* Revert "Use _Unwind_Backtrace on Apple platforms."Bob Wilson2017-01-061-1/+1
| | | | | | | | | | | This reverts commit 63165f6ae3bac1623be36d4b3ce63afa1d51a30a. After making this change, I discovered that _Unwind_Backtrace is unable to unwind past a signal handler after an assertion failure. I filed a bug report about that issue in rdar://29866587 but even if we get a fix soon, it will be awhile before it get released. llvm-svn: 291207
* Disable sigaltstack on Apple platformsBob Wilson2017-01-061-1/+4
| | | | | | | | | | | | | | | | | Using sigaltstack on Apple platforms is a bad idea. Darwin's backtrace() function does not work with sigaltstack, and my change in r286851 was supposed to solve that by using _Unwind_Backtrace instead. I tested that _Unwind_Backtrace works for crashes but then discovered that it does not work for assertion failures when using sigaltstack, at least on macOS. The stack trace shows only the frames on the alternate stack. I also saw some reports of this happening for crashes, but it fails consistently for assertion failures. I tried various things to get it to work but the problem seems to be in _Unwind_Backtrace itself. Disabling sigaltstack is unfortunate since it would be nice to get backtraces for stack overflows, but at least this gets us backtraces for the more common cases. rdar://problem/29662459 llvm-svn: 291206
* LowerTypeTests: Split the pass in two: a resolution phase and a lowering phase.Peter Collingbourne2017-01-069-126/+164
| | | | | | | | | | | | This change separates how type identifiers are resolved from how intrinsic calls are lowered. All information required to lower an intrinsic call is stored in a new TypeIdLowering data structure. The idea is that this data structure can either be initialized using the module itself during regular LTO, or using the module summary in ThinLTO backends. Differential Revision: https://reviews.llvm.org/D28341 llvm-svn: 291205
* Revert part of cleanup to fix a build breakDavid Blaikie2017-01-061-2/+13
| | | | | | | | Wasn't sure I could include ErrorHandling.h here, and evidently I wasn't building this part (must've made the change using sed after getting tired of fixing each compilation error individually). llvm-svn: 291204
* Fixes for Clang API changeDavid Blaikie2017-01-062-21/+16
| | | | llvm-svn: 291203
* shared_ptrify (from InclusiveRefCntPtr) HeaderSearchOptionsDavid Blaikie2017-01-0612-27/+30
| | | | llvm-svn: 291202
* Remove unused private fields to fix the clang -Werror build.David Blaikie2017-01-061-5/+1
| | | | llvm-svn: 291201
* Fixes for Clang API changes to use std::shared_ptrDavid Blaikie2017-01-061-16/+17
| | | | llvm-svn: 291200
* Fix -Wunused-function warning by preprocessor conditionalizing the function ↵David Blaikie2017-01-061-0/+2
| | | | | | the same way as the caller llvm-svn: 291199
* Make lldb -Werror clean for -Wstring-conversionDavid Blaikie2017-01-0626-116/+67
| | | | | | | | | Also found/fixed one bug identified by this warning in RenderScriptx86ABIFixups.cpp where a string literal was being used in an effort to provide a name for an instruction/register, but was instead being passed as the bool 'isVolatile' parameter. llvm-svn: 291198
OpenPOWER on IntegriCloud