- Jun 17, 2020
-
-
Serge Pavlov authored
The functions sys::ExcecuteAndWait and sys::Wait now have additional argument of type pointer to structure, which is filled with process execution statistics upon process termination. These are total and user execution times and peak memory consumption. By default this argument is nullptr so existing users of these function must not change behavior. Differential Revision: https://reviews.llvm.org/D78901
-
Martin Storsjö authored
This matches GCC, which enabled -mms-bitfields by default for mingw targets in 4.7 [1]. [1] https://www.gnu.org/software/gcc/gcc-4.7/changes.html Differential Revision: https://reviews.llvm.org/D81795
-
Martin Storsjö authored
This diagnostic (which defaults to an error, added in 95833f33) was intended to clearly point out cases where the C++ ABI won't match the Microsoft C++ ABI, for cases when this is enabled via a pragma over a region of code. The MSVC compatible struct layout feature can also be enabled via a compiler option (-mms-bitfields). If enabled that way, one essentially can't compile any C++ code unless also building with -Wno-incompatible-ms-struct (which GCC doesn't support, and projects developed with GCC aren't setting). For the MinGW target, it's expected that the C++ ABI won't match the MSVC one, if this option is used for getting the struct layout to match MSVC. Differential Revision: https://reviews.llvm.org/D81794
-
Martin Storsjö authored
The msvcrt library isn't a pure import library; it does contain regular object files with wrappers/fallbacks, and these can require linking against kernel32. This only makes a difference when linking with ld.bfd, as lld always searches all static libraries. This matches a similar change made recently in gcc in https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=850533ab160ef40eccfd039e1e3b138cf26e76b8, although clang adds --start-group --end-group around these libraries if -static is specified, which gcc doesn't. But try to match gcc's linking order in any case, for consistency. Differential Revision: https://reviews.llvm.org/D80880
-
Igor Kudrin authored
Differential Revision: https://reviews.llvm.org/D81844
-
Sameer Sahasrabuddhe authored
Values that are uniform within a loop but appear divergent to uses outside the loop are "tainted" so that such uses are marked divergent. But if such a use is a branch, then it's divergence needs to be propagated. The simplest way to do that is to put the branch back in the main worklist so that it is processed appropriately. Reviewed By: simoll Differential Revision: https://reviews.llvm.org/D81822
-
Itay Bookstein authored
Summary: Previously, GlobalAlias::copyAttributesFrom did not preserve ThreadLocalMode, causing incorrect IR generation in IR linking flows. This patch pushes the code responsible for copying this attribute from GlobalVariable::copyAttributesFrom down to GlobalValue::copyAttributesFrom so that it is shared by GlobalAlias. Fixes PR46297. Reviewers: tejohnson, pcc, hans Reviewed By: tejohnson, hans Subscribers: hiraditya, ibookstein, dexonsmith, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D81605
-
Matt Arsenault authored
This was hidden by the IR expansion in AMDGPUCodeGenPrepare, which I forgot to turn off.
-
Richard Smith authored
C++ unqualified name lookup searches template parameter scopes immediately after finishing searching the entity the parameters belong to. (Eg, for a class template, you search the template parameter scope after looking in that class template and its base classes and before looking in the scope containing the class template.) This is complicated by the fact that scope lookup within a template parameter scope looks in a different sequence of places prior to reaching the end of the declarator-id in the template declaration. We used to approximate the proper lookup rule with a hack in the scope / decl context walk inside name lookup. Now we instead compute the lookup parent for each template parameter scope. This gets the right answer and as a bonus is substantially simpler and more uniform. In order to get this right, we now make sure to enter a distinct Scope for each template parameter scope. (The fact that we didn't before was already a bug, but not really observable most of the time, since template parameters can't shadow each other.)
-
Richard Smith authored
redeclaration chain for an array. A prior attempt to fix this in r280330 didn't handle the case where the old variable is dependent and the new one is not. It is notable and worrying that the test case in this example forms a redeclaration chain for a non-dependent variable that includes a declaration with a dependent type. We should probably fix that too.
-
Chen Zheng authored
remove the wrong added comments as xsmaddasp is introduced in PWR8
-
Jez Ng authored
Summary: So things work on 32-bit machines. (@vzakhari reported the breakage starting from D80177). Reviewers: #lld-macho, vzakhari Subscribers: llvm-commits, vzakhari Tags: #llvm Differential Revision: https://reviews.llvm.org/D81982
-
Xing GUO authored
This patch helps change the return type of `writeVariableSizedInteger()` from `void` to `Error`. Reviewed By: jhenderson Differential Revision: https://reviews.llvm.org/D81915
-
Matt Arsenault authored
We weren't doing anything with this, and keeping it would just add more boilerplate for GlobalISel.
-
Fangrui Song authored
-
Fangrui Song authored
We don't add file headers to tests. The comments are useless as well - their purpose can be easily inferred from the filenames.
-
Jun Ma authored
Differential Revision: https://reviews.llvm.org/D81543
-
Saleem Abdulrasool authored
Update the test to no longer rely on the testing workaround in the linker and use the external libSystem stub.
-
Daniel Sanders authored
Summary: Adds two features to the generated rule disable option: - '*' - Disable all rules - '!<foo>' - Re-enable rule(s) - '!foo' - Enable rule named 'foo' - '!5' - Enable rule five - '!4-9' - Enable rule four to nine - '!foo-bar' - Enable rules from 'foo' to (and including) 'bar' (the '!' is available to the generated disable option but is not part of the underlying and determines whether to call setRuleDisabled() or setRuleEnabled()) This is intended to support unit testing of combine rules so that you can do: GeneratedCfg.setRuleDisabled("*") GeneratedCfg.setRuleEnabled("foo") to ensure only a specific rule is in effect. The rule is still required to be included in a combiner though Also added --...-only-enable-rule=X,Y which is effectively an alias for --...-disable-rule=*,!X,!Y and as such interacts properly with disable-rule. Reviewers: aditya_nandakumar, bogner, volkan, aemerson, paquette, arsenm Subscribers: wdng, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D81889 -
Lucy Fox authored
Differential Revision: https://reviews.llvm.org/D81435
-
Christopher Tetreault authored
Summary: Attempts to call getNumElements on scalable vectors identified by test LLVM.Other::scalable-vectors-core-ir.ll. Since these checks are all attempting to find if two vectors are the same size, calling getElementCount will only increase safety. Reviewers: efriedma, aprantl, reames, kmclaughlin, sdesmalen Reviewed By: efriedma Subscribers: tschuett, hiraditya, rkruppe, psnobl, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D81895
-
Saleem Abdulrasool authored
This removes the stub library that lld injected to satisfy the dependency on the libSystem. Now with TBD support, we can provide the stub library to permit the tests to function properly as they would on a real system. Reviewed By: smeenai Differential Revision: https://reviews.llvm.org/D81418
-
Christopher Tetreault authored
Summary: Silence GCC -Wconversion-null warning from GTest Subscribers: llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D81976
-
Jonas Devlieghere authored
-
Eric Schweitz authored
This upstreams the internal name mangling used in the bridge to generate unique names from symbols. Replace InternalNamesTest with the actual, functional unittest. Differential revision: https://reviews.llvm.org/D81764
-
Christopher Tetreault authored
Reviewers: efriedma, fpetrogalli, kmclaughlin, huntergr Reviewed By: fpetrogalli Subscribers: cfe-commits, tschuett, rkruppe, psnobl, llvm-commits Tags: #llvm, #clang Differential Revision: https://reviews.llvm.org/D80342
-
Geoffrey Martin-Noble authored
This patch changes the casing of MLIRGPUtoSPIRVTransforms to be consistent with other transforms libraries. Differential Revision: https://reviews.llvm.org/D81902
-
Aaron Smith authored
Summary: This was probably overlooked in recent bfloat patches. Needed to handle bf16 constants in SelectionDAG. ConstantFP:bf16<APFloat(0)> Reviewers: stuij Reviewed By: stuij Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D81779
-
Fangrui Song authored
If .gcda is corrupted, gcov continues to produce a .gcov and just assumes execution counts are zeros. This is reasonable, because the program can corrupt its .gcda output. The code path should be similar to the code path without .gcda.
-
Michael Park authored
Summary: In the case where `swap` is `noexcept`, we should avoid the extension to provide strong-exception guarantee. Fixes https://bugs.llvm.org/show_bug.cgi?id=46342 Reviewers: #libc, ldionne Reviewed By: #libc, ldionne Subscribers: dexonsmith, mclow.lists, miscco, ldionne, zoecarver, libcxx-commits Tags: #libc Differential Revision: https://reviews.llvm.org/D81954
-
Daniel Sanders authored
Summary: Adds the ability to add members to a generated combiner via a State base class. In the current AArch64PreLegalizerCombiner this is used to make Helper available without having to provide it to every call. As part of this, split the command line processing into a separate object so that it still only runs once even though the generated combiner is constructed more frequently. Depends on D81862 Reviewers: aditya_nandakumar, bogner, volkan, aemerson, paquette, arsenm Reviewed By: arsenm Subscribers: jvesely, wdng, nhaehnle, kristof.beyls, hiraditya, kerbowa, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D81863
-
Christopher Tetreault authored
Summary: Most of these operations are reasonable for scalable vectors. Due to this, we have decided not to change the interface to specifically take FixedVectorType despite the fact that the current implementations make fixed width assumptions. Instead, we cast to FixedVectorType and assert in the body. If a developer makes some change in the future that causes one of these asserts to fire, they should either change their code or make the function they are trying to call handle scalable vectors. Reviewers: efriedma, samparker, RKSimon, craig.topper, sdesmalen, c-rhodes Reviewed By: efriedma Subscribers: tschuett, rkruppe, psnobl, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D81495
-
Kirill Naumov authored
This patch introduces the heat coloring of the Call Printer which is based on the relative "hotness" of each function. The patch is a part of sequence of three patches, related to graphs Heat Coloring. Another feature added is the flag similar to "-cfg-dot-filename-prefix", which allows to write the graph into a named .pdf Reviewers: rcorcs, apilipenko, davidxl, sfertile, fedor.sergeev, eraman, bollu Differential Revision: https://reviews.llvm.org/D77172
-
Fangrui Song authored
Between gcov 4.9~8, `gcov -i $file` prints coverage information to $file.gcov in an intermediate text format (single file, instead of $source.gcov for each source file). lcov newer than 2019-05-24 detects -i support and uses it to increase processing speed. gcov 9 (GCC r265587) removed --intermediate-format and -i was changed to mean --json-format. However, we consider this format still useful and support it. geninfo (part of lcov) supports this format even if we announce that we are compatible with gcov 9.0.0
-
Fangrui Song authored
-
Daniel Sanders authored
Summary: This allows combiners to delegate to other helpers or depend on additional information. It's not great as an overall solution though as callers must provide the argument on every call, even for static data like an additional helper. Another patch will follow to support additional members of the generated combiner. Reviewers: aditya_nandakumar, bogner, aemerson, paquette, volkan, arsenm Reviewed By: aditya_nandakumar Subscribers: wdng, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D81862
-
Frederik Gossen authored
The value may be a function argument in which case `getDefiningOp` will return a `nullptr`. Differential Revision: https://reviews.llvm.org/D81965
-
Davide Italiano authored
-
Alexey Bataev authored
This reverts commit 6e78a308 to solve the problem with mem leak.
-
Frederik Gossen authored
Implement the missing lowering from `std.dim` to the LLVM dialect in case of a dynamic dimension. Differential Revision: https://reviews.llvm.org/D81834
-