summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* ANSIfy. No behavior change.Nico Weber2017-05-053-3/+3
| | | | llvm-svn: 302258
* Allow operator-> to work from a FixedStreamArrayIterator.Adrian McCarthy2017-05-051-1/+2
| | | | | | | | This is similar to my recent fix for VarStreamArrayIterator, but the cause (and thus the fix) is subtley different. The FixedStreamArrayIterator iterates over a const Array, so the iterator's value type must be const. llvm-svn: 302257
* [Float2Int] Replace a ConstantRange copy with a move. Remove an extra call ↵Craig Topper2017-05-051-3/+4
| | | | | | to MapVector::find. llvm-svn: 302256
* Warn that the [] spelling of uuid(...) is deprecated.Nico Weber2017-05-056-5/+15
| | | | | | https://reviews.llvm.org/D32879 llvm-svn: 302255
* [ADT] Add BitVector::find_prev.Zachary Turner2017-05-053-0/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | This almost completes the matrix of all possible find functions. *EXISTING* ---------- find_first find_first_unset find_next find_next_unset find_last find_last_unset *NEW* ---- find_prev *STILL MISSING* --------------- find_prev_unset Differential Revision: https://reviews.llvm.org/D32885 llvm-svn: 302254
* Add a fix-it for -Wunguarded-availabilityAlex Lorenz2017-05-057-22/+318
| | | | | | | | | | | | | This patch adds a fix-it for the -Wunguarded-availability warning. This fix-it is similar to the Swift one: it suggests that you wrap the statement in an `if (@available)` check. The produced fixits are indented (just like the Swift ones) to make them look nice in Xcode's fix-it preview. rdar://31680358 Differential Revision: https://reviews.llvm.org/D32424 llvm-svn: 302253
* Add more variations of addcarry in the tests. NFC.Amaury Sechet2017-05-051-0/+67
| | | | llvm-svn: 302252
* [InstSimplify] fix copy-paste mistake in test comments; NFCSanjay Patel2017-05-051-200/+200
| | | | llvm-svn: 302251
* [ObjC] Don't disallow vector parameters/return values in methodsAlex Lorenz2017-05-052-12/+3
| | | | | | | | | | | whose introduced version is lower than the allowed version. We should just rely on the target version as this introduced version can lead to false positives (e.g. deprecated declarations). rdar://31964333 llvm-svn: 302250
* [llvm-dwarfdump] - Add comment for maybeDecompress(). NFC.George Rimar2017-05-051-0/+2
| | | | | | Addresses post commit review comment. llvm-svn: 302249
* [InstSimplify] add tests for (icmp X, C1 | icmp X, C2); NFCSanjay Patel2017-05-051-0/+3020
| | | | | | These are the 'or' counterparts for the tests added with r300493. llvm-svn: 302248
* Introduce Wzero-as-null-pointer-constant.Nico Weber2017-05-054-0/+47
| | | | | | | | | Add an opt-in warning that fires when 0 is used as a null pointer. gcc has this warning, and there's some demand for it. https://reviews.llvm.org/D32914 llvm-svn: 302247
* fix build on CygwinNuno Lopes2017-05-051-1/+1
| | | | llvm-svn: 302246
* [AArch64] Remove AArch64AddressTypePromotion passJun Bum Lim2017-05-054-505/+0
| | | | | | | | | | | | | | | | Summary: Remove the AArch64AddressTypePromotion pass as we migrated all transformations done in this pass into CGP in r299379. Reviewers: qcolombet, jmolloy, javed.absar, mcrosier Reviewed By: qcolombet Subscribers: aemerson, rengolin, mgorny, llvm-commits Differential Revision: https://reviews.llvm.org/D31623 llvm-svn: 302245
* Fix typoTobias Grosser2017-05-051-1/+1
| | | | llvm-svn: 302244
* [X86][SSE] Add 128/256/512 bit vector build vector from register testsSimon Pilgrim2017-05-053-0/+1574
| | | | llvm-svn: 302243
* Remember OffsetInArchive in LazyObjectFile.Rafael Espindola2017-05-054-5/+13
| | | | | | | LazyObjectFile might turn out to be a BitcodeFile, so we need OffsetInArchive. llvm-svn: 302242
* Use the archive offset with --whole-archive.Rafael Espindola2017-05-052-14/+15
| | | | | | | | | | | | | | The test ELF/lto/thin-archivecollision.ll was not testing what it wanted to test. It needs two archive members with the same name, but different offsets. Without this we could remove all references of OffsetInArchive and all tests would still pass. Fixing the test showed that the --whole-archive case was broken, which this patch fixes. llvm-svn: 302241
* [Driver] Add a "-mmacos_version_min" option that's an alias forAlex Lorenz2017-05-052-0/+6
| | | | | | | | | | | | | | "-mmacosx_version_min" The option -mmacosx_version_min will still be the canonical option for now, but in the future we will switch over to -mmacos_version_min and make -mmacosx_version_min an alias instead. rdar://27043820 Differential Revision: https://reviews.llvm.org/D32796 llvm-svn: 302240
* [ubsan]: temporarily disable print_stack_trace.cc testAlexander Potapenko2017-05-051-0/+3
| | | | | | | | Some problems with ARM stack unwinding led to inaccurate stack traces being printed, which caused this test to fail on http://lab.llvm.org:8011/builders/clang-cmake-thumbv7-a15-full-sh llvm-svn: 302239
* [LoopIdiom] check for safety while expandingAditya Kumar2017-05-052-0/+65
| | | | | | | | | Loop Idiom recognition was generating memset in a case that would result generating a division operation to an unsafe location. Differential Revision: https://reviews.llvm.org/D32674 llvm-svn: 302238
* [powerpc] Mark coverage-sample.cc as XFAIL on powerpc64leBill Seurer2017-05-051-0/+3
| | | | | | | When run this test case causes a segementation fault on powerpc64le. The xfail should be removed when the problem is fixed. llvm-svn: 302237
* [Tooling] Remove redundant check, NFCiKrasimir Georgiev2017-05-051-6/+2
| | | | | | | | | | | | Summary: The Database check looks redundant. Reviewers: bkramer Subscribers: klimek, cfe-commits Differential Revision: https://reviews.llvm.org/D32909 llvm-svn: 302236
* Remember archive name when creating LazyObjectFile.Rafael Espindola2017-05-055-4/+28
| | | | | | | | It is needed for creating an unique identifier for ThinLTO. This fixes pr32931. llvm-svn: 302235
* [ScopBuilder] Do not verify unfeasible SCoPs.Michael Kruse2017-05-052-0/+57
| | | | | | | | | | | | | | | | SCoPs with unfeasible runtime context are thrown away and therefore do not need their uses verified. The added test case requires a complexity limit to exceed. Normally, error statements are removed from the SCoP and for that reason are skipped during the verification. If there is a unfeasible runtime context (here: because of the complexity limit being reached), the removal of error statements and other SCoP construction steps are skipped to not waste time. Error statements are not modeled in SCoPs and therefore have no requirements on whether the scalars used in them are available. llvm-svn: 302234
* [X86][AVX512] Improve support and testing for CTLZ of 512-bit vectors ↵Simon Pilgrim2017-05-052-89/+599
| | | | | | without CDI llvm-svn: 302233
* Fix handling of signWrappedSets in access relationsTobias Grosser2017-05-052-1/+43
| | | | | | | | | | | | | | | | | | | | | | | Since r294891, in MemoryAccess::computeBoundsOnAccessRelation(), we skip manually bounding the access relation in case the parameter of the load instruction is already a wrapped set. Later on we assume that the lower bound on the set is always smaller or equal to the upper bound on the set. Bug 32715 manages to construct a sign wrapped set, in which case the assertion does not necessarily hold. Fix this by handling a sign wrapped set similar to a normal wrapped set, that is skipping the computation. Contributed-by: Maximilian Falkenstein <falkensm@student.ethz.ch> Reviewers: grosser Subscribers: pollydev, llvm-commits Tags: #Polly Differential Revision: https://reviews.llvm.org/D32893 llvm-svn: 302231
* [X86] Remove duplicate operation actions. NFCI.Simon Pilgrim2017-05-051-5/+0
| | | | llvm-svn: 302230
* [X86][AVX512CDI] Move v2i64/v4i64 and v4i32/v8i32 VPLZCNT lowering to tablegenSimon Pilgrim2017-05-052-39/+38
| | | | | | Extend NoVLX targets to use the 512-bit versions llvm-svn: 302229
* Remove stale live-ins in the branch folderKrzysztof Parzyszek2017-05-052-12/+81
| | | | | | | | | | | Hoisting common code can cause registers that live-in in the successor blocks to no longer be live-in. The live-in information needs to be updated to reflect this, or otherwise incorrect code can be generated later on. Differential Revision: https://reviews.llvm.org/D32661 llvm-svn: 302228
* [ELF] - Accept --defsym foo=value form.George Rimar2017-05-052-0/+6
| | | | | | | | Previously we accepted --defsym=foo=value only. Reported by Sean Silva. llvm-svn: 302227
* Remove unused variableSimon Pilgrim2017-05-051-1/+0
| | | | llvm-svn: 302226
* Fix segfault resulting from empty print promptPavel Labath2017-05-052-1/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: I have found a way to segfault lldb in 7 keystrokes! Steps to reproduce: 1) Launch lldb 2) Type `print` and hit enter. lldb will now prompt you to type a list of expressions, followed by an empty line. 3) Hit enter, indicating the end of your input. 4) Segfault! After some investigation, I've found the issue in Host/common/Editline.cpp. Editline::MoveCursor() relies on m_input_lines not being empty when the `to` argument is CursorPosition::BlockEnd. This scenario, as far as I can tell, occurs in one specific instance: In Editline::EndOrAddLineCommand() when the list of lines being processed contains exactly one string (""). Meeting this condition is fairly simple, I have posted steps to reproduce above. Reviewers: krytarowski, zturner, labath Reviewed By: labath Subscribers: scott.smith, lldb-commits Differential Revision: https://reviews.llvm.org/D32421 Patch by Alex Langford. llvm-svn: 302225
* [ARM] Add support for ORR and ORN instruction substitutionsJohn Brawn2017-05-054-0/+39
| | | | | | | | | | | | | Recently support was added for substituting one intruction for another by negating or inverting the immediate, but ORR and ORN were missed so this patch adds them. This one is slightly different to the others in that ORN only exists in thumb, so we only do the substitution in thumb. Differential Revision: https://reviews.llvm.org/D32534 llvm-svn: 302224
* Add TaskMap for iterating a function over a set of integersPavel Labath2017-05-054-167/+68
| | | | | | | | | | | | | | | | Summary: Many parallel tasks just want to iterate over all the possible numbers from 0 to N-1. Rather than enqueue N work items, instead just "map" the function across the requested integer space. Reviewers: clayborg, labath, tberghammer, zturner Reviewed By: clayborg, zturner Subscribers: zturner, lldb-commits Differential Revision: https://reviews.llvm.org/D32757 Patch by Scott Smith <scott.smith@purestorage.com>. llvm-svn: 302223
* [X86][AVX] Add LowerIntUnary helpers to split unary vector ops in half. NFCI.Simon Pilgrim2017-05-051-76/+51
| | | | | | Same as LowerIntArith helpers but for unary ops instead of binary. llvm-svn: 302222
* [llvm-dwarfdump] - Print an error message if section decompression failed.George Rimar2017-05-054-10/+43
| | | | | | | | | | | | | llvm-dwarfdump currently prints no message if decompression fails for some reason. I noticed that during work on one of LLD patches where LLD produced an broken output. It was a bit confusing to see no output for section dumped and no any error message at all. Patch adds error message for such cases. Differential revision: https://reviews.llvm.org/D32865 llvm-svn: 302221
* ABISysV_arm64: compute return value for large vectors correctlyPavel Labath2017-05-052-29/+55
| | | | | | | | | | | | | | | | | | | | | Summary: Arm64 Procedure Call Standard specifies than only vectors up to 16 bytes are stored in v0 (which makes sense, as that's the size of the register). 32-byte vector types are passed as regular structs via x8 pointer. Treat them as such. This fixes TestReturnValue for arm64-clang. I also split the test case into two so I can avoid the if(gcc) line, and annotate each test instead. (It seems the vector type tests fail with gcc only when targetting x86 arches). Reviewers: tberghammer, eugene Subscribers: aemerson, omjavaid, rengolin, srhines, lldb-commits Differential Revision: https://reviews.llvm.org/D32813 llvm-svn: 302220
* [X86] Remove unused code from X86 optimize LEAs. NFC.Andrew Ng2017-05-051-8/+0
| | | | | | | This patch removes unused code which is no longer required because of changes to the DIExpression::prepend function. llvm-svn: 302219
* [ubsan] Implement __sanitizer_print_stack_trace for standalone UBSan runtime.Alexander Potapenko2017-05-053-0/+58
| | | | | | Patch by Max Moroz, reviewed at https://reviews.llvm.org/D32542 llvm-svn: 302218
* Revert "[Polly] Added OpenCL Runtime to GPURuntime Library for GPGPU CodeGen"Siddharth Bhat2017-05-0510-1428/+156
| | | | | | | | | | | | | | | This reverts commit 17a84e414adb51ee375d14836d4c2a817b191933. Patches should have been submitted in the order of: 1. D32852 2. D32854 3. D32431 I mistakenly pushed D32431(3) first. Reverting to push in the correct order. llvm-svn: 302217
* [ArgPromotion] Add a testcase for PR32917Martin Storsjo2017-05-051-0/+23
| | | | | | Differential Revision: https://reviews.llvm.org/D32882 llvm-svn: 302216
* [Polly] Added OpenCL Runtime to GPURuntime Library for GPGPU CodeGenSiddharth Bhat2017-05-0510-156/+1428
| | | | | | | | | | | | | | | | | | | | | | | Summary: When compiling for GPU, one can now choose to compile for OpenCL or CUDA, with the corresponding polly-gpu-runtime flag (libopencl / libcudart). The GPURuntime library (GPUJIT) has been extended with the OpenCL Runtime library for that purpose, correctly choosing the corresponding library calls to the option chosen when compiling (via different initialization calls). Additionally, a specific GPU Target architecture can now be chosen with -polly-gpu-arch (only nvptx64 implemented thus far). Reviewers: grosser, bollu, Meinersbur, etherzhhb, singam-sanjay Reviewed By: grosser, Meinersbur Subscribers: singam-sanjay, llvm-commits, pollydev, nemanjai, mgorny, yaxunl, Anastasia Tags: #polly Differential Revision: https://reviews.llvm.org/D32431 llvm-svn: 302215
* Initialize new member X86Operand::FrontendSize in all codepaths.Daniel Jasper2017-05-051-1/+2
| | | | | | This fixes MSAN-builds after r302179. llvm-svn: 302214
* Document XFAIL's with the relevent bug numberEric Fiselier2017-05-052-0/+4
| | | | llvm-svn: 302213
* [XRay][compiler-rt] Remove dependency on FileCheck from function id ↵Dean Michael Berris2017-05-051-18/+14
| | | | | | | | | | utilities tests Follow-up on D32846 to simplify testing and not rely on FileCheck to test boundary conditions, and instead do all the testing in code instead. llvm-svn: 302212
* [ubsan] Fix error summary message for ObjC BOOL invalid loadsVedant Kumar2017-05-052-1/+16
| | | | llvm-svn: 302211
* [XRay][compiler-rt] Add function id utilities for XRayDean Michael Berris2017-05-053-1/+68
| | | | | | | | | | | | | | | | | | | | | | | | Summary: This change allows us to provide users and implementers of XRay handlers a means of converting XRay function id's to addresses. This, in combination with the facilities provided in D32695, allows users to find out: - How many function id's there are defined in the current binary. - Get the address of the function associated with this function id. - Patch only specific functions according to their requirements. While we don't directly provide symbolization support in XRay, having the function's address lets users determine this information easily either during runtime, or offline with tools like 'addr2line'. Reviewers: dblaikie, echristo, pelikan Subscribers: kpw, llvm-commits Differential Revision: https://reviews.llvm.org/D32846 llvm-svn: 302210
* Update VP prof metadata during inlining.Dehao Chen2017-05-052-13/+42
| | | | | | | | | | | | | | Summary: r298270 added profile update logic for branch_weights. This patch implements profile update logic for VP prof metadata too. Reviewers: eraman, tejohnson, davidxl Reviewed By: eraman Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D32773 llvm-svn: 302209
* [ADT] A few minor improvements to BitVectorZachary Turner2017-05-053-2/+33
| | | | | | | Fixes some spelling mistakes, uses a helper function, and adds an additional test case. llvm-svn: 302208
OpenPOWER on IntegriCloud