- Feb 05, 2020
-
-
Djordje Todorovic authored
We currently only handle mem instructions with a single define. Avoid the call site parameter debug info when we find the case with multiple defs, rather than throwing an assert. Differential Revision: https://reviews.llvm.org/D73954
-
Kadir Cetinkaya authored
Solves this issue: https://github.com/clangd/clangd/issues/157 This is my first contribution to an llvm project, so I hope I'm doing it right! Patch by @topisani (Tobias Pisani)! Reviewers: kadircet, klimek Differential Revision: https://reviews.llvm.org/D73811
-
Craig Topper authored
[X86] Add a DAG combine for (i32 (sext (i8 (x86isd::setcc_carry)))) -> (i32 (x86isd::setcc_carry)) and remove isel patterns. Same for any_extend though we don't have coverage for that. The test changes are because isel didn't check one use of the setcc_carry. So in isel we would end up with two different sized setcc_carry instructions. And since it clobbers the flags we would need to recreate the flags for the second instruction. This code handles additional uses by truncating the new wide setcc_carry back to the original size for those uses.
-
Petr Hosek authored
When building the default builtin and runtimes target, set the CMAKE_SYSTEM_NAME to the current one. This is not necessary on Linux and Darwin, but it appears to be necessary on Windows, otherwise CMake fails. Differential Revision: https://reviews.llvm.org/D73811
-
Petr Hosek authored
XRay builds uses llvm-config to obtain the ldflags and libs and then passes those to CMake. Unfortunately, this breaks on Windows because CMake tries to interpret backslashes followed by certain characters as flags. We need to rewrite these into forward slashes that are used by CMake (even on Windows). Differential Revision: https://reviews.llvm.org/D73523
-
Paula Toth authored
Reviewers: abrachet Reviewed By: abrachet Subscribers: mgorny, MaskRay, libc-commits Tags: #libc-project Differential Revision: https://reviews.llvm.org/D74008
-
Jan Vesely authored
The old version might be faster on EG (RECIP_IEEE is Trans only), but it'd need extra corner case checks. This gives correct corner case behaviour and saves a register. Fixes OCL CTS sqrt test (1-thread, scalar) on Turks. Reviewer: arsenm Differential Revision: https://reviews.llvm.org/D74017
-
Thomas Lively authored
Summary: For now, this ABI simply expands all possible aggregate arguments and returns all possible aggregates directly. This ABI will change rapidly as we prototype and benchmark a new ABI that takes advantage of multivalue return and possibly other changes from the MVP ABI. Reviewers: aheejin, dschuff Subscribers: sbc100, jgravelle-google, sunfish, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D72972
-
Thomas Lively authored
Summary: This reverts commit 3ef169e5. The purpose of this commit was to allow stack machines to perform instruction selection for instructions with variadic defs. However, MachineInstrs fundamentally cannot support variadic defs right now, so this change does not turn out to be useful. Depends on D73927. Reviewers: aheejin Subscribers: dschuff, sbc100, jgravelle-google, hiraditya, sunfish, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D73928
-
Jason Molenda authored
Explicitly check for a request to attach to a pid that doesn't exist, to attach to a pid that is already being debugged, unify the SIP process check, and an attempt at checking if developer mode is enabled on the system (which isn't working in debugserver, for some reason; I can't get the authorization record which should be an unprivileged operation and works in a standalone program I wrote). I'll debug the developer mode check later, but I wanted to land it along with everything else; right now it will claim that developer mode is always enabled so it's harmless to include as-is.
-
Kern Handa authored
This binplaces `mlir-translate`, `mlir-cuda-runner`, and `mlir-cpu-runner` when building the CMake install target. Differential Revision: https://reviews.llvm.org/D73986
-
Matt Arsenault authored
This was incorrectly rounding up to the next power of 2. v4f32 was rounding up to v8f32, which was just wrong. There are also v3i16/v3f16 available in MVT, so we don't even need to round the f16 cases anymore. Additionally, this field is really an EVT so we don't even need to consider this. Also switch some asserts to return invalid. We should have an IR verifier for these intrinsic return types, but for now it's better to not assert on IR that passes the verifier. This should also probably be fixed to consider that dmask is really eliminating some of the loaded components.
-
David Blaikie authored
Originally committed in: 1ced28cb Reverted in: f75301d1 (reverted due to tests failing on non-linux/x86 targets, tests have since been generalized and specialized... since Split DWARF isn't supported on non-elf targets anyway and we have no way to run on "whatever elf target is available" so they fail on MacOS without an explicit target triple) This code was incorrectly emitting extra bytes into arbitrary parts of the object file when it was meant to be hashing them to compute the DWO ID. Follow-up patch(es) will refactor this API somewhat to make such bugs harder to introduce, hopefully.
-
David Blaikie authored
-
David Blaikie authored
This target produces a location list for the location, so split the match between lines to allow for a location list match.
-
Jonas Devlieghere authored
The reproducer instrumentation cannot automatically serialize and deserialize void* arguments. Currently we deal with this by explicitly preventing these methods from being instrumented. This has the undesired side effect of breaking replay when that method returns a value later used by another SB API call. The solution is to change our approach and instrument these methods. Instead of using the DUMMY macro, we just make (de)serialization of the void pointer a NOOP and always return a nullptr.
-
David Blaikie authored
Since we don't support Split DWARF emission on non-ELF formats, hardcode an elfine triple (we don't have a way to ask for "any ELF triple" it seems, so hardcoded will have to do)
-
Thomas Lively authored
Summary: This reverts commit 28857d14. This commit worked toward a solution that did not turn out to be feasible because MachineInstrs cannot contain an arbitrary number of defs. Reviewers: aheejin Subscribers: dschuff, sbc100, jgravelle-google, hiraditya, sunfish, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D73927
-
Yonghong Song authored
The compiler may transform the following code ctx = ctx + reloc_offset ... (*(u32 *)ctx) & 0x8000 ... to ctx = ctx + reloc_offset ... (*(u8 *)(ctx + 1)) & 0x80 ... where reloc_offset will be replaced with a constant during AsmPrinter phase. The above transformed code will be rejected the kernel verifier as it does not allow *(type *)((ctx + non_zero_offset1) + non_zero_offset2) style access pattern. It is hard at SelectionDag phase to identify whether a load is related to context or not. Sometime, interprocedure analysis may be needed. So let us simply prevent such optimization from happening. Differential Revision: https://reviews.llvm.org/D73997
-
David Blaikie authored
Originally committed in: 552a8fe1 Reverted in: f75301d1 Reverted because it was running llc directly (rather than %llc_dwarf) which uses COFF files on Windows which LLVM doesn't support all DWARF features in. This functionality isn't fully working, but sets up the testing for a follow-on patch that demonstrates and fixes the brokenness related to DWO ID hashing this construct.
-
Thomas Lively authored
Summary: Moves a batch of instructions from unimplemented-simd128 to simd128 because they have recently become available in V8. Reviewers: aheejin Subscribers: dschuff, sbc100, jgravelle-google, hiraditya, sunfish, cfe-commits, llvm-commits Tags: #clang, #llvm Differential Revision: https://reviews.llvm.org/D73926
-
Lei Zhang authored
We were using normal dictionary attribute for target environment specification. It becomes cumbersome with more and more fields. This commit changes the modelling to a dialect-specific attribute, where we can have control over its storage and assembly form. Differential Revision: https://reviews.llvm.org/D73959
-
Richard Smith authored
-
David Blaikie authored
-
David Blaikie authored
Originally committed in: 5327b917 and follow on fix: 4f281f04 Reverted in: 191a9a78 and: f75301d1 Reverted because it wasn't portable between the targets it was running on. Using %llc_dwarf ensures the target triple is always elfine and thus DWARF compatible.
-
David Blaikie authored
-
David Blaikie authored
This test was hardcoded to only run on x86-64-linux-gnu and was overly constrained by CHECK-NEXTing every line for an exact match.
-
Michael Liao authored
-
Francis Visoiu Mistrih authored
-
Michael Liao authored
-
David Blaikie authored
-
David Blaikie authored
This test was overly constrained & hardcoded only to x86-linux-gnu - generalize the test & remove the hardcoded target triple.
-
LLVM GN Syncbot authored
-
LLVM GN Syncbot authored
-
Michael Liao authored
-
Reid Kleckner authored
This appears to be a real bug caught by -Wunused-value. std::find_if doesn't modify the underlying collection, it just returns an iterator pointing to the matching element. Reviewed By: JDevlieghere Differential Revision: https://reviews.llvm.org/D74010
-
Francis Visoiu Mistrih authored
This extends the RemarkStreamer to allow for other emitters (e.g. frontends, SIL, etc.) to emit remarks through a common interface. See changes in llvm/docs/Remarks.rst for motivation and design choices. Differential Revision: https://reviews.llvm.org/D73676
-
Alina Sbirlea authored
clang-tidy + clang-format
-
Reid Kleckner authored
-
Jonas Devlieghere authored
-