- Jun 10, 2020
-
-
Vitaly Buka authored
Summary: This patch adds optional field into function summary, implements asm and bitcode serialization. YAML serialization is omitted and can be added later if needed. This patch includes this information into summary only if module contains at least one sanitize_memtag function. In a near future MTE is the user of the analysis. Later if needed we can provede more direct control on when information is included into summary. Reviewers: eugenis Subscribers: hiraditya, steven_wu, dexonsmith, arphaman, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D80908
-
Paul Walker authored
This patch extends numerical expressions to allow calls to predefined functions. These calls can be combined with the existing numerical operators, which includes nesting calls. The call syntax is: <func>(<args>) Where <func> is a predefined string literal, currently limited to one of add, max, min and sub. <arg> is a comma seperated list of numerical expressions. Subscribers: arichardson, hiraditya, thopre, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D79936
-
Sam McCall authored
Summary: I don't love this behavior, but it prevents crashing when indexing boost headers, and I can't think of a better practical alternative. Fixes https://reviews.llvm.org/D81530 Based on a patch by AnakinZheng! Reviewers: kadircet Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, usaxena95, cfe-commits, AnakinZheng Tags: #clang Differential Revision: https://reviews.llvm.org/D81530
-
Florian Hahn authored
This patch relaxes the post-dominance requirement for accesses to objects visible after the function returns. Instead of requiring the killing def to post-dominate the access to eliminate, the set of 'killing blocks' (= blocks that completely overwrite the original access) is collected. If all paths from the access to eliminate and an exit block go through a killing block, the access can be removed. To check this property, we first get the common post-dominator block for the killing blocks. If this block does not post-dominate the access block, there may be a path from DomAccess to an exit block not involving any killing block. Otherwise we have to check if there is a path from the DomAccess to the common post-dominator, that does not contain a killing block. If there is no such path, we can remove DomAccess. For this check, we start at the common post-dominator and then traverse the CFG backwards. Paths are terminated when we hit a killing block or a block that is not executed between DomAccess and a killing block according to the post-order numbering (if the post order number of a block is greater than the one of DomAccess, the block cannot be in in a path starting at DomAccess). This gives the following improvements on the total number of stores after DSE for MultiSource, SPEC2K, SPEC2006: Tests: 237 Same hash: 206 (filtered out) Remaining: 31 Metric: dse.NumRemainingStores Program base new100 diff test-suite...CFP2000/188.ammp/188.ammp.test 3624.00 3544.00 -2.2% test-suite...ch/g721/g721encode/encode.test 128.00 126.00 -1.6% test-suite.../Benchmarks/Olden/mst/mst.test 73.00 72.00 -1.4% test-suite...CFP2006/433.milc/433.milc.test 3202.00 3163.00 -1.2% test-suite...000/186.crafty/186.crafty.test 5062.00 5010.00 -1.0% test-suite...-typeset/consumer-typeset.test 40460.00 40248.00 -0.5% test-suite...Source/Benchmarks/sim/sim.test 642.00 639.00 -0.5% test-suite...nchmarks/McCat/09-vor/vor.test 642.00 644.00 0.3% test-suite...lications/sqlite3/sqlite3.test 35664.00 35563.00 -0.3% test-suite...T2000/300.twolf/300.twolf.test 7202.00 7184.00 -0.2% test-suite...lications/ClamAV/clamscan.test 19475.00 19444.00 -0.2% test-suite...INT2000/164.gzip/164.gzip.test 2199.00 2196.00 -0.1% test-suite...peg2/mpeg2dec/mpeg2decode.test 2380.00 2378.00 -0.1% test-suite.../Benchmarks/Bullet/bullet.test 39335.00 39309.00 -0.1% test-suite...:: External/Povray/povray.test 36951.00 36927.00 -0.1% test-suite...marks/7zip/7zip-benchmark.test 67396.00 67356.00 -0.1% test-suite...6/464.h264ref/464.h264ref.test 31497.00 31481.00 -0.1% test-suite...006/453.povray/453.povray.test 51441.00 51416.00 -0.0% test-suite...T2006/401.bzip2/401.bzip2.test 4450.00 4448.00 -0.0% test-suite...Applications/kimwitu++/kc.test 23481.00 23471.00 -0.0% test-suite...chmarks/MallocBench/gs/gs.test 6286.00 6284.00 -0.0% test-suite.../CINT2000/254.gap/254.gap.test 13719.00 13715.00 -0.0% test-suite.../Applications/SPASS/SPASS.test 30345.00 30338.00 -0.0% test-suite...006/450.soplex/450.soplex.test 15018.00 15016.00 -0.0% test-suite...ications/JM/lencod/lencod.test 27780.00 27777.00 -0.0% test-suite.../CINT2006/403.gcc/403.gcc.test 105285.00 105276.00 -0.0% There might be potential to pre-compute some of the information of which blocks are on the path to an exit for each block, but the overall benefit might be comparatively small. On the set of benchmarks, 15738 times out of 20322 we reach the CFG check, the CFG check is successful. The total number of iterations in the CFG check is 187810, so on average we need less than 10 steps in the check loop. Bumping the threshold in the loop from 50 to 150 gives a few small improvements, but I don't think they warrant such a big bump at the moment. This is all pending further tuning in the future. Reviewers: dmgreen, bryant, asbirlea, Tyker, efriedma, george.burgess.iv Reviewed By: george.burgess.iv Differential Revision: https://reviews.llvm.org/D78932
-
Vitaly Buka authored
This reverts commit 69c5ff46. This reverts commit 603d58b5. This reverts commit ba10bedf. This reverts commit 39b3c41b.
-
Endre Fülöp authored
This reverts commit 020815fa. Reason: PS4 buildbot broke
-
Alex Bradbury authored
Currently, some fairly arbitrary subset of overriden methods in RISCVISelLowering are private rather than public (which is the visibility they have in TargetLowering). I suspect this is a holdover from too closely copying another backend. D78545 pointed out this can be difficult for some downstream patches, and nobody has come forward to suggest a reason for keeping the visibility as-is. This commit simply makes all overridden methods match the public visiblity of the parent. Differential Revision: https://reviews.llvm.org/D79928
-
Sam Parker authored
Extract the existing code from getInstructionThroughput into TTImpl::getUserCost. The duplicated code in the AMDGPU backend has also been removed. Differential Revision: https://reviews.llvm.org/D81448
-
Sam Parker authored
Add the remaining arithmetic opcodes into the generic implementation of getUserCost and then call this from getInstructionThroughput. Most of the backends have been modified to return the base implementation for cost kinds other RecipThroughput. The outlier here is AMDGPU which already uses getArithmeticInstrCost for all the cost kinds. This change means that most of the opcodes can be removed from that backends implementation of getUserCost. Differential Revision: https://reviews.llvm.org/D80992
-
Kazushi (Jam) Marukawa authored
Summary: Add LHM/SHM instructions. Add regression tests for them of asmparser, mccodeemitter, and disassembler. In order to add those instructions, add new decode functions to disassembler, and add new print functions to instprinter. Differential Revision: https://reviews.llvm.org/D81535
-
Wang, Pengfei authored
The memory folding raplaced the old instruction without copying the symbols assigned. Which will resulted in built fail due to the lost symbols. Reviewed by craig.topper Differential Revision: https://reviews.llvm.org/D78471
-
Sander de Smalen authored
These ACLE tests were missing in previous patches: - D79357: [SveEmitter] Add builtins for svdup and svindex - D78747: [SveEmitter] Add builtins for compares and ReverseCompare flag. - D76238: [SveEmitter] Implement builtins for contiguous loads/stores
-
Eli Friedman authored
This reverts commit 28415e58. It's causing buildbot failures. (Probably just need to fix the triple for the test, but I'll look more tomorrow.)
-
Endre Fülöp authored
Summary: Introduce on-demand parsing of needed ASTs during CTU analysis. The index-file format is extended, and analyzer-option CTUInvocationList is added to specify the exact invocations needed to parse the needed source-files. Reviewers: martong, balazske, Szelethus, xazax.hun, whisperity Reviewed By: martong, xazax.hun Subscribers: gribozavr2, thakis, ASDenysPetrov, ormris, mgorny, whisperity, xazax.hun, baloghadamsoftware, szepet, rnkovacs, a.sidorin, mikhail.ramalho, Szelethus, donat.nagy, dkrupp, Charusso, steakhal, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D75665
-
LLVM GN Syncbot authored
-
LLVM GN Syncbot authored
-
Amara Emerson authored
Missed this file in the recent reorg.
-
Fangrui Song authored
After D79300, we don't rewrite InputFile::mb to an empty buffer. In thinLTOCreateEmptyIndexFiles(), we should check LazyObjFile::fetched as well as checking whether mb is a bitcode, otherwise we would overwrite (path + .thinlto.bc) with an empty index.
-
Siva Chandra Reddy authored
Reviewers: asteinhauser Differential Revision: https://reviews.llvm.org/D80779
-
Shawn Landden authored
halves the number of CNT instructions generated
-
Stephen Neuendorffer authored
Differential Revision: https://reviews.llvm.org/D80675
-
Stephen Neuendorffer authored
This is useful for manipulating the standard dialect from transformations outside of the standard dialect. Differential Revision: https://reviews.llvm.org/D80609
-
Siva Chandra Reddy authored
Reviewers: asteinhauser Subscribers: mgorny, tschuett, ecnelises, libc-commits Tags: #libc-project Differential Revision: https://reviews.llvm.org/D81519
-
LemonBoy authored
The fp16 ops are legalized by extending/chopping them as needed. The tests are shamelessly stolen from the RISC-V backend. Differential Revision: https://reviews.llvm.org/D77569
-
Fangrui Song authored
-
Sterling Augustine authored
Summary: Fix variables used only in asserts. Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D81522
-
Amara Emerson authored
This ensures that we match SelectionDAG behaviour by waiting until the expand pseudos pass to generate ADRP + ADD pairs. Doing this at selection time for the G_ADD_LOW is fine because by the time we get to selecting the G_ADD_LOW, previous attempts to fold it into loads/stores must have failed. Differential Revision: https://reviews.llvm.org/D81512
-
Craig Topper authored
[X86] Assign a feature to tremont, goldmont, goldmont-plus, icelake-client, and icelake for target multiversioning priority. Without this these CPUs all caused the compiler to assert when used for multiversioning.
-
Vy Nguyen authored
Summary: Consider: `const int* get_foo() {return nullptr;}` The suggested fix should be `static const int* get_foo(){}` and not `const static int* get_foo(){}` Reviewers: gribozavr2 Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D81444 -
Siva Chandra Reddy authored
The current tests verify if the result of -infinity is a quiet NaN with sign bit set. But, that need not be the case on all platforms. So, just checking that the result is a quiet NaN and ignoring the sign bit is good enough.
-
Jonas Devlieghere authored
Modules are not orphaned and it finds the existing module with the same UUID from test_partial_uuid_match.
-
aartbik authored
Summary: Even though this operation is intended for 1d/2d conversions currently, leaving a semantic hole in the lowering prohibits proper testing of this operation. This CL adds a straightforward reference implementation for the missing cases. Reviewers: nicolasvasilache, mehdi_amini, ftynse, reidtatge Reviewed By: reidtatge Subscribers: mehdi_amini, rriddle, jpienaar, shauheen, antiagainst, nicolasvasilache, arpith-jacob, mgester, lucyrfox, liufengdb, stephenneuendorffer, Joonsoo, grosul1, frgossen, Kayjukh, jurahul, msifontes Tags: #mlir Differential Revision: https://reviews.llvm.org/D81503
-
Akira Hatanaka authored
The line defining CAPTURE was removed in r302270.
-
Siva Chandra Reddy authored
Conditionally adding subdirectories was missed in a few places previously. This change adds the conditionals. A sub-directory was being added needlessly in another place. That has been removed.
-
Siva Chandra Reddy authored
Summary: If a test depends on a skipped entrypoint, then the test is also skipped. This setup will be useful as we gradually add support for more operating systems and target architectures. Reviewers: asteinhauser Differential Revision: https://reviews.llvm.org/D81489
-
Whitney Tsang authored
blocks. Summary: The current LoopFusion forget to update the incoming block of the phis in second loop guard non loop successor from second loop guard block to first loop guard block. A test case is provided to better understand the problem. Reviewed By: jdoerfert Subscribers: hiraditya, llvm-commits Tag: LLVM Differential Revision: https://reviews.llvm.org/D81421
-
Tim Keith authored
When we encountered a type name in a derived type definition, we were sometimes finding a component of that name rather than the type from the enclosing scope. Fix this by introducing `NonDerivedTypeScope()` to start the search in the right scope. Differential Revision: https://reviews.llvm.org/D81493
-
Jonas Devlieghere authored
In addition to having the default fallback from Python 3 to Python 2, it should also be possible to build against Python 2 explicitly. This patch makes that possible by setting LLDB_PYTHON_VERSION. The variable only has effect with CMake 3.12 or later. Differential revision: https://reviews.llvm.org/D81501
-
Christopher Tetreault authored
Reviewers: efriedma, kmclaughlin, sdesmalen, fhahn, bkramer, anna, gchatelet, c-rhodes, david-arm, fpetrogalli Reviewed By: david-arm Subscribers: tschuett, hiraditya, rkruppe, psnobl, dantrushin, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D80336
-
Sam McCall authored
This reverts commit f25e3c2d. Added workaround for tempdir being a symlink on mac.
-