- Feb 20, 2020
-
-
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.
-
Jay Foad authored
Summary: Previously TableGen would crash trying to print the undefined value as an integer. Change-Id: I3900071ceaa07c26acafb33bc49966d7d7a02828 Reviewers: nhaehnle Subscribers: llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D74210
-
Sven van Haastregt authored
The `-fdeclare-opencl-builtins` option was accepting saturated conversions for non-integer types, which contradicts both the OpenCL specification (v2.0 s6.2.3) and Clang's opencl-c.h file.
-
Alexander Belyaev authored
-
Raphael Isemann authored
[lldb][NFC] Pointer to reference conversion for CompilerDeclContext params in ClangExpressionDeclMap. Follow up for f9568a95.
-
Miloš Stojanović authored
Summary: Commit 63bb9fee was reverted in 7603bfb4 because it broke builds that treat warnings as errors. This commit updates the calls to `assembleToStream()` in tests to check that the return value is valid. Original commit message: Followup to D74084. Replace the use of `report_fatal_error()` with returning the error to `llvm-exegesis.cpp` and handling it there. Differential Revision: https://reviews.llvm.org/D74325
-
Pavel Labath authored
The only thing needed was to account for the offset from the debug_cu_index section when searching for the location list. This patch also fixes a bug in the Module::ParseAllDebugSymbols function, which meant that we would only parse the variables of the first compile unit in the module. This function is only used from lldb-test, so this does not fix any real issue, besides preventing me from writing a test for this patch.
-
Pavel Labath authored
This test was getting a bit long. Before adding more checks, group the existing checks according to the matcher used, and break it up into smaller tests.
-
Raphael Isemann authored
-
Sam Parker authored
Check that no Q-regs are live out of the loop, unless the instruction within the loop is predicated on the vctp. Differential Revision: https://reviews.llvm.org/D72713
-
Tamas Berghammer authored
Differential revision: https://reviews.llvm.org/D74768
-
David Green authored
Similar to VADDV and VADDLV that have been added recently, this adds lowering and patterns for VMLAV, VMLAVA, VMLALV and VMLALVA. They perform the same roles as the add's, just folding a mul into the same instruction (and so taking two inputs). As such, they need to be lowered in the same way as the types are often not legal. Differential Revision: https://reviews.llvm.org/D74390
-
Raphael Isemann authored
-
Raphael Isemann authored
Comparing those two `const char *` values relies on the assumption that both strings were created by a ConstString. Let's check that assumption with an assert as otherwise this code silently does nothing and that's not great.
-