- May 14, 2019
-
-
Kit Barton authored
Summary: Currently InductionBinOps are only saved for FP induction variables, the PR extends it with non FP induction variable, so user of IVDescriptors can query the InductionBinOps for integer induction variables. The changes in hasUnsafeAlgebra() and getUnsafeAlgebraInst() are required for the existing LIT test cases to pass. As described in the comment of the two functions, one of the requirement to return true is it is a FP induction variable. The checks was not needed because InductionBinOp was not set on non FP cases before. https://reviews.llvm.org/D60565 depends on the patch. Committed on behalf of @Whitney (Whitney Tsang). Reviewers: jdoerfert, kbarton, fhahn, hfinkel, dmgreen, Meinersbur Reviewed By: jdoerfert Subscribers: mgorny, hiraditya, jsji, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D61329 llvm-svn: 360671
-
Tim Northover authored
TableGen has a limited preprocessor, which only really supports easier. llvm-svn: 360670
-
Pavel Labath authored
apple and manual indexing code were creating a DIERef in a bunch of places. Though the code itself is not much, it is also easy to simplify by factoring out the DIERef creation. In HashedNameToDIE I create a conversion operator from DIEInfo to DIERef, and in ManualDWARFIndex I just create the DIERef in a global variable up-front. This also reduces the diff in follow-up patches which change how DIERefs are constructed. llvm-svn: 360669
-
Nico Weber authored
Slightly easier to read, uses slightly less stack space, and makes it impossible to mix up the order of all those bools. No behavior change. Differential Revision: https://reviews.llvm.org/D61788 llvm-svn: 360668
-
Aaron Ballman authored
llvm-svn: 360667
-
Rui Ueyama authored
The symbol table used to be a container of vectors of input files, but that's no longer the case because the vectors are moved out of SymbolTable and are now global variables. Therefore, addFile doesn't have to belong to any class. This patch moves the function out of the class. This patch is a preparation for my RFC [1]. [1] http://lists.llvm.org/pipermail/llvm-dev/2019-April/131902.html Differential Revision: https://reviews.llvm.org/D61854 llvm-svn: 360666
-
Thomas Preud'homme authored
This reinstates r360578 (git e47362c1), reverted in r360653 (git 00439368), with a fix for the list added in FileCheck.rst to build without error. Copyright: - Linaro (changes up to diff 183612 of revision D55940) - GraphCore (changes in later versions of revision D55940 and in new revision created off D55940) Reviewers: jhenderson, chandlerc, jdenny, probinson, grimar, arichardson, rnk Subscribers: hiraditya, llvm-commits, probinson, dblaikie, grimar, arichardson, tra, rnk, kristina, hfinkel, rogfer01, JonChesterfield Tags: #llvm Differential Revision: https://reviews.llvm.org/D60385 llvm-svn: 360665
-
Simon Pilgrim authored
Fixes scan-build warnings llvm-svn: 360664
-
Tim Northover authored
This adds support for the arm64_32 watchOS ABI to LLVM's low level tools, teaching them about the specific MachO choices and constants needed to disassemble things. llvm-svn: 360663
-
Tim Northover authored
Some atomic loads are implemented as cmpxchg (particularly if large or floating), and that usually requires write access to the memory involved or it will segfault. We can still propagate the constant value to users we understand though. llvm-svn: 360662
-
James Henderson authored
.gnu_debuglink section contains information regarding file with debugging symbols, identified by its CRC32. This target file is not intended to ever change or it would invalidate the stored checksum, yet the checksum is calculated over and over again for each of the objects inside the archive, usually hundreds of times. This patch precomputes the CRC32 of the target once and then reuses the value where required, saving lots of redundant I/O. The error message reported should stay the same, although now it might be reported earlier. Reviewed by: jhenderson, jakehehrlich, MaskRay Differential Revision: https://reviews.llvm.org/D61343 Patch by Michal Janiszewski llvm-svn: 360661
-
James Henderson authored
Previously, the test didn't work because '\' characters appeared in the sed string, causing bogus escape characters to form in the substituted string literal. Switching to using '%/p' causes the path to be emitted with '/' characters instead, so that there are are no escaping issues. Reviewed by: kzhuravl, grimar Differential Revision: https://reviews.llvm.org/D61856 llvm-svn: 360660
-
Simon Pilgrim authored
Fixes scan-build warnings llvm-svn: 360658
-
Hans Wennborg authored
> extension allowing a "static" declaration to follow an "extern" > declaration to stop working. It introduced asserts for some "static-following-extern" cases, breaking the Chromium build. See the cfe-commits thread for reproducer. llvm-svn: 360657
-
Diana Picus authored
When breaking up loads and stores of aggregates, the IRTranslator uses LLT::scalar(64) for the index type of the G_GEP instructions that compute the addresses. This is unnecessarily large for 32-bit targets. Use the int ptr type provided by the DataLayout instead. Note that we're already doing the right thing when translating getelementptr instructions from the IR. This is just an oversight when generating new ones while translating loads/stores. Both x86 and AArch64 already have tests confirming that the old behaviour is preserved for 64-bit targets. Differential Revision: https://reviews.llvm.org/D61852 llvm-svn: 360656
-
Pavel Labath authored
Replace checked-in minidumps with their yaml forms now that yaml2obj supports the ThreadList stream. I delete the test_modules_in_mini_dump test altogether as this functionality is covered more systematically in TestMinidumpUUID.py. llvm-svn: 360655
-
Fangrui Song authored
Reviewed By: labath Differential Revision: https://reviews.llvm.org/D61883 llvm-svn: 360654
-
Thomas Preud'homme authored
This reverts r360578 (git e47362c1) to solve the sphinx build failure on http://lab.llvm.org:8011/builders/llvm-sphinx-docs buildbot. llvm-svn: 360653
-
Pavel Labath authored
r360631 introduced a "syntax error" which meant that cmake was still not honoring the value of LLDB_CAN_USE_LLDB_SERVER variable. The correct syntax for seting an internal cache variable is "set(VAR value CACHE INTERNAL)", but the patch omitted the "CACHE" keyword. The "syntax error" is in quotes because without the CACHE keyword this is still valid syntax for setting the value of LLDB_CAN_USE_LLDB_SERVER to "1 INTERNAL". There doesn't seem to be a need for this to be a cache variable so I'm reverting this variable to a plain one, as it was before r360621. This will hopefully fix the windows build. llvm-svn: 360652
-
Alex Denisov authored
Differential Revision: https://reviews.llvm.org/D61550 llvm-svn: 360651
-
Philip Reames authored
This is a follow on to D58632, with the same logic. Given a memory operation which needs ordering, but doesn't need to modify any particular address, prefer to use a locked stack op over an mfence. Differential Revision: https://reviews.llvm.org/D61863 llvm-svn: 360649
-
Fangrui Song authored
Change std::error_code getSectionContents(DataRefImpl, StringRef &) const; to Expected<ArrayRef<uint8_t>> getSectionContents(DataRefImpl) const; Many object formats use ArrayRef<uint8_t> as the underlying type, which is generally better than StringRef to represent binary data, so change the type to decrease the number of type conversions. Reviewed By: ruiu, sbc100 Differential Revision: https://reviews.llvm.org/D61781 llvm-svn: 360648
-
David L. Jones authored
Differential Revision: https://reviews.llvm.org/D61819 llvm-svn: 360647
-
Fangrui Song authored
Reviewed By: JDevlieghere Differential Revision: https://reviews.llvm.org/D61844 llvm-svn: 360646
-
David L. Jones authored
llvm-svn: 360645
-
David L. Jones authored
llvm-svn: 360644
-
Jinsong Ji authored
Found by bzEq (Kai Luo). llvm-svn: 360643
-
Craig Topper authored
X32 can refer to a 64-bit ABI that uses 32-bit ints, longs, and pointers. I plan to add gnux32 command lines to this test so this prepares for that. Also remove some check lines that have a prefix that is not in any run lines. llvm-svn: 360642
-
Adrian Prantl authored
This is what the old homepage also used. llvm-svn: 360641
-
Sanjay Patel authored
llvm-svn: 360640
-
Sanjay Patel authored
This follows the pattern of the existing isCommutativeBinOp(). x86 shows improvements from vector narrowing for the min/max opcodes. llvm-svn: 360639
-
Jonas Devlieghere authored
On the homepage we should have a clear distinction between the public and private C++ APIs. llvm-svn: 360638
-
Richard Smith authored
extension allowing a "static" declaration to follow an "extern" declaration to stop working. llvm-svn: 360637
-
Gor Nishanov authored
Summary: CoroFrame was not considering static array allocas, and was only ever reserving a single element in the coroutine frame. This meant that stores to the non-zero'th element would corrupt later frame data. Store static array allocas as field arrays in the coroutine frame. Added test. Committed by Gor Nishanov on behalf of ben-clayton Reviewers: GorNishanov, modocache Reviewed By: GorNishanov Subscribers: Orlando, capn, EricWF, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D61372 llvm-svn: 360636
-
Richard Smith authored
evaluation. This reinstates r360559, reverted in r360580, with a fix to avoid crashing if evaluation-for-overflow mode encounters a virtual call on an object of a class with a virtual base class, and to generally not try to resolve virtual function calls to objects whose (notional) vptrs are not readable. (The standard rules are unclear here, but this seems like a reasonable approach.) llvm-svn: 360635
-
Stanislav Mekhanoshin authored
Differential Revision: https://reviews.llvm.org/D61875 llvm-svn: 360634
-
Jonas Devlieghere authored
Fixes missing newline between :: and the actual code. llvm-svn: 360632
-
Jonas Devlieghere authored
We cannot manipulate the LLDB_TOOL_LLDB_SERVER_BUILD directly from LLDBConfig.cmake because this would set the variable before the option is defined in AddLLVM.cmake. Instead, we need to use the LLDB_CAN_USE_LLDB_SERVER variable to conditionally add the lldb-server subdirectory. This should ensure the variable doesn't get cleared. llvm-svn: 360631
-
Volodymyr Sapsai authored
Currently `immintrin.h` includes `pconfigintrin.h` and `sgxintrin.h` which contain inline assembly. It causes failures when building with the flag `-fno-gnu-inline-asm`. Fix by excluding functions with inline assembly when this extension is disabled. So far there was no need to support `_pconfig_u32`, `_enclu_u32`, `_encls_u32`, `_enclv_u32` on platforms that require `-fno-gnu-inline-asm`. But if developers start using these functions, they'll have compile-time undeclared identifier errors which is preferrable to runtime errors. rdar://problem/49540880 Reviewers: craig.topper, GBuella, rnk, echristo Reviewed By: rnk Subscribers: jkorous, dexonsmith, cfe-commits Differential Revision: https://reviews.llvm.org/D61621 llvm-svn: 360630
-
Vitaly Buka authored
llvm-svn: 360629
-