summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [ELF] - Enable reproduce-error.s under windows.George Rimar2016-11-091-4/+4
| | | | | | Differential revision: https://reviews.llvm.org/D26445 llvm-svn: 286364
* [CodeCompletion] Show block invocation results for block property settersAlex Lorenz2016-11-093-37/+147
| | | | | | | | | | | | This commit changes the code completion results for block property setters: The default block property result is now a block invocation rather than a simple property reference. rdar://28846196 Differential Revision: https://reviews.llvm.org/D26071 llvm-svn: 286363
* [SystemZ] A few fixes in scheduler files.Jonas Paulsson2016-11-093-11/+11
| | | | | Review: U Weigand llvm-svn: 286362
* Remove TimeValue usage from Scalar/SROA.cpp. NFC.Pavel Labath2016-11-091-2/+3
| | | | llvm-svn: 286361
* Fix expectation in TestStaticVariables.py after rL286302Tamas Berghammer2016-11-091-1/+1
| | | | | | | | The debug info emitted by clang for static variables improved by rL286302 and it exposed an incorrect test expactation because now LLDB able to displays more data 9thanks to better debug info) then before. llvm-svn: 286360
* Zero-initialize chrono duration objectsPavel Labath2016-11-092-3/+3
| | | | | | | The default duration constructor does not zero-initialize the object, we need to do that manually. llvm-svn: 286359
* [dsymutil] Replace TimeValue with TimePointPavel Labath2016-11-096-40/+46
| | | | | | | | | | | | | | Summary: All changes are pretty straight-forward. I chose to use TimePoints with second precision, as that is all that seems to be required here. Reviewers: friss, zturner Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D25908 llvm-svn: 286358
* Replace TimeValue with TimePoint in BuildSystem.cpp. NFC.Pavel Labath2016-11-091-2/+2
| | | | llvm-svn: 286357
* [VFS] Replace TimeValue usage with std::chronoPavel Labath2016-11-096-28/+33
| | | | | | | | | | | | Summary: NFCI Reviewers: benlangmuir, zturner Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D25948 llvm-svn: 286356
* Display the pointer value in the libstdc++ unique_ptr summaryPavel Labath2016-11-092-20/+11
| | | | | | | | | | | | | | | | | | | Summary: r284830 added a summary provider for unique_ptr in libstdc++, whose value printed the value of the pointee. This is a bit unintuitive as it becomes unobvious that the value actually is a pointer, and we lose the way to actually obtain the pointer value. Change that to print the pointer value instead. The pointee value can still be obtained through the synthetic children. Reviewers: tberghammer, granata.enrico Subscribers: lldb-commits Differential Revision: https://reviews.llvm.org/D26403 llvm-svn: 286355
* [Sema] Avoid -Wshadow warnings for shadowed variables that aren't capturedAlex Lorenz2016-11-094-2/+129
| | | | | | | | | | | | | | | | by lambdas with an explicit capture list This commit avoids the -Wshadow warning for variables which shadow variables that aren't captured by lambdas with an explicit capture list. It provides an additional note that points to location of the explicit capture. The old behaviour is preserved with -Wshadow-all or -Wshadow-uncaptured-local. rdar://17135966 Differential Revision: https://reviews.llvm.org/D26278 llvm-svn: 286354
* [ELF] ARM and AArch64 undefined weak reference valuesPeter Smith2016-11-095-3/+172
| | | | | | | | | | | | | The ARM 32 and 64-bit ABI does not use 0 for undefined weak references that are used in PC relative relocations. In particular: - A branch relocation to an undefined weak resolves to the next instruction. Effectively making the branch a no-op - In all other cases the symbol resolves to the place so that S + A - P resolves to A. Differential Revision: https://reviews.llvm.org/D26240 llvm-svn: 286353
* Disable windows-only minidump pluginPavel Labath2016-11-094-28/+5
| | | | | | | | | | | | | | | | | Summary: This commit disables the windows-only minidump plugin and enables the new cross-platform plugin for windows minidump files. Test decorators are adjusted to reflect that: windows minidump tests can now run on all platforms. The exception is the tests that create minidump files, as that functionality is not available yet. I've checked that this works on windows and linux. Reviewers: amccarth, zturner Subscribers: dvlahovski, lldb-commits Differential Revision: https://reviews.llvm.org/D26393 llvm-svn: 286352
* [mips] Add non-const getter for the Elf_Mips_Options class. NFCSimon Atanasyan2016-11-091-3/+6
| | | | llvm-svn: 286351
* [MachineScheduler] Comments fixing.Jonas Paulsson2016-11-092-2/+3
| | | | | | | | The name/comment of the third argument to the ScheduleDAGMI constructor is RemoveKillFlags and not IsPostRA. Only the comments are changed. Review: A Trick llvm-svn: 286350
* Remove TimeValue usage from Core/ModulePavel Labath2016-11-097-70/+72
| | | | | | | | | | | | | | | | Summary: The only interesting part here is that TimePoint and TimeValue have different natural string representations, which affects "target modules list" output. It is now "2016-07-09 04:02:21.000000000", whereas previously in was "Sat Jul 9 04:02:21 2016". I wanted to check if we're OK with that. Reviewers: clayborg Subscribers: lldb-commits Differential Revision: https://reviews.llvm.org/D26275 llvm-svn: 286349
* [ELF] - Ignore -stats command line option.George Rimar2016-11-091-0/+1
| | | | llvm-svn: 286348
* [ARM] Loop Strength Reduction crashes when targeting ARM or Thumb.Alexandros Lamprineas2016-11-092-3/+38
| | | | | | | | | | | Scalar Evolution asserts when not all the operands of an Add Recurrence Expression are loop invariants. Loop Strength Reduction should only create affine Add Recurrences, so that both the start and the step of the expression are loop invariants. Differential Revision: https://reviews.llvm.org/D26185 llvm-svn: 286347
* Pacify lint checkJonas Hahnfeld2016-11-093-7/+8
| | | | llvm-svn: 286346
* [AVX-512] Add lowering to cvttpd2udq/cvttps2udq for fptoui v2f64/2f32 to 2i32Craig Topper2016-11-096-51/+53
| | | | | | | | | | | | This patch adds support for fptoui to 2i32 from both 2f64 and 2f32, building on Simon's change for the signed version in r284459 and using AVX-512 instructions. If we don't have VLX support we need to use a 512-bit operation for v2f64->v2i32 and extract the result. It also recognises that cvttpd2udq zeroes the upper 64-bits of the xmm result. Differential Revision: https://reviews.llvm.org/D26331 llvm-svn: 286345
* [X86] Lower AVX512 and SSE intrinsics for CVTTPD2DQ to X86ISD::CVTTPD2DQ.Craig Topper2016-11-095-47/+53
| | | | | | | | | | | | Summary: This allows the SSE intrinsic to use the EVEX instruction when available. It also fixes EVEX to not use a weird (v4i32 (fp_to_sint v2f64)) node and it merges some isel patterns. This also fixes some cases that weren't combining vzmovl with cvttpd2dq to remove extra moves. Reviewers: delena, zvi, RKSimon Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D26330 llvm-svn: 286344
* [AVX-512] Add more varied alignments to tests for storing the lower 128-bits ↵Craig Topper2016-11-091-0/+132
| | | | | | of a 256 or 512-bit subvector extract. llvm-svn: 286343
* [AVX-512] Use alignedstore256 in patterns that look for stores of the lower ↵Craig Topper2016-11-092-15/+15
| | | | | | | | 256-bits of a 512-bit vector to use a 256-bit aligned store. Previously we were only checking for 16 byte alignment instead of 32 byte alignment. Fixes PR30947. llvm-svn: 286342
* [AVX-512] Add test cases to demonstrate PR30947. We accidentally use 32 byte ↵Craig Topper2016-11-091-0/+144
| | | | | | aligned store instructions when the original store was only 16 byte aligned if the store is from the lower bits of a subvector extract. llvm-svn: 286341
* [AVX-512] Make VBMI instruction set enabling imply that the BWI instruction ↵Craig Topper2016-11-092-0/+12
| | | | | | | | | | | | | | set is also enabled. Summary: This is needed to make the v64i8 and v32i16 types legal for the 512-bit VBMI instructions. Fixes PR30912. Reviewers: delena, zvi Subscribers: RKSimon, cfe-commits Differential Revision: https://reviews.llvm.org/D26306 llvm-svn: 286340
* [AVX-512] Make VBMI instruction set enabling imply that the BWI instruction ↵Craig Topper2016-11-093-28/+28
| | | | | | | | | | | | | | | set is also enabled. Summary: This is needed to make the v64i8 and v32i16 types legal for the 512-bit VBMI instructions. Fixes PR30912. Reviewers: delena, zvi Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D26322 llvm-svn: 286339
* ScopInfo: only run code needed for ASSERT in DEBUG modeTobias Grosser2016-11-091-0/+2
| | | | | Suggested-by: Johannes Doerfert llvm-svn: 286338
* [libc++abi] Remove the test for checking using of fallback malloc in case of ↵Igor Kudrin2016-11-091-40/+0
| | | | | | | | dynamic memory exhaustion. This test is too fragile and doesn't add significant value. See https://reviews.llvm.org/D26150 for some details. llvm-svn: 286337
* Doxygen comments for avxintrin.h.Ekaterina Romanova2016-11-092-3/+1010
| | | | | | | | | | | | | | | Added doxygen comments to avxintrin.h's intrinsics. As of now, around 75% of the intrinsics in this file are documented here. The patches for the other 25% will be se nt out later. Removed extra spaces in emmitrin.h. Note: The doxygen comments are automatically generated based on Sony's intrinsics document. I got an OK from Eric Christopher to commit doxygen comments without prior code review upstream. llvm-svn: 286336
* When deciding whether to use the source remapping dictionary from Jason Molenda2016-11-092-9/+25
| | | | | | | | | | a dSYM per-uuid plist, only use it when the DBGVersion key has a value of 2 or greater. <rdar://problem/28889578> <rdar://problem/29131339> llvm-svn: 286335
* Revert "[CMake] Check runtimes subdir when looking for libcxx and libuwind"Petr Hosek2016-11-091-6/+1
| | | | | | This reverts commit eecb79506d88b268fb0d00cce178213b4aa17933. llvm-svn: 286334
* [CMake] Check runtimes subdir when looking for libcxxabiPetr Hosek2016-11-091-2/+9
| | | | | | | | | The runtimes subdir is the new location for runtimes, we should include it when looking for libcxxabi headers. Differential Revision: https://reviews.llvm.org/D26363 llvm-svn: 286333
* [CMake] Check runtimes subdir when looking for libcxx and libuwindPetr Hosek2016-11-091-1/+6
| | | | | | | | | The runtimes subdir is the new location for runtimes, we should include it when looking for libcxx and libunwind headers. Differential Revision: https://reviews.llvm.org/D26362 llvm-svn: 286332
* [index] Fix issue with protocol name locations in conformance list of an ↵Argyrios Kyrtzidis2016-11-094-2/+31
| | | | | | | | | | | ObjC class when they come from a typedef. The ObjC class protocol list assumes there is an associated location for each protocol but no location is provided when the protocol list comes from a typedef, and we end up with a buffer overflow when trying to get locations for the protocol names. Fixes crash of rdar://28980278. llvm-svn: 286331
* [XRay][docs] Fix llvm snippets to be well-formedDean Michael Berris2016-11-091-3/+3
| | | | llvm-svn: 286330
* Revert "[ThinLTO] Prevent exporting of locals used/defined in module level asm"Mehdi Amini2016-11-099-179/+13
| | | | | | | | This reverts commit r286297. Introduces a dependency from libAnalysis to libObject, which I missed during the review. llvm-svn: 286329
* [doc] Remove explicit CMake version requirement for MSVCMehdi Amini2016-11-091-3/+1
| | | | | | The global minimum one is way past this version. llvm-svn: 286328
* Split Header into individual fields.Rafael Espindola2016-11-0910-257/+251
| | | | | | | | | This is similar to what was done for InputSection. With this the various fields are stored in host order and only converted to target order when writing. llvm-svn: 286327
* Bitcode: Remove the remnants of the BitcodeDiagnosticInfo class.Peter Collingbourne2016-11-094-25/+1
| | | | | | | | | The BitcodeReader no longer produces BitcodeDiagnosticInfo diagnostics. The only remaining reference was in the gold plugin; the code there has been dead since we stopped producing InvalidBitcodeSignature error codes in r225562. While at it remove the InvalidBitcodeSignature error code. llvm-svn: 286326
* Enable Loop Sink pass for functions that has profile.Dehao Chen2016-11-095-10/+20
| | | | | | | | | | | | Summary: For functions with profile data, we are confident that loop sink will be optimal in sinking code. Reviewers: davidxl, hfinkel Subscribers: mehdi_amini, mzolotukhin, llvm-commits Differential Revision: https://reviews.llvm.org/D26155 llvm-svn: 286325
* clang-cl: Pass /Zc:threadSafeInit through to MSVC with /fallback (PR30948)Hans Wennborg2016-11-092-0/+14
| | | | llvm-svn: 286324
* Bitcode: Change the BitcodeReader to use llvm::Error internally.Peter Collingbourne2016-11-092-340/+344
| | | | | | Differential Revision: https://reviews.llvm.org/D26430 llvm-svn: 286323
* Emit debug info for global constants whose address is taken exactly once.Adrian Prantl2016-11-092-0/+25
| | | | | | | | | Add a check to the DeclCache before emitting debug info for a GlobalVariable a second time and just attach the previsously created one to it. <rdar://problem/26721101> llvm-svn: 286322
* [asan] Ignore host LD_LIBRARY_PATH in device tests.Evgeniy Stepanov2016-11-091-2/+1
| | | | | | | | I'm not sure why is it there, but it is breaking tests on Android N because of unexpected linker output about an empty LD_LIBRARY_PATH entry. llvm-svn: 286321
* [asan] Disable unexpected passing test.Evgeniy Stepanov2016-11-091-1/+1
| | | | | | | This test fails on some versions of Android and passes on other versions. Replace XFAIL with UNSUPPORTED. llvm-svn: 286320
* [XRay][Docs] Add documentation for XRay in LLVMDean Michael Berris2016-11-092-0/+223
| | | | | | | | | | | | | | | | | | | Summary: This is the initial version of the documentation for how to use XRay as it stands in LLVM, Clang, and compiler-rt. We leave some room for later expansion mentioining what is work in progress and what could be expected moving forward. We also give a high level overview of future work that's both ongoing and planned. Reviewers: echristo, dblaikie, chandlerc Subscribers: mehdi_amini, llvm-commits Differential Revision: https://reviews.llvm.org/D26386 llvm-svn: 286319
* [ValueTracking] recognize obfuscated variants of umin/umaxSanjay Patel2016-11-092-17/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | The smallest tests that expose this are codegen tests (because SelectionDAGBuilder::visitSelect() uses matchSelectPattern to create UMAX/UMIN nodes), but it's also possible to see the effects in IR alone with folds of min/max pairs. If these were written as unsigned compares in IR, InstCombine canonicalizes the unsigned compares to signed compares. Ie, running the optimizer pessimizes the codegen for this case without this patch: define <4 x i32> @umax_vec(<4 x i32> %x) { %cmp = icmp ugt <4 x i32> %x, <i32 2147483647, i32 2147483647, i32 2147483647, i32 2147483647> %sel = select <4 x i1> %cmp, <4 x i32> %x, <4 x i32> <i32 2147483647, i32 2147483647, i32 2147483647, i32 2147483647> ret <4 x i32> %sel } $ ./opt umax.ll -S | ./llc -o - -mattr=avx vpmaxud LCPI0_0(%rip), %xmm0, %xmm0 $ ./opt -instcombine umax.ll -S | ./llc -o - -mattr=avx vpxor %xmm1, %xmm1, %xmm1 vpcmpgtd %xmm0, %xmm1, %xmm1 vmovaps LCPI0_0(%rip), %xmm2 ## xmm2 = [2147483647,2147483647,2147483647,2147483647] vblendvps %xmm1, %xmm0, %xmm2, %xmm0 Differential Revision: https://reviews.llvm.org/D26096 llvm-svn: 286318
* [cmake] Fix handling compiler-rt in LLVM_ENABLE_PROJECTS by turning any "-" ↵Mehdi Amini2016-11-091-0/+1
| | | | | | into "_" llvm-svn: 286317
* Added the ability to dump hex bytes easily into a raw_ostream.Greg Clayton2016-11-094-0/+245
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Unit tests were added to verify this functionality keeps working correctly. Example output for raw hex bytes: llvm::ArrayRef<uint8_t> Bytes = ...; llvm::outs() << format_hex_bytes(Bytes); 554889e5 4881ec70 04000048 8d051002 00004c8d 05fd0100 004c8b0d d0020000 Example output for raw hex bytes with offsets: llvm::outs() << format_hex_bytes(Bytes, 0x100000d10); 0x0000000100000d10: 554889e5 4881ec70 04000048 8d051002 0x0000000100000d20: 00004c8d 05fd0100 004c8b0d d0020000 Example output for raw hex bytes with ASCII with offsets: llvm::outs() << format_hex_bytes_with_ascii(Bytes, 0x100000d10); 0x0000000100000d10: 554889e5 4881ec70 04000048 8d051002 |UH.?H.?p...H....| 0x0000000100000d20: 00004c8d 05fd0100 004c8b0d d0020000 |..L..?...L..?...| The default groups bytes into 4 byte groups, but this can be changed to 1 byte: llvm::outs() << format_hex_bytes(Bytes, 0x100000d10, 16 /*NumPerLine*/, 1 /*ByteGroupSize*/); 0x0000000100000d10: 55 48 89 e5 48 81 ec 70 04 00 00 48 8d 05 10 02 0x0000000100000d20: 00 00 4c 8d 05 fd 01 00 00 4c 8b 0d d0 02 00 00 llvm::outs() << format_hex_bytes(Bytes, 0x100000d10, 16 /*NumPerLine*/, 2 /*ByteGroupSize*/); 0x0000000100000d10: 5548 89e5 4881 ec70 0400 0048 8d05 1002 0x0000000100000d20: 0000 4c8d 05fd 0100 004c 8b0d d002 0000 llvm::outs() << format_hex_bytes(Bytes, 0x100000d10, 8 /*NumPerLine*/, 1 /*ByteGroupSize*/); 0x0000000100000d10: 55 48 89 e5 48 81 ec 70 0x0000000100000d18: 04 00 00 48 8d 05 10 02 0x0000000100000d20: 00 00 4c 8d 05 fd 01 00 0x0000000100000d28: 00 4c 8b 0d d0 02 00 00 https://reviews.llvm.org/D26405 llvm-svn: 286316
* [InstCombine] fix profitability equation for max-of-nots transformSanjay Patel2016-11-092-12/+13
| | | | | | | | | | As the test change shows, we can increase the critical path by adding a 'not' instruction, so make sure that we're actually removing an instruction if we do this transform. This transform could also cause us to miss folds of min/max pairs. llvm-svn: 286315
OpenPOWER on IntegriCloud