- Nov 05, 2021
-
-
Craig Topper authored
This is similar to D112762, but the VL for the mask instruction comes from a Phi node selecting between two vsetvlis.
-
Rahman Lavaee authored
The only binary-format-related field in the BBAddrMap structure is the function address (`Addr`), which will use uint64_t in 64B format and uint32_t in 32B format. This patch changes it to use uint64_t in both formats. This allows non-templated use of the struct, at the expense of a marginal additional size overhead for the 32-bit format. The size of the BB address map section does not change. Differential Revision: https://reviews.llvm.org/D112679
-
Zakk Chen authored
Rename vpopc/vmandnot/vmornot to vcpop/vmandn/vmorn assembler mnemonic. Reviewed By: frasercrmck, jrtc27, craig.topper Differential Revision: https://reviews.llvm.org/D111062
-
Aart Bik authored
Reviewed By: bixia Differential Revision: https://reviews.llvm.org/D113152
-
Jonas Devlieghere authored
rdar://85020754
-
Philip Reames authored
We generally prefer build bots which build each change as they come in as long as they can keep up. This generates much higher quality feedback to a developer. However, the code structure is such that we currently default new builders to batching. This change updates the getting started instruction for a builder to explicitly advocate for not collapsing requests. Differential Revision: https://reviews.llvm.org/D112776
-
Tobias Gysi authored
Extend fusion on tensors to fuse producers greedily. Reviewed By: nicolasvasilache, hanchung Differential Revision: https://reviews.llvm.org/D110262
-
Geoffrey Martin-Noble authored
A default calculated size for SmallVector was added in https://reviews.llvm.org/D92522 after discussion in https://groups.google.com/g/llvm-dev/c/Z-VwNCTRGSg, but to_vector still requires an explicit size. This patch adds the default size to to_vector as well, so that this case doesn't unnecessarily force users to pick an arbitrary size. Reviewed By: silvas, dblaikie Differential Revision: https://reviews.llvm.org/D112968
-
- Nov 04, 2021
-
-
Alex Bradbury authored
These relocations have been removed from the psABI doc in https://github.com/riscv-non-isa/riscv-elf-psabi-doc/pull/199. This patch simply updates llvm/include/llvm/BinaryFormat/ELFRelocs/RISCV.def to match. Differential Revision: https://reviews.llvm.org/D112999
-
Kazu Hirata authored
-
Daniel Kiss authored
On Armv6-M the branch may not able to reach the _Unwind_Resume function because it's relocation(R_ARM_THM_JUMP11) is in -2048, 2047 range only. Reviewed By: chill, stuij, lenary Differential Revision: https://reviews.llvm.org/D113181
-
Clement Courbet authored
In preparation for D112453. Fix numbering of tests for [over.built]: 15->16, 16->17.
-
Jamie Schmeiser authored
Summary: Remove unused function from print-changed=dot-cfg code to silence a gcc compiler warning. Author: Jamie Schmeiser <schmeise@ca.ibm.com> Reviewed By: uabelho(Mikael Holmen) Differential Revision: https://reviews.llvm.org/D113188
-
Sander de Smalen authored
This interface should not have existed in the first place, let alone be a public member. It allows calling `ElementCount::get(..)->getValue()`, which is ambiguous. The interfaces to be used are either getFixedValue() or getKnownMinValue().
-
Raphael Isemann authored
-
Simon Pilgrim authored
-
Simon Pilgrim authored
-
Adam Czachorowski authored
I noticed that, while go-to-def works on cases like: namespace ns { template<typename T> struct Foo {}; } using ::ns::Fo^o; it only works because of the FileIndex. We can get definition location directly from AST too. Differential Revision: https://reviews.llvm.org/D113029 -
Josh Mottley authored
In a "Worksharing-loop construct", one can add a nowait clause at the end of the loop (i.e. at the loop tail). This clause wasn't associated with the corresponding loop when originally worked on in flang-omp-report. Note that this refers to parsing and parse-tree generation. To work around it, it was needed to track such clauses and the loops. This should no longer be required (and in fact no longer works) and so was removed. This results in 'curLoopLogRecord' and 'loopLogRecordStack' and all references to them being removed. This also allows for 'constructClauses' to be swapped from std::deque to llvm::SmallVector. Lastly a new test has been added testing the "nowait" clauses in a variety of ways. Reviewed By: awarzynski, kiranchandramohan Differential Revision: https://reviews.llvm.org/D112217
-
Raphael Isemann authored
Those nullptr checks are after we already accessed the pointer. Reviewed By: labath Differential Revision: https://reviews.llvm.org/D113175
-
Kevin Petit authored
https://reviews.llvm.org/D108392 Signed-off-by:
Kevin Petit <kevin.petit@arm.com>
-
Sjoerd Meijer authored
Function specialisation was running at all optimisation levels (if enabled on the command line, it is not on by default). That was an oversight and not something we want to do. Function specialisation duplicates functions when it triggers, so the backend is processing more functions/instructions resulting in compile-time increases, which seems more appropriate with -O3 and inline with GCC. Please note that since function specialisation is not enabled by default, this didn't require updating any pass manager tests. Differential Revision: https://reviews.llvm.org/D112129
-
Raphael Isemann authored
Reviewed By: labath Differential Revision: https://reviews.llvm.org/D113176
-
Guillaume Chatelet authored
This allows shipping individual functions without also having to provide memset or bzero at the expense of bigger functions. Similar to D113097. Differential Revision: https://reviews.llvm.org/D113108
-
Guillaume Chatelet authored
Similar to D113097 although not strictly necessary for now. It helps keeping the same structure for all memory functions. Differential Revision: https://reviews.llvm.org/D113103
-
Guillaume Chatelet authored
This allows shipping individual functions without also having to provide `memcpy` at the expense of bigger functions. Next is to use this `inlined_memcpy` in: - loader/linux/x86_64/start.cpp - src/string/memmove.cpp - src/string/mempcpy.cpp - src/string/strcpy.cpp - src/string/strdup.cpp - src/string/strndup.cpp Differential Revision: https://reviews.llvm.org/D113097
-
Josh Mottley authored
This patch removes unnecessary comments in the flang-omp-report plugin tests which can be implied from the file name and run command. Reviewed By: awarzynski Differential Revision: https://reviews.llvm.org/D112817
-
Chen Zheng authored
-
Aaron Ballman authored
Ensure that the destination slot exists in this case. This addresses PR51484.
-
Simon Pilgrim authored
rG1e5f8143 added the test case, I've added PR52397 to the comment to help keep track of the source of the bug
-
Simon Pilgrim authored
Check both operands for zero elements to remove unnecessary demanded elts. Try to help reduce some minor regressions noticed in D110995
-
Muhammad Omair Javaid authored
CPSR on Arm64 is 4 bytes in size but windows on Arm implementation is trying to read/write 8 bytes against a byte register causing LLDB unit tests failures. Ref: https://docs.microsoft.com/en-us/windows/win32/api/winnt/ns-winnt-arm64_nt_context Reviewed By: mstorsjo Differential Revision: https://reviews.llvm.org/D112471
-
Muhammad Omair Javaid authored
LIT skips various system environment variables while building test config. It turns out that we require PLATFORM environment variable for detection of x86 vs Arm windows platform. This patch adds system environment variable PLATFORM into LIT test config for detection of win32 Arm platform. Reviewed By: mstorsjo Differential Revision: https://reviews.llvm.org/D113165
-
Florian Hahn authored
-
gbreynoo authored
As seen in https://bugs.llvm.org/show_bug.cgi?id=52213 llvm-objdump asserts if either the --debug-vars or the --dwarf options are provided with invalid values. As suggested, this fix adds use of a default value to these options and errors when given bad input. Differential Revision: https://reviews.llvm.org/D112183
-
Tim Northover authored
Coroutines have weird semantics that don't quite match normal LLVM functions, so trying to infer even simple attributes based on thier contents can go wrong.
-
Markus Böck authored
-
Valentin Clement authored
Convert fir.insert_on_range operation to corresponding llvm.insertvalue operations. This patch is part of the upstreaming effort from fir-dev branch. Reviewed By: mehdi_amini Differential Revision: https://reviews.llvm.org/D112896
-
David Green authored
The added test has poison lanes due to the vector shuffle. This can cause an infinite loop of combines in instcombine where it folds xor(ashr, -1) -> select (icmp slt 0), -1, 0 -> sext (icmp slt 0) -> xor(ashr, -1). We usually prevent this by checking that the xor constant is not -1, but with vectors some of the lanes may be -1, some may be poison. So this changes the way we detect that from "!C1->isAllOnesValue()" to "!match(C1, m_AllOnes())", which is more able to detect that some of the lanes are poison. Fixes PR52397
-
Martin Storsjö authored
These are not standard methods, neither libstdc++ nor MSVC STL provide them. In practice, one of them was untested and the other one was only used in one single test. Differential Revision: https://reviews.llvm.org/D113027
-