- Jun 07, 2022
-
-
Jeff Bailey authored
Rewrite the introduction of the page to state clearly the goals of LLVM's libc project. Reviewed By: sivachandra Differential Revision: https://reviews.llvm.org/D127174
-
lorenzo chelini authored
-
Gabor Marton authored
Assume functions might recurse (see `reAssume` or `tryRearrange`). During the recursion, the State might not change anymore, that means we reached a fixpoint. In this patch, we avoid infinite recursion of assume calls by checking already visited States on the stack of assume function calls. This patch renders the previous "workaround" solution (D47155) unnecessary. Note that this is not an NFC patch. If we were to limit the maximum stack depth of the assume calls to 1 then would it be equivalent with the previous solution in D47155. Additionally, in D113753, we simplify the symbols right at the beginning of evalBinOpNN. So, a call to `simplifySVal` in `getKnownValue` (added in D51252) is no longer needed. Fixes https://github.com/llvm/llvm-project/issues/55851 Differential Revision: https://reviews.llvm.org/D126560
-
luxufan authored
Fix https://github.com/llvm/llvm-project/issues/55816 Before this patch, MCConstantExpr were reused, but MCSymbolExpr were not. To reuse symbol value, this patch added a DenseMap to record the symbol value. Differential Revision: https://reviews.llvm.org/D127113
-
River Riddle authored
Since version 0.8 we've added: * Switched PDLL and TableGen to use incremental doc updates * Added support to PDLL for inlay hints
-
River Riddle authored
These allow for displaying additional inline information, such as the types of variables, names operands/results, constraint/rewrite arguments, etc. This requires a bump in the vscode extension to a newer version, as inlay hints are a new LSP feature. Differential Revision: https://reviews.llvm.org/D126033
-
River Riddle authored
This is much more efficient over the full mode, as it only requires sending smalls chunks of files. It also works around a weird command ordering issue (full document updates are being sent after other commands like code completion) in newer versions of vscode. Differential Revision: https://reviews.llvm.org/D126032
-
Enna1 authored
Currently, we only check !nosanitize metadata for instruction passed to function `getInterestingMemoryOperands()` or instruction which is a cannot return callable instruction. This patch add this check to any instruction. E.g. ASan shouldn't instrument the instruction inserted by UBSan/pointer-overflow. Reviewed By: vitalybuka Differential Revision: https://reviews.llvm.org/D126269
-
Evgeny Shulgin authored
We should not mark a function as "referenced" if we call it within a ConstantExpr, because the expression will be folded to a value in LLVM IR. To prevent emitting consteval function declarations, we should not "jump over" a ConstantExpr when it is a top-level ParmVarDecl's subexpression. Fixes https://github.com/llvm/llvm-project/issues/48230 Reviewed By: erichkeane, aaron.ballman, ChuanqiXu Differenitial Revision: https://reviews.llvm.org/D119646
-
Arthur Eubanks authored
Casting to non-void causes expression result unused [-Wunused-value]
-
jacquesguan authored
Reviewed By: rriddle Differential Revision: https://reviews.llvm.org/D127085
-
Akira Hatanaka authored
DebugTypeVisitor This recommits d1346e2e. I've added a line to the test case to enable it only on assert builds. Differential Revision: https://reviews.llvm.org/D125839
-
Akira Hatanaka authored
This reverts commit d1346e2e. The commit broke a few bots.
-
River Riddle authored
This commit beefs up the documentation for MLIR language servers by adding proper documentations/examples/etc for the provided TableGen language server capabilities. Given that this documentation is also used for the vscode extension, this commit also updates the user facing vscode extension documentation. Note that the images referenced in the new documentation are hosted on the website, and will be commited to mlir-www shortly after this commit lands.
-
Thomas Lively authored
Refactor the tablegen definitions for relaxed SIMD min/max instructions to use a shared RelaxedBinary multiclass modeled on the existing SIMDBinary multiclass. A future commit will add further instruction definitions that use RelaxedBinary. Also rename the SIMD_RELAXED_CONVERT multiclass to RelaxedConvert to better fit existing naming conventions. Reviewed By: aheejin Differential Revision: https://reviews.llvm.org/D127157
-
Chris Bieneman authored
Clearly I cannot spell...
-
Chris Bieneman authored
Another case of reading a value from a struct that has been byte swapped to write out. This should address the failure on the ppcbe bot.
-
Pengxuan Zheng authored
Some libraries (e.g., arm64rt.lib) from the Windows WDK (version 10.0.22000.0) contain an undocumented special member '/<ECSYMBOLS>/'. This causes llvm-lib to fail with the following error: "truncated or malformed archive (long name offset characters after the '/' are not all decimal numbers: '<ECSYMBOLS>/' for archive member header at offset 162)" The '/<ECSYMBOLS>/' member does not seem to be documented anywhere, but might be related to the ARM64EC ABI Microsoft announced last year. https://blogs.windows.com/windowsdeveloper/2021/06/28/announcing-arm64ec-building-native-and-interoperable-apps-for-windows-11-on-arm/ Reviewed By: thieta, thakis Differential Revision: https://reviews.llvm.org/D127135
-
Chris Bieneman authored
This patch adds support for parsing the DXIL part data into the ObjectYAML tooling. The DXIL part has additional headers describing the shader and bitcode data and stores serialized bitcode after the headers. Depends on D124945 Reviewed By: kuhar Differential Revision: https://reviews.llvm.org/D126795
-
Shilei Tian authored
-
Derek Schuff authored
Lefover from review for https://reviews.llvm.org/D126509#inline-1218795
-
Kevin Athey authored
As there 3 intercepts that depend on libresolv, link tests in ./configure scripts may be confuse by the presence of resolv symbols (i.e. dn_expand) even with -lresolv and get a runtime error. Android provides the functionality in libc. https://reviews.llvm.org/D122849 https://reviews.llvm.org/D126851 Reviewed By: eugenis, MaskRay Differential Revision: https://reviews.llvm.org/D127145
-
Georgios Pinitas authored
Transpose operations on constant data were getting folded during the canonicalization process. This has compile time cost proportional to the constant size. Moving this to a separate pass to enable optionality and flexibility of how such scenarios can be handled. Reviewed By: rsuderman, jpienaar, stellaraccident Differential Revision: https://reviews.llvm.org/D124685
-
Christopher Bate authored
-
Matheus Izvekov authored
Our rules to determine if the throw expression are within the variable scope were giving a false negative result in case the throw expression would appear within a decltype in a nested function declaration. Per P2266R3, the relevant rule is: [expr.prim.id.unqual]/2 ``` if the id-expression (possibly parenthesized) is the operand of a throw-expression, and names an implicitly movable entity that belongs to a scope that does not contain the compound-statement of the innermost lambda-expression, try-block , or function-try-block (if any) whose compound-statement or ctor-initializer encloses the throw-expression. ``` This fixes PR54341. Signed-off-by:Matheus Izvekov <mizvekov@gmail.com> Reviewed By: rsmith Differential Revision: https://reviews.llvm.org/D127075
-
Mogball authored
-
Siva Chandra authored
-
Philip Reames authored
-
Philip Reames authored
BasicTTI needs to return an invalid cost for scalable vectors instead of crash. Without this, it is impossible to write tests for missing functionality in a target.
-
Sam Clegg authored
Summary: Emscripten now handles/supports this new mode. Subscribers: dschuff, jgravelle-google, aheejin, sunfish, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D75277
-
Derek Schuff authored
Currently, only custom sections can be selected by operations that use section names, because only custom sections have explicit names (whereas known sections have names defined by the spec and only use their indices in the binary format). This CL makes objdopy use the spec-defined names for these sections, allowing them to be used in operations such as dumping and removal. This is a prerequisite for fixing https://github.com/emscripten-core/emscripten/issues/13084 Differential Revision: https://reviews.llvm.org/D126509
-
ksyx authored
For consistency with other parts of code. Approved by efriedma in differential revision https://reviews.llvm.org/D127055
-
LLVM GN Syncbot authored
-
Christopher Bate authored
Adds supprot for vector unroll transformations to unroll in different orders. For example, the `vector.contract` can be unrolled into a smaller set of contractions. There is a choice of how to unroll the decomposition based on the traversal order of (dim0, dim1, dim2). The choice of traversal order can now be specified by a callback which given by the caller of the transform. For now, only the `vector.contract`, `vector.transfer_read/transfer_write` operations support the callback. Differential Revision: https://reviews.llvm.org/D127004
-
Nikolas Klauser authored
Reviewed By: Mordante, var-const, #libc Spies: libcxx-commits, mgorny Differential Revision: https://reviews.llvm.org/D126529
-
Martin Storsjö authored
The relevant runtime libraries have been updated to support this now. Differential Revision: https://reviews.llvm.org/D126871
-
Martin Storsjö authored
Switching this target to WinEH also seems to affect the `-windows-itanium` target. Differential Revision: https://reviews.llvm.org/D126870
-
Martin Storsjö authored
This fixes unwinding in boundary cases on ARM with SEH. In the case of ARM/Thumb, disp->ControlPc points at the following instruction, with the thumb bit set. Thus by decrementing 1, it still points at the next instruction. To achieve the desired effect of pointing at the previous instruction, one first has to strip out the thumb bit, then do the decrement by 1 to reach the previous instruction. When libcxxabi looks for call site ranges, it already does `_Unwind_GetIP(context) - 1` (in `scan_eh_tab` in libcxxabi/src/cxa_personality.cpp), so we shouldn't do the corresponding `- 1` multiple times. In the case of libcxxabi on Thumb, `funcStart` (still in `scan_eh_tab`) may have the thumb bit set. If the program counter address is decremented both in libunwind (first removing the thumb bit, then decremented), and then libcxxabi decrements it further, and compares with a `funcStart` with the thumb bit set, it could point to one byte before the start...
-