- Nov 30, 2023
-
-
Vitaly Buka authored
Co-authored-by:Edgar <git@edgarluque.com>
-
Ramkumar Ramachandra authored
Follow up on 59edb432 (clang/APINotes: squelch a -Wparantheses warning (NFC)) to fix parenthesization, as requested by David Blaikie.
-
Finn Plummer authored
Add missing constant propogation folder for [S|U]Mod, [S|U]Div, SRem Implement additional folding when rhs is 1 for all ops. This helps for readability of lowered code into SPIR-V. Part of work for #70704
-
Teresa Johnson authored
The comment about the stripping of suffixes when creating the indexed MemProf profile was partially incorrect, as we do not strip ".__uniq." suffixes by default (by design). Update the comment accordingly.
-
Johannes Doerfert authored
While this does not really encapsulate the mapping code, it at least moves most of the declarations out of the way.
-
Chris Bieneman authored
This fixes the test to handle the changes in the AST printer. ../clang/test/SemaHLSL/Types/BuiltinVector/ScalarSwizzles.hlsl
-
David Li authored
This is the last patch for fabs lowering. v32f16 works for AVX as well with the patch (with type legalization).
-
Chris B authored
HLSL supports vector swizzles on scalars by implicitly converting the scalar to a single-element vector. This syntax is a convienent way to initialize vectors based on filling a scalar value. There are two parts of this change. The first part in the Lexer splits numeric constant tokens when a `.x` or `.r` suffix is encountered. This splitting is a bit hacky but allows the numeric constant to be parsed separately from the vector element expression. There is an ambiguity here with the `r` suffix used by fixed point types, however fixed point types aren't supported in HLSL so this should not cause any exposable problems (a separate issue has been filed to track validating language options for HLSL: #67689). The second part of this change is in Sema::LookupMemberExpr. For HLSL, if the base type is a scalar, we implicit cast the scalar to a one-element vector then call back to perform the vector lookup. Fixes #56658 and #67511
-
Johannes Doerfert authored
-
Pete Steinfeld authored
This update makes the user visible messages relating to features that are not yet implemented be more consistent. I also cleaned up some of the code. For NYI messages that refer to intrinsics, I made sure the the message begins with "not yet implemented: intrinsic:" to make them easier to recognize. I created some utility functions for NYI reporting that I put into .../include/Optimizer/Support/Utils.h. These mainly convert MLIR types to their Fortran equivalents. I converted the NYI code to use the newly created utility functions.
-
Aaron Ballman authored
StandardConversionSequence is significantly larger than a word.
-
Johannes Doerfert authored
"private.h" will go.
-
Tom Eccles authored
This reverts commit caba0314. Serious performance regressions were reported by @vzakhari https://github.com/llvm/llvm-project/issues/58303#issuecomment-1830754173 Fixing this doesn't look quick so I will revert for now.
-
Aaron Ballman authored
It was previously classified as a type attribute when it is actually a variable attribute.
-
jeanPerier authored
-
Mark de Wever authored
This paper was voted in as a DR, so it's retroactively enabled back to C++20; the C++ version that introduced std::format. Implements: - P2909R4 Fix formatting of code units as integers (Dude, where’s my ``char``?)
-
Johannes Doerfert authored
Also revert the ifdef OMPT_SUPPORT order to have the short fallback first and not after 400 lines.
-
Johannes Doerfert authored
-
Johannes Doerfert authored
-
Youngsuk Kim authored
Work towards removing method Type::getPointerTo. Opaque ptr cleanup effort.
-
Jeremy Morse authored
CodeExtractor shifts dbg.value intrinsics out of the region being extracted and updates them to be appropriate in the extracted function. With new non-intrinsic variable locations, we need to manually do this too, with DPValues. Most of this patch shifts and refactors some utilities in fixupDebugInfoPostExtraction so that we can add a single extra helper lambda that iterates over DPValues and applies update-utilities. We also have to assign the IsNewDbgInfoFormat flag in a bunch of places -- this normally gets set the moment you insert a block into a function (or function into a module), however a few blocks are constructed here before being inserted, thus we have to do some manual setup. Tested via LoopExtractor_alloca.ll, which invokes debugify.
-
Nick Desaulniers authored
This enables -regalloc=greedy to memfold spillable inline asm MachineOperands. Because no instruction selection framework marks MachineOperands as spillable, no language frontend can observe functional changes from this patch. That will change once instruction selection frameworks are updated. Link: https://github.com/llvm/llvm-project/issues/20571
-
Mats Petersson authored
This got "lost" in the HLFIR transformation. This patch applies the old attribute to the AssociateOp that needs it, and forwards it to the AllocaOp that is generated when lowering to FIR.
-
jyu2-git authored
Currently PresentModifierLocs defined with size DefaultmapKindNum; where DefaultmapKindNum = OMPC_DEFAULTMAP_pointer + 1 Before 5.0 variable-category can not be omitted. For the test like \#pragma omp target map(tofrom: errors) defaultmap(present) error would be mitted. After 5.0 that is allowd. When try to: PresentModifierLocs[DMC->getDefaultmapKind()] = DMC->getDefaultmapModifierLoc(); It is accessed beyond array end. To fix this using OMPC_DEFAULTMAP_unknow instead OMPC_DEFAULTMAP_poiner.
-
- Nov 29, 2023
-
-
Johannes Doerfert authored
For historic reasons we had it setup that there was ` plugin-nextgen/common/PluginInterface/<sources + headers>` which is not what we do anywhere else. Now it looks like the rest: ``` plugin-nextgen/common/include/<headers> plugin-nextgen/common/src/<sources> ``` As part of this, `dlwrap.h` was moved into common/include (as `DLWrap.h`) since it is exclusively used by the plugins.
-
Nikita Popov authored
-
Johannes Doerfert authored
-
Tom Stellard authored
This should not be needed now that the project uses PRs, plus the OpenSSF Scorecard report flagged this as insecure.
-
Benji Smith authored
This flag was added in #67982, but was not yet accessible via the C API. This commit adds a getter/setter for this flag, and a test for it.
-
Michael Platings authored
Picolibc is a C Standard Library that is commonly used in embedded environments. This patch adds initial support for this configuration along with pre-commit CI. As of this patch, the test suite only builds the tests and nothing is run. A follow-up patch will make the test suite actually run the tests. Differential Revision: https://reviews.llvm.org/D154246
-
Guillaume Chatelet authored
-
Fangrui Song authored
[ELF,LTO] Test calloc defined in a lazy bitcode file for (malloc+memset => calloc) libcall optimization Similar to https://reviews.llvm.org/D50017: malloc+memset references can be combined to a calloc reference, which is not explicit in the referencer's IR symbol table. If calloc is defined in a lazy bitcode file, we should extract the archive member to satisfy possible references from LTO generated object files; otherwise (current status, which will be fixed by #72673), `calloc` as a LazyObject symbol will be resolved by compileBitcodeFiles generated Undefined, leading to an incorrectly-extracted Defined symbol without section, which will lower to an SHN_ABS symbol at address 0.
-
sstwcw authored
If a line contains a comment outside of (fake) parentheses, the part following it is indented according to `CurrentState.Indent`. A Verilog case label and the statement that follows are broken with mustBreakBefore. So the part that follows the case label needs some special handling. Previously, that variable was left out. So the indentation was wrong when there was a comment. old: ```Verilog case (data) 16'd0: result = // 10'b0111111111; endcase case (data) 16'd0: // // result = // 10'b0111111111; endcase ``` new: ```Verilog case (data) 16'd0: result = // 10'b0111111111; endcase case (data) 16'd0: // // result = // 10'b0111111111; endcase ``` -
sstwcw authored
The Verilog implication operator `->` is a binary operator meaning either the left hand side is false or the right hand side is true. Previously it was treated as the C++ struct member operator. I didn't even know it existed when I added the operator formatting part. And I didn't check all the tests for all the operators I added. That is how the bad test got in.
-
Joseph Huber authored
Summary: For reasons unknown to me, this function is undefined only on the GPU build if you use `uintptr_t` but not `uint64_t` directly. This patch makes an ifdef to use this directly for the GPU build to fix the bots.
-
Simon Pilgrim authored
-
Simon Pilgrim authored
These tests are for fneg canonicalization combines, not codegen coverage tests like most of the other vec_* test files.
-
Alex Bradbury authored
Currently AArch64 handles a FrameIndex operand in this function, but we fail to.
-
LLVM GN Syncbot authored
-
Dinar Temirbulatov authored
Thing change add builtins for SME2: sclamp.single.x2 uclamp.single.x2 fclamp.single.x2 sclamp.single.x4 uclamp.single.x4 fclamp.single.x4 Patch by: Hassnaa Hamdi <hassnaa.hamdi@arm.com>
-