summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [X86] Update trunc_packus_v32i32_v32i8 test in min-legal-vector-width.ll to ↵Craig Topper2019-10-111-12/+19
| | | | | | | | | use a load for the large type and add the min-legal-vector-width attribute. The attribute is needed to avoid zmm registers. Using memory avoids argument splitting for large vectors. llvm-svn: 374486
* Move most CXXRecordDecl::DefinitionData bit-fields out into a separateRichard Smith2019-10-116-424/+273
| | | | | | | | | | | file. Reduces duplication and thereby reduces the risk that someone will forget to update one of these places, as I did when adding DefaultedDestructorIsConstexpr (though I've been unable to produce a testcase for which that matters so far). llvm-svn: 374484
* Clean up format in cmake fileHaibo Huang2019-10-111-64/+64
| | | | | | | | | | | | Summary: Makes the indent consistent to other part of the file. Subscribers: mgorny, lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D68842 llvm-svn: 374483
* gn build: Merge r374476GN Sync Bot2019-10-101-0/+1
| | | | llvm-svn: 374482
* [tsan,msan] Insert module constructors in a module passVitaly Buka2019-10-109-55/+102
| | | | | | | | | | | | | | | | | | Summary: If we insert them from function pass some analysis may be missing or invalid. Fixes PR42877. Reviewers: eugenis, leonardchan Reviewed By: leonardchan Subscribers: hiraditya, cfe-commits, llvm-commits Tags: #clang, #llvm Differential Revision: https://reviews.llvm.org/D68832 llvm-svn: 374481
* [msan, NFC] Move option parsing into constructorVitaly Buka2019-10-102-16/+17
| | | | llvm-svn: 374480
* Fix compilation warning due to typo.Michael Liao2019-10-101-1/+1
| | | | llvm-svn: 374479
* [tooling] Fix assertion on MacOSX.Michael Liao2019-10-101-1/+6
| | | | llvm-svn: 374478
* [JITLink] Add an initial implementation of JITLink for MachO/AArch64.Lang Hames2019-10-106-0/+1138
| | | | | | | | | This implementation has support for all relocation types except TLV. Compact unwind sections are not yet supported, so exceptions/unwinding will not work. llvm-svn: 374476
* [JITLink] Move MachO/x86 got test further down in the data section.Lang Hames2019-10-101-12/+12
| | | | | | 'named_data' should be the first symbol in the data section. llvm-svn: 374475
* docs/DeveloperPolicy: Add instructions for requesting GitHub commit accessTom Stellard2019-10-101-0/+20
| | | | | | | | | | Subscribers: mehdi_amini, jtony, xbolva00, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D66840 llvm-svn: 374474
* Change test case so that it accepts backslashes in file path, in the case ↵Amy Huang2019-10-101-2/+2
| | | | | | that the test runs on Windows llvm-svn: 374473
* Fix check-interception link error in compiler-rt debug modeReid Kleckner2019-10-101-1/+4
| | | | llvm-svn: 374472
* [MemorySSA] Update Phi simplification.Alina Sbirlea2019-10-102-5/+62
| | | | | | | | | | When simplifying a Phi to the unique value found incoming, check that there wasn't a Phi already created to break a cycle. If so, remove it. Resolves PR43541. Some additional nits included. llvm-svn: 374471
* [tooling] Teach Tooling to understand compilation with offloading.Michael Liao2019-10-102-1/+27
| | | | | | | | | | | | | | | | Summary: - So far, we only recognize the host compilation with offloading and skip the offloading part. Reviewers: tra, yaxunl Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D68660 llvm-svn: 374470
* [lldb-test] Remove unused headerAlex Langford2019-10-101-1/+0
| | | | llvm-svn: 374468
* Fix help message for -ffp-contractYaxun Liu2019-10-101-1/+2
| | | | | | Differential Revision: https://reviews.llvm.org/D68823 llvm-svn: 374467
* PR43629: Fix crash evaluating constexpr placement new on a subobject ofRichard Smith2019-10-103-2/+13
| | | | | | an out-of-lifetime object. llvm-svn: 374465
* [GISel] Simplifying return from else in function. NFCMarcello Maggioni2019-10-101-2/+1
| | | | | | Forgot to integrate this little change in previous commit llvm-svn: 374463
* [Make] Remove spurious line breakJonas Devlieghere2019-10-101-1/+1
| | | | | | This test is disabled upstream and therefore this went unnoticed. llvm-svn: 374462
* [test] Reduce inconsistency between lit configuration files.Jonas Devlieghere2019-10-103-9/+17
| | | | | | | Add the Python extension to the configuration files in the API directory to match the other test suites. llvm-svn: 374461
* [X86] Guard against leaving a dangling node in combineTruncateWithSat.Craig Topper2019-10-101-4/+13
| | | | | | | | | | | | | | | | | | When handling the packus pattern for i32->i8 we do a two step process using a packss to i16 followed by a packus to i8. If the final i8 step is a type with less than 64-bits the packus step will return SDValue(), but the i32->i16 step might have succeeded. This leaves the nodes from the middle step dangling. Guard against this by pre-checking that the number of elements is at least 8 before doing the middle step. With that check in place this should mean the only other case the middle step itself can fail is when SSE2 is disabled. So add an early SSE2 check then just assert that neither the middle or final step ever fail. llvm-svn: 374460
* [X86] Add test cases for packus/ssat/usat 32i32->v32i8 test cases. NFCCraig Topper2019-10-104-0/+332
| | | | llvm-svn: 374459
* [GISel] Allow getConstantVRegVal() to return G_FCONSTANT values.Marcello Maggioni2019-10-104-38/+220
| | | | | | | | | | | | | | | | | | | | | In GISel we have both G_CONSTANT and G_FCONSTANT, but because in GISel we don't really have a concept of Float vs Int value the only difference between the two is where the data originates from. What both G_CONSTANT and G_FCONSTANT return is just a bag of bits with the constant representation in it. By making getConstantVRegVal() return G_FCONSTANTs bit representation as well we allow ConstantFold and other things to operate with G_FCONSTANT. Adding tests that show ConstantFolding to work on mixed G_CONSTANT and G_FCONSTANT sources. Differential Revision: https://reviews.llvm.org/D68739 llvm-svn: 374458
* Fix some errors in <arm_neon.h> tests that cause them to fail with laxRichard Smith2019-10-102-10/+10
| | | | | | vector conversions disabled. llvm-svn: 374457
* Revert 374450 "Fix __builtin_assume_aligned with too large values."Nico Weber2019-10-109-28/+31
| | | | | | | | | | | | | The test fails on Windows, with error: 'warning' diagnostics expected but not seen: File builtin-assume-aligned.c Line 62: requested alignment must be 268435456 bytes or smaller; assumption ignored error: 'warning' diagnostics seen but not expected: File builtin-assume-aligned.c Line 62: requested alignment must be 8192 bytes or smaller; assumption ignored llvm-svn: 374456
* [AMDGPU] Handle undef old operand in DPP combineStanislav Mekhanoshin2019-10-102-2/+15
| | | | | | | | It was missing an undef flag. Differential Revision: https://reviews.llvm.org/D68813 llvm-svn: 374455
* [ValueTracking] Improve pointer offset computation for cases of same baseRong Xu2019-10-102-9/+116
| | | | | | | | | | | | This patch improves the handling of pointer offset in GEP expressions where one argument is the base pointer. isPointerOffset() is being used by memcpyopt where current code synthesizes consecutive 32 bytes stores to one store and two memset intrinsic calls. With this patch, we convert the stores to one memset intrinsic. Differential Revision: https://reviews.llvm.org/D67989 llvm-svn: 374454
* [InstCombine] Add test case for PR43617 (NFC)Evandro Menezes2019-10-102-3/+11
| | | | | | Also, refactor check in `LibCallSimplifier::optimizeLog()`. llvm-svn: 374453
* [lit] Break main into smaller functionsJulian Lettner2019-10-101-181/+199
| | | | | | | | | | | This change is purely mechanical. I will do further cleanups of parameter usages. Reviewed By: rnk Differential Revision: https://reviews.llvm.org/D68830 llvm-svn: 374452
* TestMTCSimple: Make Makefile portable.Frederic Riss2019-10-101-1/+6
| | | | | | r374262 left out the Makefile changes needed to cross compile this test. llvm-svn: 374451
* Fix __builtin_assume_aligned with too large values.Erich Keane2019-10-109-31/+28
| | | | | | | | | | | | | | Code to handle __builtin_assume_aligned was allowing larger values, but would convert this to unsigned along the way. This patch removes the EmitAssumeAligned overloads that take unsigned to do away with this problem. Additionally, it adds a warning that values greater than 1 <<29 are ignored by LLVM. Differential Revision: https://reviews.llvm.org/D68824 llvm-svn: 374450
* Add -fgnuc-version= to control __GNUC__ and other GCC macrosReid Kleckner2019-10-1014-105/+190
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I noticed that compiling on Windows with -fno-ms-compatibility had the side effect of defining __GNUC__, along with __GNUG__, __GXX_RTTI__, and a number of other macros for GCC compatibility. This is undesirable and causes Chromium to do things like mix __attribute__ and __declspec, which doesn't work. We should have a positive language option to enable GCC compatibility features so that we can experiment with -fno-ms-compatibility on Windows. This change adds -fgnuc-version= to be that option. My issue aside, users have, for a long time, reported that __GNUC__ doesn't match their expectations in one way or another. We have encouraged users to migrate code away from this macro, but new code continues to be written assuming a GCC-only environment. There's really nothing we can do to stop that. By adding this flag, we can allow them to choose their own adventure with __GNUC__. This overlaps a bit with the "GNUMode" language option from -std=gnu*. The gnu language mode tends to enable non-conforming behaviors that we'd rather not enable by default, but the we want to set things like __GXX_RTTI__ by default, so I've kept these separate. Helps address PR42817 Reviewed By: hans, nickdesaulniers, MaskRay Differential Revision: https://reviews.llvm.org/D68055 llvm-svn: 374449
* Add a missing include in test.Evgeniy Stepanov2019-10-101-0/+1
| | | | | | A fix for r373993. llvm-svn: 374448
* [MemorySSA] Additional handling of unreachable blocks.Alina Sbirlea2019-10-102-0/+44
| | | | | | | | | | | | | | | | | | | | | Summary: Whenever we get the previous definition, the assumption is that the recursion starts ina reachable block. If the recursion starts in an unreachable block, we may recurse indefinitely. Handle this case by returning LoE if the block is unreachable. Resolves PR43426. Reviewers: george.burgess.iv Subscribers: Prazek, sanjoy.google, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D68809 llvm-svn: 374447
* [System Model] [TTI] Move default cache/prefetch implementationsDavid Greene2019-10-103-30/+35
| | | | | | | | | | Move the default implementations of cache and prefetch queries to TargetTransformInfoImplBase and delete them from NoTIIImpl. This brings these interfaces in line with how other TTI interfaces work. Differential Revision: https://reviews.llvm.org/D68804 llvm-svn: 374446
* Fix a documentation warning from GSYM commit.Greg Clayton2019-10-101-1/+1
| | | | llvm-svn: 374445
* Fix process launch failure on FreeBSD after r365761Dimitry Andric2019-10-102-26/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: After rLLDB365761, and with `LLVM_ENABLE_ABI_BREAKING_CHECKS` enabled, launching any process on FreeBSD crashes lldb with: ``` Expected<T> must be checked before access or destruction. Expected<T> value was in success state. (Note: Expected<T> values in success mode must still be checked prior to being destroyed). ``` This is because `m_operation_thread` and `m_monitor_thread` were wrapped in `llvm::Expected<>`, but this requires the objects to be correctly initialized before accessing them. To fix the crashes, use `llvm::Optional<>` for the members (as indicated by labath), and use local variables to store the return values of `LaunchThread` and `StartMonitoringChildProcess`. Then, only assign to the member variables after checking if the return values indicated success. Reviewers: devnexen, emaste, MaskRay, mgorny Reviewed By: devnexen Subscribers: jfb, labath, krytarowski, lldb-commits Differential Revision: https://reviews.llvm.org/D68723 llvm-svn: 374444
* [MSVC] Automatically add atlmfc folder to include and libpath.Zachary Turner2019-10-102-3/+16
| | | | | | Differential Revision: https://reviews.llvm.org/D68736 llvm-svn: 374443
* [PDB] Fix bug when using multiple PCH header objects with the same name.Zachary Turner2019-10-109-22/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | A common pattern in Windows is to have all your precompiled headers use an object named stdafx.obj. If you've got a project with many different static libs, you might use a separate PCH for each one of these. During the final link step, a file from A might reference the PCH object from A, but it will have the same name (stdafx.obj) as any other PCH from another project. The only difference will be the path. For example, A might be A/stdafx.obj while B is B/stdafx.obj. The existing algorithm checks only the filename that was passed on the command line (or stored in archive), but this is insufficient in the case where relative paths are used, because depending on the command line object file / library order, it might find the wrong PCH object first resulting in a signature mismatch. The fix here is to simply check whether the absolute path of the PCH object (which is stored in the input obj file for the file that references the PCH) *ends with* the full relative path of whatever is specified on the command line (or is in the archive). Differential Revision: https://reviews.llvm.org/D66431 llvm-svn: 374442
* [lit] Add comment explaining the LIT_OPTS env var overrides command line optionsJulian Lettner2019-10-101-2/+4
| | | | | | | Normally, command line options override environment variables. Add comment to state that we are doing the reverse on purpose. llvm-svn: 374441
* ADT: Save a word in every StringSet entryJordan Rose2019-10-105-20/+43
| | | | | | | | | | | | | | | Add a specialization to StringMap (actually StringMapEntry) for a value type of NoneType (the type of llvm::None), and use it for StringSet. This'll save us a word from every entry in a StringSet, used for alignment with the size_t that stores the string length. I could have gone all the way to some kind of empty base class optimization, but that seemed like overkill. Someone can consider adding that in the future, though. https://reviews.llvm.org/D68586 llvm-svn: 374440
* [ScanDeps] clang-format, 80 cols.Michael J. Spencer2019-10-101-4/+7
| | | | llvm-svn: 374439
* [OPENMP]Update doc for supported constructs, NFC.Alexey Bataev2019-10-101-1/+1
| | | | llvm-svn: 374438
* [OPENMP50]Support for 'master taskloop' directive.Alexey Bataev2019-10-1043-11/+5730
| | | | | | Added full support for master taskloop directive. llvm-svn: 374437
* [x86] reduce duplicate test assertions; NFCSanjay Patel2019-10-101-190/+89
| | | | llvm-svn: 374436
* [test] Add timeout to API tests.Jonas Devlieghere2019-10-102-2/+9
| | | | | | | | Before the reorganiziation, the API tests were inheriting the timeout from the top-level lit file. Now that this is no longer the case, the lldb-api test suite needs to set its own timeout. llvm-svn: 374435
* [test] Cleanup top-level lit.cfg.pyJonas Devlieghere2019-10-101-28/+2
| | | | llvm-svn: 374434
* [lit] Bring back `--threads` option aliasJulian Lettner2019-10-102-2/+2
| | | | | | | | Bring back `--threads` option which was lost in the move of the command line argument parsing code to cl_arguments.py. Update docs since `--workers` is preferred. llvm-svn: 374432
* [X86] Use packusdw+vpmovuswb to implement v16i32->V16i8 that clamps signed ↵Craig Topper2019-10-102-6/+19
| | | | | | | | | | inputs to be between 0 and 255 when zmm registers are disabled on SKX. If we've disable zmm registers, the v16i32 will need to be split. This split will propagate through min/max the truncate. This creates two sequences that need to be concatenated back to v16i8. We can instead use packusdw to do part of the clamping, truncating, and concatenating all at once. Then we can use a vpmovuswb to finish off the clamp. Differential Revision: https://reviews.llvm.org/D68763 llvm-svn: 374431
OpenPOWER on IntegriCloud