summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [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
* [Docs] Update testing documentatonJonas Devlieghere2019-10-101-42/+66
| | | | | | Update the test documentation after the directory reorganization. llvm-svn: 374430
* Revert r374388: "[lit] Make internal diff work in pipelines"Joel E. Denny2019-10-105-276/+241
| | | | | | This breaks a Windows bot. llvm-svn: 374429
* [PowerPC][docs] Update IBM official docs in Compiler Writers Info pageJinsong Ji2019-10-101-5/+14
| | | | | | | | | | | | | | | | | | | | | | | Summary: Just realized that most of the links in this page are deprecated. So update some important reference here: * adding PowerISA 3.0B/2.7B * adding P8/P9 User Manual * ELFv2 ABI and errata Move deprecated ones into "Other documents..". Reviewers: #powerpc, hfinkel, nemanjai Reviewed By: hfinkel Subscribers: shchenz, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D68817 llvm-svn: 374428
* Revert r374389: "[lit] Clean up internal diff's encoding handling"Joel E. Denny2019-10-107-86/+33
| | | | | | This breaks a Windows bot. llvm-svn: 374427
* Revert r374390: "[lit] Extend internal diff to support `-` argument"Joel E. Denny2019-10-107-146/+5
| | | | | | This breaks a Windows bot. llvm-svn: 374426
* Revert r374392: "[lit] Extend internal diff to support -U"Joel E. Denny2019-10-104-136/+6
| | | | | | This breaks a Windows bot. llvm-svn: 374425
* update TestRunCommandInterpreterAPI to use SBFileLawrence D'Anna2019-10-101-4/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: If you look at what this test is doing, it's actually quite mysterious why it works at all. It sets the input file inside a "with open". As soon as the with block ends, that file will be closed. And yet somehow LLDB reads commands from it anyway. What's actually happening is that the file descriptor gets dup'd when something inside LLDB calls File::GetStream(). I think it's fair to say that what this test is doing is illegal and it has no right to expect it to work. This patch updates the test with two cases. One uses the SBFile api, and actually transfers ownership of the original file descriptor to the debugger. The other just uses the old FILE* API, but in a sane way. I also set NO_DEBUG_INFO_TESTCASE, because this test doesn't use any debug info and doesn't need to run three times. Reviewers: JDevlieghere, jasonmolenda, labath Reviewed By: labath Subscribers: aprantl, lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D68738 llvm-svn: 374424
* update SBDebugger::SetInputFile() etc to work on native FilesLawrence D'Anna2019-10-104-6/+48
| | | | | | | | | | | | | | | | | | | Summary: This patch adds FileSP versions of SetInputFile(), SetOutputFile, and SetErrorFile(). SWIG will convert native python file objects into FileSP. Reviewers: JDevlieghere, jasonmolenda, labath Reviewed By: labath Subscribers: clayborg, lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D68734 llvm-svn: 374422
* win: Move Parallel.h off concrt to cross-platform codeNico Weber2019-10-102-57/+1
| | | | | | | | | | | | | | | | | | | | | r179397 added Parallel.h and implemented it terms of concrt in 2013. In 2015, a cross-platform implementation of the functions has appeared and is in use everywhere but on Windows (r232419). r246219 hints that <thread> had issues in MSVC2013, but r296906 suggests they've been fixed now that we require 2015+. So remove the concrt code. It's less code, and it sounds like concrt has conceptual and performance issues, see PR41198. I built blink_core.dll in a debug component build with full symbols and in a release component build without any symbols. I couldn't measure a performance difference for linking blink_core.dll before and after this patch. Differential Revision: https://reviews.llvm.org/D68820 llvm-svn: 374421
* [NFC][PowerPC]Clean up PPCAsmPrinter for TOC related pseudo opcodeXiangling Liao2019-10-101-93/+70
| | | | | | | | | Add a helper function getMCSymbolForTOCPseudoMO to clean up PPCAsmPrinter a little bit. Differential Revision: https://reviews.llvm.org/D68721 llvm-svn: 374420
* [ARM] Fix arm_neon.h with -flax-vector-conversions=none, part 2.Eli Friedman2019-10-105-82/+86
| | | | | | | | | | | | | | | | | | | | | Just running -fsyntax-only over arm_neon.h doesn't cover some intrinsics which are defined using macros. Add more test coverage for that. arm-neon-header.c wasn't checking the full set of available NEON target features; change the target architecture of the test to account for that. Fix the generator for arm_neon.h to generate casts in more cases where they are necessary. Fix VFMLAL_LOW etc. to express their signatures differently, so the builtins have the expected type. Maybe the TableGen backend should detect intrinsics that are defined the wrong way, and produce an error. The rules here are sort of strange. Differential Revision: https://reviews.llvm.org/D68743 llvm-svn: 374419
* Fix one more clang test which didn't have \5C in itReid Kleckner2019-10-101-1/+1
| | | | llvm-svn: 374418
* TestFileHandle.py: fix for Python 3.6Lawrence D'Anna2019-10-101-2/+2
| | | | | | | | | | | | | | | | | | | Summary: Python 3.6 stringifies exceptions as `ExceptionClass("foo",)` instead of `ExceptionClass("foo")`. This patch makes the test assertions a little more flexible so the test passes anyway. Reviewers: JDevlieghere, jasonmolenda, labath Reviewed By: labath Subscribers: lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D68745 llvm-svn: 374417
* Update clang tests for new LLVM IR backslash printing in r374415Reid Kleckner2019-10-105-10/+10
| | | | llvm-svn: 374416
* Print quoted backslashes in LLVM IR as \\ instead of \5CReid Kleckner2019-10-106-9/+10
| | | | | | | | | This improves readability of Windows path string literals in LLVM IR. The LLVM assembler has supported \\ in IR strings for a long time, but the lexer doesn't tolerate escaped quotes, so they have to be printed as \22 for now. llvm-svn: 374415
* Remove merge marker :-)Adrian Prantl2019-10-101-4/+0
| | | | llvm-svn: 374414
* Fix Windows build after r374381Nico Weber2019-10-102-7/+2
| | | | llvm-svn: 374413
* Die, TABS, die, die, die, die...Jim Ingham2019-10-101-3/+7
| | | | | | Not sure how tabs got into this file, but they don't belong there. llvm-svn: 374412
* Remove strings.h include to fix GSYM Windows buildReid Kleckner2019-10-101-1/+0
| | | | | | Fifth time's the charm. llvm-svn: 374411
* Unbreak buildbots.Greg Clayton2019-10-101-1/+0
| | | | llvm-svn: 374410
* Fix buildbots by using memset instead of bzero.Greg Clayton2019-10-101-1/+1
| | | | llvm-svn: 374409
* [libc++][test] Change IsSmallObject's calculation for std::any's small ↵Casey Carter2019-10-101-1/+1
| | | | | | | | | | object buffer `sizeof(std::any) - sizeof(void*)` is correct for both libc++ and the MSVC standard library. Differential Revision: https://reviews.llvm.org/D68756 llvm-svn: 374407
* Fix build by adding the missing dependency.Michael Liao2019-10-101-1/+1
| | | | llvm-svn: 374406
* [lit] Leverage argparse features to remove some codeJulian Lettner2019-10-103-34/+28
| | | | | | | | Reviewed By: rnk, serge-sans-paille Differential Revision: https://reviews.llvm.org/D68589 llvm-svn: 374405
* Fix test to avoid check-not matching the temp file absolute pathReid Kleckner2019-10-101-0/+3
| | | | | | Fix for PR43636 llvm-svn: 374404
* Re-land "Use -fdebug-compilation-dir to form absolute paths in coverage ↵Reid Kleckner2019-10-103-9/+40
| | | | | | | | | | | | mappings" This reverts r374324 (git commit 62808631acceaa8b78f8ab9b407eb6b943ff5f77) I changed the test to not rely on finding the sequence "clang, test, CoverageMapping" in the CWD used to run the test. Instead it makes its own internal directory hierarchy of foo/bar/baz and looks for that. llvm-svn: 374403
OpenPOWER on IntegriCloud