summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [dotest] Remove --event-add-entriesJonas Devlieghere2019-08-282-25/+0
| | | | | | | | This argument was used by dosep.py to pass information around from the workers. With dosep.py gone, I'm fairly sure we don't need this any longer. llvm-svn: 370266
* Fix for "DICompileUnit not listed in llvm.dbg.cu" verification error after ...Artur Pilipenko2019-08-283-2/+85
| | | | | | | | | | | | | | | | | | | ...cloning a function from a different module Currently when a function with debug info is cloned from a different module, the cloned function may have hanging DICompileUnits, so that the module with the cloned function fails debug info verification. The proposed fix inserts all DICompileUnits reachable from the cloned function to "llvm.dbg.cu" metadata operands of the cloned function module. Reviewed By: aprantl, efriedma Differential Revision: https://reviews.llvm.org/D66510 Patch by Oleg Pliss (Oleg.Pliss@azul.com) llvm-svn: 370265
* [dotest] Remove --rerun-max-file-thresholdJonas Devlieghere2019-08-283-11/+0
| | | | | | This variable corresponding to this argument is set but never read. llvm-svn: 370264
* [analyzer] Fix more analyzer warnings on analyzer and libAnalysis.Artem Dergachev2019-08-284-18/+14
| | | | llvm-svn: 370263
* Revert "[clangd] Migrate last tweak tests to TweakTesting.h and remove old ↵Sam McCall2019-08-281-31/+130
| | | | | | | | | helpers. NFC" This reverts commit 8f85685b5cf57eddea11fa444503ade220c724e4, which breaks on old gcc that have the macro + raw strings bug. llvm-svn: 370262
* Fix always_inline 'target' compatibility check code for LambdasErich Keane2019-08-282-2/+46
| | | | | | | | | The previous version of this used CurFuncDecl in CodeGenFunction, however this doesn't include lambdas. However, CurCodeDecl DOES. Switch the check to use CurCodeDecl so that the actual function being emitted gets checked, preventing an error in ISEL. llvm-svn: 370261
* [llvm-readobj][XCOFF][NFC] Add return statement to avoid ↵Jason Liu2019-08-281-0/+1
| | | | | | | | -Wimplicit-fallthrough warning This is to fix the commit in r370097. llvm-svn: 370260
* [dotest] Centralize and simplify session dir logic (NFC)Jonas Devlieghere2019-08-281-24/+11
| | | | | | | | I was looking at the session directory logic for unrelated reasons and noticed that the logic spread out across dotest. This simplifies things a bit by moving the logic together. llvm-svn: 370259
* [ASan] Make insertion of version mismatch guard configurableJulian Lettner2019-08-282-1/+19
| | | | | | | | | | | | | | | | | | | By default ASan calls a versioned function `__asan_version_mismatch_check_vXXX` from the ASan module constructor to check that the compiler ABI version and runtime ABI version are compatible. This ensures that we get a predictable linker error instead of hard-to-debug runtime errors. Sometimes, however, we want to skip this safety guard. This new command line option allows us to do just that. rdar://47891956 Reviewed By: kubamracek Differential Revision: https://reviews.llvm.org/D66826 llvm-svn: 370258
* Ignore object files that lack coverage information.James Y Knight2019-08-289-2/+40
| | | | | | | | | | Before this change, if multiple binary files were presented, all of them must have been instrumented or the load would fail with coverage_map_error::no_data_found. Patch by Dean Sturtevant. Differential Revision: https://reviews.llvm.org/D66763 llvm-svn: 370257
* Use the handle --check-prefixes mechanism to de-verbosify a couple atomics ↵Philip Reames2019-08-282-530/+244
| | | | | | tests [NFC] llvm-svn: 370256
* [Core] Use GetAPInt instead of constructing APInts in placeAlex Langford2019-08-281-9/+14
| | | | | | | GetAPInt should be able to handle all cases. I have plans to generalize the float dumping logic and this makes it easier to do later. llvm-svn: 370255
* [GlobalISel] Import patterns containing SUBREG_TO_REGJessica Paquette2019-08-2815-153/+258
| | | | | | | | | | | | | | | | | | | | | | | Reuse the logic for INSERT_SUBREG to also import SUBREG_TO_REG patterns. - Split `inferSuperRegisterClass` into two functions, one which tries to use an existing TreePatternNode (`inferSuperRegisterClassForNode`), and one that doesn't. SUBREG_TO_REG doesn't have a node to leverage, which is the cause for the split. - Rename GlobalISelEmitterInsertSubreg.td to GlobalISelEmitterSubreg.td and update it. - Update impacted tests in the AArch64 and X86 backends. This is kind of a hit/miss for code size improvements/regressions. E.g. in add-ext.ll, we now get some identity copies. This isn't really anything the importer can handle, since it's caused by a later pass introducing the copy for the sake of correctness. Differential Revision: https://reviews.llvm.org/D66769 llvm-svn: 370254
* gn build: Merge r370249Nico Weber2019-08-281-0/+1
| | | | llvm-svn: 370251
* [AMDGPU] Fix bug when calculating user_spgr_count for Code Object V3 assemblerScott Linder2019-08-282-8/+42
| | | | | | | | Stop counting explicitly disabled user_spgr's in the user_sgpr_count field of the kernel descriptor. Differential Revision: https://reviews.llvm.org/D66900 llvm-svn: 370250
* [Clangd] Initial version of ExtractFunctionShaurya Gupta2019-08-283-0/+712
| | | | | | | | | | | | | | | | | | | Summary: - Only works for extraction from free functions - Basic analysis of the code being extracted. - Extract to void function - Bail out if extracting a return, continue or break. - Doesn't hoist decls yet Reviewers: kadircet, sammccall Subscribers: mgorny, ilya-biryukov, MaskRay, jkorous, arphaman, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D65526 llvm-svn: 370249
* [InstCombine] clean up wrap propagation for reassociated ops; NFCISanjay Patel2019-08-281-11/+15
| | | | | | | | | | Always true/false checks were flagged by static analysis; https://bugs.llvm.org/show_bug.cgi?id=43143 I have not confirmed the logic difference in propagating nsw vs. nuw, but presumably we would have noticed a bug by now if that was wrong. llvm-svn: 370248
* [CFG] Make representation of destructor calls more accurate.Artem Dergachev2019-08-289-90/+423
| | | | | | | | | | | | | | | | | Respect C++17 copy elision; previously it would generate destructor calls for elided temporaries, including in initialization and return statements. Don't generate duplicate destructor calls for statement expressions. Fix destructors in initialization lists and comma operators. Improve printing of implicit destructors. Patch by Nicholas Allegra! Differential Revision: https://reviews.llvm.org/D66404 llvm-svn: 370247
* [analyzer] Fix analyzer warnings on analyzer.Artem Dergachev2019-08-2821-65/+134
| | | | | | | | | Write tests for the actual crash that was found. Write comments and refactor code around 17 style bugs and suppress 3 false positives. Differential Revision: https://reviews.llvm.org/D66847 llvm-svn: 370246
* [analyzer] pr43036: Fix support for operator 'sizeof...'.Artem Dergachev2019-08-282-0/+16
| | | | | | | | | It was known to be a compile-time constant so it wasn't evaluated during symbolic execution, but it wasn't evaluated as a compile-time constant either. Differential Revision: https://reviews.llvm.org/D66565 llvm-svn: 370245
* [analyzer] Trust global initializers when analyzing main().Artem Dergachev2019-08-283-16/+112
| | | | | | | | | | | | | | | | | If the global variable has an initializer, we'll ignore it because we're usually not analyzing the program from the beginning, which means that the global variable may have changed before we start our analysis. However when we're analyzing main() as the top-level function, we can rely on global initializers to still be valid. At least in C; in C++ we have global constructors that can still break this logic. This patch allows the Static Analyzer to load constant initializers from global variables if the top-level function of the current analysis is main(). Differential Revision: https://reviews.llvm.org/D65361 llvm-svn: 370244
* Further relax checks in asan-symbolize-bad-path.cppAlexander Richardson2019-08-281-2/+2
| | | | | | | | | | It turns out that the DarwinSymbolizer does not print the "in" part for invalid files but instead prints #0 0xabcdabcd (.../asan-symbolize-bad-path.cpp.tmp/bad/path:i386+0x1234) This tests is only checking that asan_symbolize.py doesn't hang or crash, so further relax the checks to ensure that the test passes on macOS. llvm-svn: 370243
* [libc++] Fix visibility of __vector_base_common on GCCLouis Dionne2019-08-281-1/+1
| | | | | | | | | | | Since we build the library with -fvisibility=hidden, the shared object wouldn't contain __vector_base_common<true>::__throw_length_error() and __vector_base_common<true>::__throw_out_of_range(), leading to link errors. This only happened on GCC for some reason. https://llvm.org/PR43140 llvm-svn: 370240
* [test] Temporarily disable two tests on WindowsJonas Devlieghere2019-08-282-0/+2
| | | | | | | | | | Disable the two failing tests until Raphael has a chance to investigate: Failing Tests (2): lldb-Suite :: functionalities/completion/TestCompletion.py lldb-Suite :: functionalities/target_command/TestTargetCommand.py llvm-svn: 370237
* [ValueMapper] NFC: Remove dead code to pause metadata mappingPirama Arumuga Nainar2019-08-282-22/+0
| | | | | | | | | | | | | | | | Summary: This functionality was added when Mapper::mapMetadata was recursive. It is no longer needed after r265456, which switched it to be iterative. Reviewers: dexonsmith, srhines Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D66860 llvm-svn: 370236
* [dotest] Remove outdates TODOJonas Devlieghere2019-08-281-1/+0
| | | | | | The referenced function `find_test_files_in_dir_tree` no longer exists. llvm-svn: 370235
* [dotest] Don't try to guess the lldb binary & python dir.Jonas Devlieghere2019-08-281-94/+17
| | | | | | | | | | Now that all supported build systems create a valid dotest.py invocation, we no longer need to guess the location of the lldb binary and Python directory. Differential revision: https://reviews.llvm.org/D66896 llvm-svn: 370234
* [X86][ReleaseNotes] Add a note about the switch to widening legalization for ↵Craig Topper2019-08-281-0/+5
| | | | | | narrow vectors. llvm-svn: 370233
* [dotest] Don't try to guess the llvm binary dir.Jonas Devlieghere2019-08-281-35/+0
| | | | | | | | | | | | | | | Now that all supported build systems create a valid dotest.py invocation, we no longer need to guess the directory where any of the llvm tools live. Additionally, the current logic is incomplete: it doesn't try to find any other tools than FileCheck, such as dsymutil for example. If no FileCheck is provided, we should print a warning and skip the tests that need it, but that's not part of this patch. Differential revision: https://reviews.llvm.org/D66893 llvm-svn: 370232
* [dotest] Don't spend time replacing spaces in print output.Jonas Devlieghere2019-08-281-8/+0
| | | | | | | Replacing all spaces with dashes seems like a lot of needless work for a string that's just printed. llvm-svn: 370231
* [Attributor] Regularly clear dependences to remove spurious onesJohannes Doerfert2019-08-285-8/+47
| | | | | | | | | | | | | | | | As dependences between abstract attributes can become stale, e.g., if one was sufficient to imply another one at some point but it has since been wakened to the point it is not usable for the formerly implied one. To weed out spurious dependences, and thereby eliminate unneeded updates, we introduce an option to determine how often the dependence cache is cleared and recomputed during the fixpoint iteration. Note that the initial value was determined such that we see a positive result on our tests. Differential Revision: https://reviews.llvm.org/D63315 llvm-svn: 370230
* [clangd] Migrate last tweak tests to TweakTesting.h and remove old helpers. NFCSam McCall2019-08-281-129/+30
| | | | llvm-svn: 370229
* [FPEnv] Add fptosi and fptoui constrained intrinsics.Kevin P. Neal2019-08-2822-17/+1223
| | | | | | | | | | | | | | | | | This implements constrained floating point intrinsics for FP to signed and unsigned integers. Quoting from D32319: The purpose of the constrained intrinsics is to force the optimizer to respect the restrictions that will be necessary to support things like the STDC FENV_ACCESS ON pragma without interfering with optimizations when these restrictions are not needed. Reviewed by: Andrew Kaylor, Craig Topper, Hal Finkel, Cameron McInally, Roman Lebedev, Kit Barton Approved by: Craig Topper Differential Revision: http://reviews.llvm.org/D63782 llvm-svn: 370228
* [TestCppOperators] Enable TestCppOperators on Windows.Jonas Devlieghere2019-08-281-2/+1
| | | | | | | | | This test is passing on the Windows bot: Unexpected Passing Tests (1): lldb-Suite :: lang/cpp/operators/TestCppOperators.py llvm-svn: 370227
* [dotest] Remove -q (quiet) flag.Jonas Devlieghere2019-08-287-53/+31
| | | | | | | | | | | | | | This patch removes the -q (quiet) flag and changing the default behavior. Currently the flag serves two purposes that are somewhat contradictory, as illustrated by the difference between the argument name (quiet) and the configuration flag (parsable). On the one hand it reduces output, but on the other hand it prints more output, like the result of individual tests. My proposal is to guard the extra output behind the verbose flag and always print the individual test results. Differential revision: https://reviews.llvm.org/D66837 llvm-svn: 370226
* [AArch64][GlobalISel] Fall back when translating musttail callsJessica Paquette2019-08-284-0/+18
| | | | | | | | | | These are currently translated as normal functions calls in AArch64. Until we have proper tail call lowering, we shouldn't translate these. Differential Revision: https://reviews.llvm.org/D66842 llvm-svn: 370225
* Reduce scope of variable only used in a local pattern match. NFCI.Simon Pilgrim2019-08-281-1/+1
| | | | llvm-svn: 370224
* [NFC] Added more tests for D66651David Bolvansky2019-08-281-0/+18
| | | | llvm-svn: 370222
* [InstCombine] Disable recursion in foldGEPICmp for vector pointer GEPsCraig Topper2019-08-282-2/+16
| | | | | | | Due to missing vector support in this function, recursion can generate worse code in some cases. llvm-svn: 370221
* Fix uninitialized variable warning in cppcheck. NFCI.Simon Pilgrim2019-08-281-1/+1
| | | | | | InstCombiner::MaxArraySizeForCombine is set outside the constructor so we need to ensure it has a default initialization value. llvm-svn: 370220
* Try fixing CRLF issues in Git with [clang-scan-deps] Minimizer: Correctly ↵Alexandre Ganea2019-08-282-3/+16
| | | | | | | | handle multi-line content with CR+LF line endings Differential Revision: https://reviews.llvm.org/D66556 llvm-svn: 370219
* [clangd][vscode] Don't leak the resourcesHaojian Wu2019-08-281-2/+5
| | | | | | | | | | | | | | Summary: We miss a few places where we need to add them to the subscriptions. Reviewers: jvikstrom Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, kadircet, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D66881 llvm-svn: 370218
* [NFC] Added a comment to avoid possible confusionDavid Bolvansky2019-08-281-0/+2
| | | | llvm-svn: 370217
* Use target_impl functions to replace more inline asmJon Chesterfield2019-08-285-39/+38
| | | | | | | | | | | | | | | | | Summary: Use target_impl functions to replace more inline asm Follow on from D65836. Removes remaining asm shuffles and lanemask accessors Also changes the types of target_impl bitwise functions to unsigned. Reviewers: jdoerfert, ABataev, grokos, Hahnfeld, gregrodgers, ronlieb, hfinkel Subscribers: openmp-commits Tags: #openmp Differential Revision: https://reviews.llvm.org/D66809 llvm-svn: 370216
* [AMDGPU] Adjust number of SGPRs available in Calling ConventionRyan Taylor2019-08-285-297/+245
| | | | | | | | | This reduces the number of SGPRs due to some concerns about running out of SGPRs if you make all the SGPRs that aren't reserved available for the calling convention. Change-Id: Idb4ca4dc72f5b6808cb524ff7270915a8de5b4c1 llvm-svn: 370215
* [OPENMP][Analysis] Add analysis of the map clauses.Alexey Bataev2019-08-2814-50/+147
| | | | | | | | | | | | | | | | Summary: Added basic analysis of map clauses. Only map clauses with to and tofrom map type must be analyzed since all other map types (alloc, delete, etc.) do not require to use the value of the initial variable, instead they create the new copy of the variable. Reviewers: NoQ Subscribers: guansong, cfe-commits, kkwli0, caomhin Tags: #clang Differential Revision: https://reviews.llvm.org/D66668 llvm-svn: 370214
* Remove duplicate 'BitWidth' variable. NFCI.Simon Pilgrim2019-08-281-1/+0
| | | | llvm-svn: 370212
* lld: Make a test not fail if "repro" is part of the build directory nameNico Weber2019-08-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | r268231 made it so that the name of the --reproduce archive is no longer listed in the response file. Previously, with "--reproduce repro.tar" the response file would contain repro/home/.../llvm-build-dir/.../foo.o but after that change it contained home/.../llvm-build-dir/.../foo.o instead. The test added for this in r268231 checked that the response file doesn't contain the string "repro", but if the build dir is named e.g. "llvm-build-repro" then the test fails because of that. Change the assert to check that "repro" doesn't exist at the beginning of the line instead. I verified that the test still fails with r268231 reverted. The test technically still fails if someone builds llvm in a directory '/repro' below the root directory. Don't do that :) llvm-svn: 370211
* [libomptarget] Refactor syncthreads macro to inline functionJon Chesterfield2019-08-285-19/+16
| | | | | | | | | | | | | | | | | | Summary: [libomptarget] Refactor syncthreads macro to inline function See also abandoned D66846, split into this diff and others. Rev 2 of D66855 Reviewers: jdoerfert, ABataev, grokos, ronlieb, gregrodgers Subscribers: openmp-commits Tags: #openmp Differential Revision: https://reviews.llvm.org/D66861 llvm-svn: 370210
* [XRay] Fixing one test case for FreeBSDDavid Carlier2019-08-281-0/+10
| | | | | | | | | | Reviewers: dberris Reviewed By: dberris Differential Revision: https://reviews.llvm.org/D66867 llvm-svn: 370209
OpenPOWER on IntegriCloud