summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [CodeGen] Use "DL.getPointerSizeInBits" instead of "8 * DL.getPointerSize". NFCBjorn Pettersson2019-05-091-1/+1
| | | | llvm-svn: 360315
* [NFC] Fix typo.Clement Courbet2019-05-091-1/+1
| | | | llvm-svn: 360314
* [NewPM] Setup Passes for KASan and KMSanPetr Hosek2019-05-092-9/+24
| | | | | | | | | | While ASan and MSan passes were already ported to new PM, the kernel variants weren't setup in the pipeline which makes the KASan and KMSan tests in Clang fail. Differential Revision: https://reviews.llvm.org/D61664 llvm-svn: 360313
* Fix up lldb after clang r360311.Richard Smith2019-05-091-2/+6
| | | | | | | | Patch by Tyker! Differential Revision: https://reviews.llvm.org/D60934 llvm-svn: 360312
* [c++20] Add support for explicit(bool), as described in P0892R2.Richard Smith2019-05-0945-361/+1653
| | | | | | | | Patch by Tyker! Differential Revision: https://reviews.llvm.org/D60934 llvm-svn: 360311
* [cxx_status] Mark support for std::is_constant_evaluated as done.Richard Smith2019-05-091-1/+1
| | | | | | Eric implemented this in r359067. llvm-svn: 360310
* [cxx_dr_status] Update links to use wg21.link, and list "extension"Richard Smith2019-05-092-2414/+2418
| | | | | | issues as "extension" rather than "not resolved". llvm-svn: 360309
* [c++20] Implement P0846R0: allow (ADL-only) calls to template-ids whoseRichard Smith2019-05-0952-267/+791
| | | | | | | | | | | | | | | | | | | | | | | | | template name is not visible to unqualified lookup. In order to support this without a severe degradation in our ability to diagnose typos in template names, this change significantly restructures the way we handle template-id-shaped syntax for which lookup of the template name finds nothing. Instead of eagerly diagnosing an undeclared template name, we now form a placeholder template-name representing a name that is known to not find any templates. When the parser sees such a name, it attempts to disambiguate whether we have a less-than comparison or a template-id. Any diagnostics or typo-correction for the name are delayed until its point of use. The upshot should be a small improvement of our diagostic quality overall: we now take more syntactic context into account when trying to resolve an undeclared identifier on the left hand side of a '<'. In fact, this works well enough that the backwards-compatible portion (for an undeclared identifier rather than a lookup that finds functions but no function templates) is enabled in all language modes. llvm-svn: 360308
* lit config: disable LSan for Apple clang compiler in addition to Apple LLVMAlex Lorenz2019-05-091-2/+2
| | | | | | Apple clang is the canonical way to refer to the compiler shipped with Xcode. llvm-svn: 360307
* force the bots to cycleEric Fiselier2019-05-091-1/+0
| | | | llvm-svn: 360306
* [ELF] Initialize Target before it may be dereferenced by findAux when ↵Fangrui Song2019-05-092-5/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | reporting "duplicate symbol" error for (InputFile *F : Files) Symtab->addFile<ELFT>(F); // if there is a duplicate symbol error ... Target = getTarget(); When parsing .debug_info in the object file (for better diagnostics), DWARF.cpp findAux may dereference the null pointer Target auto *DR = dyn_cast<Defined>(&File->getRelocTargetSym(Rel)); if (!DR) { // Broken debug info may point to a non-defined symbol, // some asan object files may also contain R_X86_64_NONE RelType Type = Rel.getType(Config->IsMips64EL); if (Type != Target->NoneRel) /// Target is null Move the assignment of Target to an earlier place to fix this. Reviewed By: ruiu Differential Revision: https://reviews.llvm.org/D61712 llvm-svn: 360305
* Fix the output file dependency for Options.inc.Jim Ingham2019-05-091-1/+1
| | | | | | | | The script phase to do Options.td -> Options.inc was wrong (missing the "include" directory) so the rule didn't get run when Options.td changed. llvm-svn: 360304
* [SelectionDAG] Expand ADD/SUBCARRYLeonard Chan2019-05-092-0/+86
| | | | | | | | This patch allows for expansion of ADDCARRY and SUBCARRY when the target does not support it. Differential Revision: https://reviews.llvm.org/D61411 llvm-svn: 360303
* When typo-correcting a function name, consider correcting to a type nameRichard Smith2019-05-095-13/+29
| | | | | | for a function-style cast. llvm-svn: 360302
* Temporarily Revert "[DebugInfo] Terminate more location-list ranges at the ↵Eric Christopher2019-05-086-464/+35
| | | | | | | | | | end of blocks" as it was causing significant compile time regressions. This reverts commit r359426 while we come up with testcases and additional ideas. llvm-svn: 360301
* [AMDGPU] gfx1010 tests. NFC.Stanislav Mekhanoshin2019-05-087-33/+157
| | | | | | Added tests which now pass after code commits. llvm-svn: 360300
* [OpenMP] Workaround gfortran bugzilla build bug 41755Jonathan Peyton2019-05-082-2/+8
| | | | | | | | | | | | | | | | | | | | This patch provides workaround to allow gfortran to compile the OpenMP Fortran modules. From the gfortran manual: https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gfortran/BOZ-literal-constants.html "Note that initializing an INTEGER variable with a statement such as DATA i/Z'FFFFFFFF'/ will give an integer overflow error rather than the desired result of -1 when i is a 32-bit integer on a system that supports 64-bit integers. The -fno-range-check option can be used as a workaround for legacy code that initializes integers in this manner." Bug filed: https://bugs.llvm.org/show_bug.cgi?id=41755 Differential Revision: https://reviews.llvm.org/D61603 llvm-svn: 360299
* [Reproducers] Fix reproducer unittestJonas Devlieghere2019-05-081-1/+3
| | | | | | | | | | | | | | | I think the recent change to flush the SB API recording uncovered a real issue on the Windows bot. Although I couldn't make much sense of the error message "unknown file: error: SEH exception with code 0x3221225477 thrown in the test body.", it prompted me to look at the test. In the unit test we were recording during replay, which is obviously not correct. I think we didn't see this issue before because we flushed once after the recording was done. This patch unsets the recording logic during the replay part of the test. Hopefully this fixed the Windows bot. llvm-svn: 360298
* Try to restore some clang test headers lost in r360291Reid Kleckner2019-05-0810-0/+63
| | | | | | I'm not sure why 'git llvm revert' removed them. llvm-svn: 360297
* [SelectionDAG] fold 'fneg undef' to undefSanjay Patel2019-05-082-80/+30
| | | | | | | | | | | | | | | | | This is extracted from the original draft of D61419 with some additional tests. We don't currently get this in IR (it's conservatively turned into a NaN), but presumably that'll get updated as we add real IR support for 'fneg' rather than 'fsub -0.0, x'. The x86-32 run shows the following, and I haven't looked further to see why, but that seems to be independent: Legalizing: t1: f32 = undef Trying to expand node Creating fp constant: t4: f32 = ConstantFP<0.000000e+00> Differential Revision: https://reviews.llvm.org/D61516 llvm-svn: 360296
* [lld-link] initialize targets and asmparsers before invoking libBob Haarman2019-05-082-7/+28
| | | | | | | | | | | | | | | | | | | | | | | | Summary: When using lld-link to build static libraries containing object files with module assembly, the program would crash with "Assertion `T && T->hasMCAsmParser()' failed". This change causes the code in lld-link that initialized Targets, TargetInfos, and AsmParsers (which already existed) to be run before entering the lib building path (which needs it). This avoids the error (and is what llvm-lib and llvm-ar do, too). Fixes PR41803. Reviewers: ruiu, rnk, hans Reviewed By: ruiu Subscribers: llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D61699 llvm-svn: 360295
* AMDGPU: Mark scheduler classes as finalMatt Arsenault2019-05-081-2/+2
| | | | llvm-svn: 360294
* AMDGPU: Select VOP3 form of addMatt Arsenault2019-05-089-71/+204
| | | | | | | | | | | | | | | | | | | | | | | | The VOP3 form should always be the preferred selection, to be shrunk later. This should only be an optimization issue, but this partially works around a problem from clobbering VCC when SIFixSGPRCopies rewrites an SCC defining operation directly to VCC. 3 of the testcases are regressions from failing to fold the immediate in cases it should. These can be avoided by improving the VCC liveness handling in SIFoldOperands. Simply increasing the threshold to computeRegisterLiveness works, although this is common enough that VCC liveness should probably be tracked throughout the pass. The hack of leaving behind an implicit_def instruction to avoid breaking iterator wastes instruction count, which inhibits finding the VCC def in long chains of adds. Doing this however exposes different, worse looking regressions from poor scheduling behavior. This could probably be avoided around by forcing the shrink of the addc here, but the scheduler should probably be fixed. The r600 add test needs to be split out because it asserts on the arguments in the new test during the calling convention lowering. llvm-svn: 360293
* Fix bug in ArchSpec::MergeFromGreg Clayton2019-05-082-1/+27
| | | | | | | | | | Previous ArchSpec tests didn't catch this bug since we never tested just the OS being out of date. Fixed the bug and covered this with a test that would catch this. This was found when trying to load a core file where the core file was an ELF file with just the e_machine for architeture and where the ELF header had no OS set in the OSABI field of the e_ident. It wasn't merging the architecture with the target architecture correctly. Differential Revision: https://reviews.llvm.org/D61659 llvm-svn: 360292
* Revert Include corecrt.h in stddef.h and vcruntime.h in stdarg.h to improve ↵Reid Kleckner2019-05-0817-90/+2
| | | | | | | | | | | | MS compatibility. This reverts r360271 (git commit a0933bd8ec1515167ea653f7ee788b8bbde27d51) There are concerns on the review that this breaks EFI builds and that the transitive includes (sal.h) are actually heavy enough that we might care. llvm-svn: 360291
* [scudo][standalone] Introduce the chunk headerKostya Kortchinsky2019-05-086-3/+249
| | | | | | | | | | | | | | | | | | | | | | Summary: ... and its related functions. The structure and its functionalities are identical to existing ones. The header stores information on a `scudo::Chunk` to be able to detect inconsitencies or potential corruption attempts. It is checksummed for that purpose. Reviewers: morehouse, eugenis, vitalybuka, hctim Reviewed By: vitalybuka Subscribers: mgorny, delcypher, jfb, #sanitizers, llvm-commits Tags: #llvm, #sanitizers Differential Revision: https://reviews.llvm.org/D61654 llvm-svn: 360290
* [FileCheck, NFC] Split defines.txt in twoThomas Preud'homme2019-05-083-48/+78
| | | | | | | | | | | | | | | | | Summary: Split defines.txt into diagnostics test and functionality test. Also add comments, remove the semicolon prefix and group RUN lines with their CHECK directives. Reviewers: jhenderson, probinson, arichardson Subscribers: llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D61679 llvm-svn: 360289
* [FileCheck] Fix code style of method commentsThomas Preud'homme2019-05-082-81/+78
| | | | | | | | | | | | | | | | | | | | | Summary: Fix various issues in code style of method comments: 1) Move all heading comments to all non-static methods near their declaration in the FileCheck.h header file. 2) Harmonize the action verb in doxygen comments for methods to always be in third person 3) Use \returns instead of free text "return" and "returns". 4) Document a couple more parameters while at it. Reviewers: jhenderson, probinson, arichardson Subscribers: javed.absar, kristof.beyls, hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D61445 llvm-svn: 360288
* [AMDGPU] gfx1010 exp modificationsStanislav Mekhanoshin2019-05-086-2/+99
| | | | | | Differential Revision: https://reviews.llvm.org/D61701 llvm-svn: 360287
* [Reproducers] Flush files to disk periodicallyJonas Devlieghere2019-05-082-1/+4
| | | | | | | Periodically flush some of the data to disk. Although not perfect, this helps when the debugger crashes. llvm-svn: 360286
* [Reproducers] Fix unitialized pointerJonas Devlieghere2019-05-081-1/+1
| | | | | | | The FileCollector pointer in the FileSystem class wasn't initialized to nullptr during replay. llvm-svn: 360285
* [InstCombine] When turning sext into zext due to known bits, return the new ↵Craig Topper2019-05-081-4/+2
| | | | | | | | | | | | ZExt instead of calling replaceinstuseswith The worklist loop that we're returning back to should be able to do the repacement itself. This is how we normally do replacements. My main motivation was that I observed that we weren't preserving the name of the result when we do this transform. The replacement code in the worklist loop will call takeName as part of the replacement. Differential Revision: https://reviews.llvm.org/D61695 llvm-svn: 360284
* AMDGPU: Fix a mis-placed bracketChangpeng Fang2019-05-081-1/+1
| | | | | | | Differential Revision: https://reviews.llvm.org/D61430 llvm-svn: 360283
* [X86] Add a non-ambiguous check prefix to lwp-intrinsics.ll for the case ↵Craig Topper2019-05-081-2/+19
| | | | | | | | when only the feature is specified and not the CPUs. Not sure why the script doesn't notice this. We just weren't checking the +lwp command in 32-bit mode in 2 of the test cases. llvm-svn: 360282
* Precommit FNeg InstCombine testsCameron McInally2019-05-081-24/+162
| | | | | | Differential Revision: https://reviews.llvm.org/D61685 llvm-svn: 360281
* [SCEV] Suppress hoisting insertion point of binops when unsafeWarren Ristow2019-05-083-20/+385
| | | | | | | | | | | | | | InsertBinop tries to move insertion-points out of loops for expressions that are loop-invariant. This patch adds a new parameter, IsSafeToHost, to guard that hoisting. This allows callers to suppress that hoisting for unsafe situations, such as divisions that may have a zero denominator. This fixes PR38697. Differential Revision: https://reviews.llvm.org/D55232 llvm-svn: 360280
* Fix new reassociate-catchswitch.ll testReid Kleckner2019-05-081-0/+5
| | | | llvm-svn: 360279
* [RegAllocFast] Scan physcial reg definitions before assigning virtual reg ↵Quentin Colombet2019-05-082-4/+35
| | | | | | | | | | | | | | | | | | definitions When assigning the definitions of an instruction we were updating the available registers while walking the definitions. Some of those definitions may be from physical registers and thus, they are not available for other definitions to take, but by the time we see that we may have already assign these registers to another virtual register. Fix that by walking through all the definitions and mark as unavailable the physical register definitions, then do the virtual register assignments. PR41790 llvm-svn: 360278
* [clang-tidy] Update documentation on ReSharper integration.Artem Dergachev2019-05-081-1/+1
| | | | | | | | | | It's now possible to set custom clang-tidy binary. Patch by Alexander Zaitsev! Differential Revision: https://reviews.llvm.org/D61475 llvm-svn: 360277
* [NewPassManager] Add tuning option: SLPVectorization [NFC].Alina Sbirlea2019-05-085-5/+14
| | | | | | | | | | | | | | Summary: Mirror tuning option from old pass manager in new pass manager. Reviewers: chandlerc Subscribers: mehdi_amini, jlebar, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D61616 llvm-svn: 360276
* [InstSimplify] add tests for fcmp+minnum; NFCSanjay Patel2019-05-081-0/+157
| | | | llvm-svn: 360275
* [Tests] Landing tests for D58632 to show diffs in reviewPhilip Reames2019-05-081-0/+200
| | | | llvm-svn: 360274
* [FastISel][X86] Support FNeg instruction in target independent fast isel ↵Craig Topper2019-05-082-0/+50
| | | | | | | | | | handling This patch adds support for calling selectFNeg for FNeg instructions in addition to the fsub idiom Differential Revision: https://reviews.llvm.org/D61624 llvm-svn: 360273
* [libFuzzer] DFT: when dumping coverage, also dump the total number of ↵Kostya Serebryany2019-05-084-24/+46
| | | | | | instrumented blocks in a function; update merge_data_flow.py to merge coverage llvm-svn: 360272
* Include corecrt.h in stddef.h and vcruntime.h in stdarg.h to improve MSMike Rice2019-05-087-2/+27
| | | | | | | | | | | compatibility. This allows some applications developed with MSVC to compile with clang without any extra changes. Fixes: llvm.org/PR40789 Differential Revision: https://reviews.llvm.org/D61646 llvm-svn: 360271
* [MemorySSA] Teach LoopSimplify to preserve MemorySSA.Alina Sbirlea2019-05-0818-60/+228
| | | | | | | | | | | | | | | Summary: Preserve MemorySSA in LoopSimplify, in the old pass manager, if the analysis is available. Do not preserve it in the new pass manager. Update tests. Subscribers: nemanjai, jlebar, javed.absar, Prazek, kbarton, zzheng, jsji, llvm-commits, george.burgess.iv, chandlerc Tags: #llvm Differential Revision: https://reviews.llvm.org/D60833 llvm-svn: 360270
* [Docs] list command: lldb run <args>Jonas Devlieghere2019-05-081-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | The run command is only an abbreviation for the more verbose process launch -- <args> but it works just as with GDB and therefore should be mentioned in the GDB to LLDB command map. For educational purposes I've not listed it as the first option on the LLDB side so that new LLDB user can, if they want, also know what the "native" way is for LLDB. Here's the help documentation for the run command in lldb which gives proof: > (lldb) help run > Launch the executable in the debugger. > > Syntax: run [<run-args>] > > Command Options Usage: > run [<run-args>] > > 'run' is an abbreviation for 'process launch -c /bin/sh --' Patch by: Konrad Kleine Differential revision: https://reviews.llvm.org/D61483 llvm-svn: 360269
* [AArch64] Remove scan-build "Value stored during its initialization is never ↵Simon Pilgrim2019-05-081-4/+2
| | | | | | read" warnings. NFCI. llvm-svn: 360268
* [AArch64] Fix scan-build null/uninitialized pointer warnings. NFCI.Simon Pilgrim2019-05-082-4/+5
| | | | llvm-svn: 360267
* [WebAssembly] Handle command line options consistently with the ELF backend.Sam Clegg2019-05-084-22/+34
| | | | | | Differential Revision: https://reviews.llvm.org/D61645 llvm-svn: 360266
OpenPOWER on IntegriCloud