- Jan 21, 2020
-
-
Simon Pilgrim authored
This was unconditionally folding this to the source operand, even if the access was out of bounds. Use undef instead of the extract is not the first element. This helps with some cases where 3-vectors are legalized and avoids processing the 4th component. Original Patch by: arsenm (Matt Arsenault) Differential Revision: https://reviews.llvm.org/D51589
-
Clement Courbet authored
Reviewers: gchatelet Subscribers: tschuett, mstojanovic, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D73083
-
Simon Pilgrim authored
Matches ISD::SRA + ISD::SRL variants.
-
Simon Pilgrim authored
-
Peter Smith authored
The INPUT_SECTION_FLAGS linker script command is used to constrain the section pattern matching to sections that match certain combinations of flags. There are two ways to express the constraint. withFlags: Section must have these flags. withoutFlags: Section must not have these flags. The syntax of the command is: INPUT_SECTION_FLAGS '(' sect_flag_list ')' sect_flag_list: NAME | sect_flag_list '&' NAME Where NAME matches a section flag name such as SHF_EXECINSTR, or the integer value of a section flag. If the first character of NAME is ! then it means must not contain flag. We do not support the rare case of { INPUT_SECTION_FLAGS(flags) filespec } where filespec has no input section description like (.text). As an example from the ld man page: SECTIONS { .text : { INPUT_SECTION_FLAGS (SHF_MERGE & SHF_STRINGS) *(.text) } .text2 : { INPUT_SECTION_FLAGS (!SHF_WRITE) *(.text) } } .text will match sections called .text that have both the SHF_MERGE and SHF_STRINGS flag. .text2 will match sections called .text that don't have the SHF_WRITE flag. The flag names accepted are the generic to all targets and SHF_ARM_PURECODE as it is very useful to filter all the pure code sections into a single program header that can be marked execute never. fixes PR44265 Differential Revision: https://reviews.llvm.org/D72756 -
Igor Kudrin authored
The test in the origin patch did not create a __debug_str section. An UBSan check triggered when the corresponding pointer was dereferenced. Differential Revision: https://reviews.llvm.org/D72695 This reapplies fcc08aa8 which was reverted in b16f82ad.
-
Anna Welker authored
Extends the gather/scatter pass in MVEGatherScatterLowering.cpp to enable the transformation of masked scatters into calls to MVE's masked scatter intrinsic. Differential Revision: https://reviews.llvm.org/D72856
-
Frank Laub authored
Summary: Add a `llvm.cmpxchg` op as a counterpart to LLVM IR's `cmpxchg` instruction. Note that the `weak`, `volatile`, and `syncscope` attributes are not yet supported. This will be useful for upcoming parallel versions of affine.for and generally for reduction-like semantics (especially for reductions that can't make use of `atomicrmw`, e.g. `fmax`). Reviewers: ftynse, nicolasvasilache Reviewed By: ftynse Subscribers: merge_guards_bot, jfb, mehdi_amini, rriddle, jpienaar, burmako, shauheen, antiagainst, arpith-jacob, mgester, lucyrfox, liufengdb, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D72995
-
LLVM GN Syncbot authored
-
Nicolai Hähnle authored
This reverts commit 0dc6c249. The commit is reported to cause a regression in piglit/bin/glsl-vs-loop for Mesa.
-
Zakk Chen authored
Reviewers: lenary, asb Reviewed By: lenary Tags: #clang Differential Revision: https://reviews.llvm.org/D72755
-
Fangrui Song authored
-
Fangrui Song authored
-
Mitch Phillips authored
This change broke the UBSan buildbots. More information available in the original Phabricator review: https://reviews.llvm.org/D72695 This reverts commit fcc08aa8.
-
Kirill Bobyrev authored
When triggering rename of the class name in the code with explicit destructor calls, rename fails. Consider the following piece of code: ``` class Foo; ... Foo f; f.~/*...*/Foo(); ``` `findExplicitReferences` will report two `ReferenceLoc` for destructor call: one is comming from `MemberExpr` (i.e. destructor call itself) and would point to the tilde: ``` f.~/*...*/Foo(); ^ ``` And the second one is pointing to the typename and is coming from `TypeLoc`. ``` f.~/*...*/Foo(); ^ ``` This causes rename to produce incorrect textual replacements. This patch updates `MemberExpr` handler to detect destructor calls and prevents it from reporting a duplicate reference. Resolves: https://github.com/clangd/clangd/issues/236 Reviewers: kadircet, hokein Differential Revision: https://reviews.llvm.org/D72638 -
Matt Arsenault authored
-
Sergey Dmitriev authored
Summary: This patch adds support for setting SHF_EXCLUDE flag for ELF sections. Reviewers: jhenderson, grimar, MaskRay, mstorsjo, espindola, alexshap, rupprecht Reviewed By: jhenderson, MaskRay Subscribers: emaste, abrachet, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D72128
-
James Clarke authored
Summary: Unlike R_RISCV_RELAX, which is a linker hint, R_RISCV_ALIGN requires the support of the linker even when ignoring all R_RISCV_RELAX relocations. This is because the compiler emits as many NOPs as may be required for the requested alignment, more than may be required pre-relaxation, to allow for the target becoming more unaligned after relaxing earlier sequences. This means that the target is often not initially aligned in the object files, and so the R_RISCV_ALIGN relocations cannot just be ignored. Since we do not support linker relaxation, we must turn these into errors. Reviewers: ruiu, MaskRay, espindola Reviewed By: MaskRay Subscribers: grimar, Jim, emaste, arichardson, asb, rbar, johnrusso, simoncook, sabuasal, niosHD, kito-cheng, shiva0217, zzheng, edward-jones, rogfer01, MartinMosbeck, brucehoult, the_o, rkruppe, PkmX, jocewei, psnobl, benna, lenary, s.egerton, pzheng, sameer.abuasal, apazos, luismarques, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D71820
-
Eric Fiselier authored
This reverts commit a8a9c8e0. There are multiple reported failures caused by this change. Each failure is really weird, but it makes sense to revert while investigating.
-
Matt Arsenault authored
These weren't much different than copied output anyway.
-
Matt Arsenault authored
There's no reason to introduce a new, unnaturally sized value here. This has a chance to produce worse code with legalization. Avoids regression in a future patch.
-
Mitch Phillips authored
Revert "PR17164: Change clang's default behavior from -flax-vector-conversions=all to -flax-vector-conversions=integer." This patch broke the Sanitizer buildbots. Please see the commit's differential revision for more information (https://reviews.llvm.org/D67678). This reverts commit b72a8c65.
-
Fangrui Song authored
Add improve tests
-
Eli Friedman authored
The code doesn't apply the fix correctly to relocatable links. I could try to fix the code that applies the fix, but it's pointless: we don't actually know what the offset will be in the final executable. So just ignore the flag for relocatable links. Issue discovered building Android. Differential Revision: https://reviews.llvm.org/D72968
-
Matt Arsenault authored
Split out r600 tests, and try to be more consistent with coverage. Cover a few more cases for 24-bit optimization and constants.
-
Matt Arsenault authored
Define pseudos mirroring the the VGPR indexing ones, and adjust the operands in the s_movrel* instructions to avoid the result def.
-
Matt Arsenault authored
a785209b switched to using a pseudos instead of manually tying operands on the regular instruction. The VGPR indexing mode path should have the same problems that change attempted to avoid, so these should use the same strategy. Use a single pseudo for the VGPR indexing mode and movreld paths, and expand it based on the subtarget later. These have essentially the same constraints, reading the index from m0. Switch from using an offset to the subregister index directly, instead of computing an offset and re-adding it back. Also add missing pseudos for existing register class sizes.
-
Krzysztof Parzyszek authored
-
Mehdi Amini authored
Differential Revision: https://reviews.llvm.org/D73065
-
Mircea Trofin authored
Summary: Follow-up from https://reviews.llvm.org/D71733. Also moved an initialization to the base class, where it belonged in the first place. Reviewers: eraman, davidxl Reviewed By: davidxl Subscribers: hiraditya, haicheng, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D72949
-
Jacques Pienaar authored
Summary: Generalize broadcastable trait to variadic operands. Update the documentation that still talked about element type as part of broadcastable trait (that bug was already fixed). Also rename Broadcastable to ResultBroadcastableShape to be more explicit that the trait affects the result shape (it is possible for op to allow broadcastable operands but not have result shape that is broadcast compatible with operands). Doing some intermediate work to have getBroadcastedType take an optional elementType as input and use that if specified, instead of the common element type of type1 and type2 in this function. Differential Revision: https://reviews.llvm.org/D72559
-
Matt Arsenault authored
Document some high level strategies that should be used for register bank selection. The constant bus restriction section hasn't actually been implemented yet.
-
Jonas Devlieghere authored
-
Kadir Cetinkaya authored
Summary: Fixes https://github.com/clangd/clangd/issues/256 Reviewers: kbobyrev Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, usaxena95, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D73056
-
Jonas Devlieghere authored
The way the IO handlers are currently managed by the debugger is wrong. The implementation lacks proper synchronization between RunIOHandlerSync and RunIOHandlers. The latter is meant to be run by the "main thread", while the former is meant to be run synchronously, potentially from a different thread. Imagine a scenario where RunIOHandlerSync is called from a different thread than RunIOHandlers. Both functions manipulate the debugger's IOHandlerStack. Although the push and pop operations are synchronized, the logic to activate, deactivate and run IO handlers is not. While investigating PR44352, I noticed some weird behavior in the Editline implementation. One of its members (m_editor_status) was modified from another thread. This happened because the main thread, while running RunIOHandlers ended up execution the IOHandlerEditline created by the breakpoint callback thread. Even worse, due to the lack of synchronization within the IO handler implementation, both threads ended up executing the same IO handler. Most of the time, the IO handlers don't need to run synchronously. The exception is sourcing commands from external files, like the .lldbinit file. I've added a (recursive) mutex to prevent another thread from messing with the IO handlers wile another thread is running one synchronously. It has to be recursive, because we might have to source another file when encountering a command source in the original file. Differential revision: https://reviews.llvm.org/D72748
-
David Carlier authored
- pthread affinity np has different semantic than sched affinity counterpart. On success returns strictly 0. Reviewers: chandlerc, AndreyChurbanov, jdoerfert Reviewed By: jdoerfert Differential Revision: https://reviews.llvm.org/D72132
-
Jonas Devlieghere authored
-
Jonas Devlieghere authored
This patch introduces a small new utility (lldb-repro) to transparently capture and replay debugger sessions through the command line driver. Its used to test the reproducers by running the test suite twice. During the first run, it captures a reproducer for every lldb invocation and saves it to a well-know location derived from the arguments and current working directory. During the second run, the test suite is run again but this time every invocation of lldb replays the previously recorded session. Differential revision: https://reviews.llvm.org/D72823
-
Miloš Stojanović authored
-
LLVM GN Syncbot authored
-