- Feb 20, 2020
-
-
Diego Caballero authored
It replaces DenseMap output with a SmallVector and it removes empty loop levels from the output. Reviewed By: andydavis1, mehdi_amini Differential Revision: https://reviews.llvm.org/D74658
-
Bardia Mahjour authored
Summary: This is the last functional patch affecting the representation of DDG. Here we try to simplify the DDG to reduce the number of nodes and edges by iteratively merging pairs of nodes that satisfy the following conditions, until no such pair can be identified. A pair of nodes consisting of a and b can be merged if: 1. the only edge from a is a def-use edge to b and 2. the only edge to b is a def-use edge from a and 3. there is no cyclic edge from b to a and 4. all instructions in a and b belong to the same basic block and 5. both a and b are simple (single or multi instruction) nodes. These criteria allow us to fold many uninteresting def-use edges that commonly exist in the graph while avoiding the risk of introducing dependencies that didn't exist before. Authored By: bmahjour Reviewer: Meinersbur, fhahn, myhsu, xtian, dmgreen, kbarton, jdoerfert Reviewed By: Meinersbur Subscribers: ychen, arphaman, simoll, a.elovikov, mgorny, hiraditya, jfb, wuzish, llvm-commits, jsji, Whitney, etiotto, ppc-slack Tags: #llvm Differential Revision: https://reviews.llvm.org/D72350 -
River Riddle authored
-
Florian Hahn authored
This reverts commit e01a3d49. and commit a6a585b8. This causes a failure on GreenDragon: http://lab.llvm.org:8080/green/view/LLDB/job/lldb-cmake/9597
-
River Riddle authored
Summary: DenseElementsAttr stores float values as raw bits internally, so creating attributes just to have them unwrapped is extremely inefficient. Differential Revision: https://reviews.llvm.org/D74818
-
River Riddle authored
Summary: This trait takes three arguments: lhs, rhs, transformer. It verifies that the type of 'rhs' matches the type of 'lhs' when the given 'transformer' is applied to 'lhs'. This allows for adding constraints like: "the type of 'a' must match the element type of 'b'". A followup revision will add support in the declarative parser for using these equality constraints to port more c++ parsers to the declarative form. Differential Revision: https://reviews.llvm.org/D74647
-
Jonas Devlieghere authored
Remove locking as all the plugin registration takes place from a single thread. Addresses Pavel's feedback in D74816.
-
Tyker authored
Summary: Operand bundles on an llvm.assume allows representing assumptions that an attribute holds for a certain value at a certain position. Operand bundles enable assumptions that are either hard or impossible to represent as a boolean argument of an llvm.assume. Reviewers: jdoerfert, fhahn, nlopes, reames, regehr, efriedma Reviewed By: jdoerfert Subscribers: lebedev.ri, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D74209
-
Jonas Paulsson authored
isKnownNonNaN() could not recognize a zero splat because that is a ConstantAggregateZero which is-a ConstantData but not a ConstantDataVector. Patch makes a ConstantAggregateZero return true. Review: Thomas Lively Differential Revision: https://reviews.llvm.org/D74263
-
Nico Weber authored
\<foo\> is more correct, but since we use shell=True on Windows, the < and > get interpreted as redirection operators. Rather than adding cmd escaping, just use \bfoo\b, which is Good Enough Often Enough.
-
LLVM GN Syncbot authored
-
Sean Silva authored
Summary: This could trigger an assertion due to the block argument being used by this block's own successor operands. Reviewers: rriddle! Subscribers: mehdi_amini, jpienaar, burmako, shauheen, antiagainst, nicolasvasilache, arpith-jacob, mgester, lucyrfox, liufengdb, Joonsoo, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D74583
-
Nico Weber authored
-
Craig Topper authored
We only need to split after type legalization. If we're before we can just use a wide store and type legalization will split it. Add a v128i1 test to exercise it post type legalization.
-
Zurab Tsinadze authored
Summary: This patch introduces a new checker: `alpha.security.cert.pos.34c` This checker is implemented based on the following rule: https://wiki.sei.cmu.edu/confluence/x/6NYxBQ The check warns if `putenv` function is called with automatic storage variable as an argument. Differential Revision: https://reviews.llvm.org/D71433
-
Stanislav Mekhanoshin authored
Yet another assumption about an actual LaneBitmask content is fixed. Differential Revision: https://reviews.llvm.org/D74805
-
Eric Fiselier authored
The libc++ __bit_iterator type has weird ABI calling conventions as a quirk of the implementation. The const bit iterator is trivial, but the non-const bit iterator is not because it declares a user-defined copy constructor. Changing this now is an ABI break, so this test ensures that each type is trivial/non-trivial as expected. The definition of 'non-trivial for the purposes of calls': A type is considered non-trivial for the purposes of calls if: * it has a non-trivial copy constructor, move constructor, or destructor, or * all of its copy and move constructors are deleted. -
Jordan Rupprecht authored
-
Nikita Popov authored
This reverts commit f12fb2d9. I missed some changes in instrumentation test cases.
-
Alexandre Eichenberger authored
In some dialects, attributes may have default values that may be determined only after shape inference. For example, attributes that are dependent on the rank of the input cannot be assigned a default value until the rank of the tensor is inferred. While we can set attributes without explicit setters, referring to the attributes via accessors instead of having to use the string interface is better for compile time verification. The proposed patch add one method per operation attribute that let us set its value. The code is a very small modification of the existing getter methods. Differential Revision: https://reviews.llvm.org/D74143
-
Nikita Popov authored
Make sure we don't skip the Deferred.remove() call if the instruction is not in the worklist. Both of those are separate. We don't have any cases where deferred instructions get removed right now, but may cause problems in the future.
-
David Goldman authored
Summary: Previously any symlinks would be ignored since the directory traversal doesn't follow them. With this change we now follow symlinks (via a `stat` call in order to figure out the target type of the symlink if it is valid). Reviewers: sammccall Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D74790
-
Nikita Popov authored
Some IRBuilder methods that were originally defined on IRBuilderBase do not respect custom IRBuilder inserters/folders, because those were not accessible prior to D73835. Fix this by making use of existing (and now accessible) IRBuilder methods, which will handle inserters/folders correctly. There are some changes in OpenMP tests, where bitcasts now get constant folded. I've also highlighted one InstCombine test which now finishes in two rather than three iterations, thanks to new instructions being inserted into the worklist. Differential Revision: https://reviews.llvm.org/D74787
-
Simon Pilgrim authored
Pre-commit for some upcoming SimplifyDemandedBits bitrotate handling.
-
Denis Khalikov authored
Add an initial version of mlir-vulkan-runner execution driver. A command line utility that executes a MLIR file on the Vulkan by translating MLIR GPU module to SPIR-V and host part to LLVM IR before JIT-compiling and executing the latter. Differential Revision: https://reviews.llvm.org/D72696
-
Raphael Isemann authored
-
Daniel Fava authored
The removed loop clears reused for entries at the tail of a SyncClock. The loop is redundant since those entries were already cleared by the immediately preceding loop, which iterates over all entries in the SyncClock (including the tail entries).
-
Alex Zinenko authored
When the conversion was implemented, ValueRange did not support BlockArguments the code materialized a vector. This is no longer necessary.
-
Mikhail Maltsev authored
Summary: Some predicated MVE intrinsics return a vector with element size different from the input vector element size. In this case the predicate must type correspond to the output vector type. The following intrinsics use the incorrect predicate type: * llvm.arm.mve.mull.int.predicated * llvm.arm.mve.mull.poly.predicated * llvm.arm.mve.vshll.imm.predicated This patch fixes the issue. Reviewers: simon_tatham, dmgreen, ostannard, MarkMurrayARM Reviewed By: MarkMurrayARM Subscribers: kristof.beyls, hiraditya, cfe-commits, llvm-commits Tags: #clang, #llvm Differential Revision: https://reviews.llvm.org/D74838
-
Cameron McInally authored
Differential Revision: https://reviews.llvm.org/D74632
-
Nico Weber authored
Now that I've updated ancient goma clients on the bots, this should work. (Internal goma bug: b/139410332, fixed months ago.)
-
Jay Foad authored
Reviewers: arsenm, rampitec, nhaehnle Subscribers: kzhuravl, jvesely, wdng, yaxunl, dstuttard, tpr, t-tye, hiraditya, kerbowa, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D74835
-
- Feb 19, 2020
-
-
Stefan Pintilie authored
On PowerPC we will soon need to use pcrel to indicate PC Relative addressing. Renamed the Hexagon specific variant kind to a non target specific VK so that it can be used on both Hexagon and PowerPC. Differential Revision: https://reviews.llvm.org/D74788
-
Krzysztof Parzyszek authored
-
Florian Hahn authored
-
Florian Hahn authored
Instcombine folds (a + b <u a) to (a ^ -1 <u b) and that does not match the expected pattern in CodeGenPerpare via UAddWithOverflow. This causes a regression over Clang 7 on both X86 and AArch64: https://gcc.godbolt.org/z/juhXYV This patch extends UAddWithOverflow to also catch the XOR case, if the XOR is only used in the ICMP. This covers just a single case, but I'd like to make sure I am not missing anything before tackling the other cases. Reviewers: nikic, RKSimon, lebedev.ri, spatel Reviewed By: nikic, lebedev.ri Differential Revision: https://reviews.llvm.org/D74228
-
Matt Arsenault authored
I'm not sure why this isn't a pattern, but the DAG manually selects this.
-
Pierre-vh authored
Differential Revision: https://reviews.llvm.org/D74822
-
Raphael Isemann authored
All these tests can just call lldbutil.run_to_source_breakpoint instead of reimplementing it.
-
Raphael Isemann authored
TestCPPAuto was only failing on windows due to the std::string copying (which was not related at all to 'auto' functionality). TestStepTarget is now also passing but that seems more that we now have by accident the right behavior in Windows. I'll remove the x-fail just to make the bot green again.
-