- Oct 14, 2020
-
-
Konstantin Zhuravlyov authored
-
Michael Liao authored
-
Kevin Petit authored
The buffers are used as source or destination of transfer commands so always add VK_BUFFER_USAGE_TRANSFER_{DST,SRC}_BIT to their usage flags. Signed-off-by:Kevin Petit <kevin.petit@arm.com>
-
Guillaume Chatelet authored
-
Simon Pilgrim authored
m_SpecificInt doesn't accept undef elements in a vector splat value - tweak specific_intval to optionally allow undefs and add the m_SpecificIntAllowUndef variants. Allows us to remove the m_APIntAllowUndef + comparison hack inside matchFunnelShift
-
Calixte Denizet authored
Summary: According the mmap man page (https://man7.org/linux/man-pages/man2/mmap.2.html) is only required to precisely control updates, so we can safely remove it. Since gcda files are dumped just before to call exec** functions, dump need to be fast. On my computer, Firefox built with --coverage needs ~1min40 to display something and in removing msync it needs ~8s. Reviewers: void Subscribers: #sanitizers, marco-c, sylvestre.ledru Tags: #sanitizers Differential Revision: https://reviews.llvm.org/D81060
-
Pavel Labath authored
It appears that memory allocation actually works on windows (but it was not fully wired up before 2c4226f8).
-
Pavel Labath authored
This class is not used in those files.
-
Cameron McInally authored
Differential Revision: https://reviews.llvm.org/D89263
-
Jean Perier authored
- Rework the host runtime table so that it is constexpr to avoid having to construct it and to store/propagate it. - Make the interface simpler (remove many templates and a file) - Enable 16bits float folding using 32bits float host runtime - Move StaticMultimapView into its own header to use it for host folding Reviewed By: klausler, PeteSteinfeld Differential Revision: https://reviews.llvm.org/D88981
-
Louis Dionne authored
While this adds some convenience to the test suite, it prevents the tests using these checkpoints from being used on systems where signals are not available, such as some embedded systems. It will also prevent these tests from being constexpr-friendly once e.g. std::map is made constexpr, due to the use of statics. Instead, one can always use a debugger to figure out exactly where a test is failing when that isn't clear from the log output without checkpoints.
-
Michael Liao authored
-
Eric Schweitz authored
This patch adds a couple missing LLVM IR dialect floating point types to the legality check. Reviewed By: ftynse Differential Revision: https://reviews.llvm.org/D89350
-
Nicolas Vasilache authored
-
Simon Pilgrim authored
By always performing a modulo on the shift amount constants this was causing undef amounts being replaced with zero, meaning we were losing funnel shift by splat (with undef) patterns. Tweaked the shift amount bounds check to support (passthrough) undefs, and use Constant::mergeUndefsWith to preserve the undefs after folding.
-
Jonas Paulsson authored
In order to correctly load an all-ones FP NaN value into a floating point register with a VGBM, the analyzed 32/64 FP bits must first be shifted left (into element 0 of the vector register). SystemZVectorConstantInfo has so far relied on element replication which has bypassed the need to do this shift, but now it is clear that this must be done in order to handle NaNs. Review: Ulrich Weigand Differential Revision: https://reviews.llvm.org/D89389
-
Jeremy Morse authored
When given the -experimental-debug-variable-locations option (via -Xclang or to llc), have SelectionDAG generate DBG_INSTR_REF instructions instead of DBG_VALUE. For now, this only happens in a limited circumstance: when the value referred to is not a PHI and is defined in the current block. Other situations introduce interesting problems, addresed in later patches. Practically, this patch hooks into InstrEmitter and if it can find a defining instruction for a value, gives it an instruction number, and points the DBG_INSTR_REF at that <instr, operand> pair. Differential Revision: https://reviews.llvm.org/D85747
-
Haojian Wu authored
we need add a "this->" inside the lambda body to workaround it. Rewrite it to normal for-range loop.
-
Roman Lebedev authored
Revert "Reland "[SCEV] Model ptrtoint(SCEVUnknown) cast not as unknown, but as zext/trunc/self of SCEVUnknown"" and it's follow-ups While we haven't encountered an earth-shattering problem with this yet, by now it is pretty evident that trying to model the ptr->int cast implicitly leads to having to update every single place that assumed no such cast could be needed. That is of course the wrong approach. Let's back this out, and re-attempt with some another approach, possibly one originally suggested by Eli Friedman in https://bugs.llvm.org/show_bug.cgi?id=46786#c20 which should hopefully spare us this pain and more. This reverts commits 1fb61042, 73246166, aaafe350, e92a8e0c. I've kept&improved the tests though.
-
Pavel Labath authored
This patch adds support for the _M and _m gdb-remote packets, which (de)allocate memory in the inferior. This works by "injecting" a m(un)map syscall into the inferior. This consists of: - finding an executable page of memory - writing the syscall opcode to it - setting up registers according to the os syscall convention - single stepping over the syscall The advantage of this approach over calling the mmap function is that this works even in case the mmap function is buggy or unavailable. The disadvantage is it is more platform-dependent, which is why this patch only works on X86 (_32 and _64) right now. Adding support for other linux architectures should be easy and consist of defining the appropriate syscall constants. Adding support for other OSes depends on the its ability to do a similar trick. Differential Revision: https://reviews.llvm.org/D89124
-
Pavel Labath authored
replace char*+length combo with llvm::Error
-
Serge Guelton authored
Harmonize usage of LLVM components througout Flang. Explicit LLVM Libs where used across several CMakeFIles, which led to incompatibilities with LLVM shlibs. Fortunately, the LLVM component system can be relied on to harmoniously handle both cases. Differential Revision: https://reviews.llvm.org/D87893
-
Kadir Cetinkaya authored
Differential Revision: https://reviews.llvm.org/D89307
-
Gabor Marton authored
During the import of attributes we forgot to set the spelling list index. This caused a segfault when we wanted to traverse the AST (e.g. by the dump() method). Differential Revision: https://reviews.llvm.org/D89318
-
Gabor Marton authored
During the import of FormatAttrs we forgot to import the type (e.g `__scanf__`) of the attribute. This caused a segfault when we wanted to traverse the AST (e.g. by the dump() method). Differential Revision: https://reviews.llvm.org/D89319
-
Haojian Wu authored
so that we could start experiment for C. Previously, these flags in clangd were only meaningful for C++. We need to flip them for C, this patch repurpose these flags. - if true, just set it. - if false, just respect the value in clang. this would allow us to keep flags on for C++, and optionally flip them on for C. Differential Revision: https://reviews.llvm.org/D89233
-
Carl Ritson authored
Generate (at runtime) the table used to drive getSubRegFromChannel, base on AMDGPUSubRegIdxRanges from TableGen data. The is a step closer to it being staticly generated by TableGen and allows getSubRegFromChannel handle all bitwidths in the mean time. Reviewed By: rampitec, arsenm, foad Differential Revision: https://reviews.llvm.org/D89217
-
Juneyoung Lee authored
This patch updates `isGuaranteedNotToBeUndefOrPoison` to use `llvm.assume`'s `noundef` operand bundle. Reviewed By: jdoerfert Differential Revision: https://reviews.llvm.org/D89219
-
Tim Northover authored
Recently we started looking into sret parameters, though the issue could crop up elsewhere. If the pointee type is opaque, we should not try to compute its size because that leads to an assertion failure.
-
Nicolas Vasilache authored
This revision adds a programmable codegen strategy from linalg based on staged rewrite patterns. Testing is exercised on a simple linalg.matmul op. Differential Revision: https://reviews.llvm.org/D89374
-
Simon Pilgrim authored
-
sameeran joshi authored
The OpenMP 5.0 standard restricts nowait clause to appear only once on sections directive. See OpenMP 5.0 - 2.8.1 - point 3 in restrictions. Added a test with fix. Reviewed By: DavidTruby Differential Revision: https://reviews.llvm.org/D88556
-
Jeremy Morse authored
-
Max Kazantsev authored
-
Rainer Orth authored
This relands commit 53b3873c. The failure of `ConvertUTFTest.UTF16WrappersForConvertUTF16ToUTF8String` detected the first time is fixed. Differential Revision: https://reviews.llvm.org/D88824
-
Vinay Madhusudan authored
Differential Revision: https://reviews.llvm.org/D89365
-
Jeremy Morse authored
This patch defines the MIR format for debug instruction references: it's an integer trailing an instruction, marked out by "debug-instr-number", much like how "debug-location" identifies the DebugLoc metadata of an instruction. The instruction number is stored directly in a MachineInstr. Actually referring to an instruction comes in a later patch, but is done using one of these instruction numbers. I've added a round-trip test and two verifier checks: that we don't label meta-instructions as generating values, and that there are no duplicates. Differential Revision: https://reviews.llvm.org/D85746
-
Evgeniy Brevnov authored
LV fails with assertion checking that UF > 0. We already set UF to 1 if it is 0 except the case when IC > MaxInterleaveCount. The fix is to set UF to 1 for that case as well. Reviewed By: fhahn Differential Revision: https://reviews.llvm.org/D87679
-
Simon Pilgrim authored
Replace m_SpecificInt with m_APIntAllowUndef to matching splats containing undefs, then use ConstantExpr::mergeUndefsWith to merge the undefs together in the result. The undef funnel shift amounts are getting replaced with zero later on - I'll address this in a later patch, otherwise we lose potential shift by splat value patterns.
-
Eduardo Caldas authored
-