- Apr 14, 2023
-
-
Alexey Bataev authored
-
Valentin Clement authored
Trigger the not yet implemented message for block constructs that are not lowered. Reviewed By: PeteSteinfeld, razvanlupusoru Differential Revision: https://reviews.llvm.org/D148253
-
Ziqing Luo authored
Add -triple=arm-apple to the test `SemaCXX/warn-unsafe-buffer-usage-fixits-pre-increment.cpp`
-
Fangrui Song authored
This reverts commit bc95f273, originally db987b95. clang/test/Modules/pr61065.cppm is retained to make relands show less diff. There are other module-related issues that were not caught, related to false positive errors like "error: no matching constructor for initialization of 'union (anonymous union at ..." Reopen #61065
-
Ellis Hoag authored
The warnings were introduced in https://reviews.llvm.org/D148150 Reviewed By: snehasish Differential Revision: https://reviews.llvm.org/D148259
-
Blue Gaston authored
This test tests uses undefined behavior and is proving to be very flakey. I am disabling for now. Radar to add a new test: rdar://108003900 rdar://107846128
-
Balaji V. Iyer authored
Round functions are pushed directly to libm. This is problematic for situations where libm is not available. This patch will decompose the roundf function by adding 0.5 to positive number to input (subtracting for negative) following by a truncate. Reviewed By: rsuderman Differential Revision: https://reviews.llvm.org/D148026
-
Simon Pilgrim authored
[CostModel][X86] Add latency/code-size/size-latency test coverage for integer add/sub saturation intrinsics
-
Florian Hahn authored
The check incorrectly checks the RHS while LHS is transformed later. Update to check LHS, which fixes a crash in the newly added test cases.
-
Vitaly Buka authored
-
Fangrui Song authored
-
Craig Topper authored
This implements support for relaxing these relocations to use the GP register to compute addresses of globals in the .sdata and .sbss sections. This feature is off by default and must be enabled by passing --relax-gp to the linker. The GP register might not always be the "global pointer". It can be used for other purposes. See discussion here https://github.com/riscv-non-isa/riscv-elf-psabi-doc/pull/371 Reviewed By: MaskRay Differential Revision: https://reviews.llvm.org/D143673
-
Simon Pilgrim authored
-
Ellis Hoag authored
As discussed in [0], add a `weight` field to temporal profiling traces found in profiles. This allows users to use the `--weighted-input=` flag in the `llvm-profdata merge` command to weight traces from different scenarios differently. Note that this is a breaking change, but since [1] landed very recently and there is no way to "use" this trace data, there should be no users of this feature. We believe it is acceptable to land this change without bumping the profile format version. [0] https://reviews.llvm.org/D147812#4259507 [1] https://reviews.llvm.org/D147287 Reviewed By: snehasish Differential Revision: https://reviews.llvm.org/D148150
-
Sam Clegg authored
Differential Revision: https://reviews.llvm.org/D148190
-
Valentin Clement authored
The acc.serial operation models the OpenACC serial construct. The serial construct defines a region of a program that is to be executed sequentially on the current device. The operation is modelled on the acc.parallel operation and will receive similar updates when the data operands operations will be implemented. Reviewed By: PeteSteinfeld Differential Revision: https://reviews.llvm.org/D148250
-
Fangrui Song authored
Reviewed By: thurston Differential Revision: https://reviews.llvm.org/D148195
-
Alexey Bataev authored
Introduced BoUpSLP::ShuffleCostEstimator::gather function as an initial implementation of the gather/buildvector cost estimation for buildvector nodes. It will allow to use general codegen infrastructure for better cost estimation + it improves the cost estimation for the gathers/buildvectors. Improved part of D110978. Differential Revision: https://reviews.llvm.org/D148174
-
Valentin Clement authored
Remove the custoom parser and printer for the acc.parallel operation and use the assembly format directly. Reviewed By: PeteSteinfeld, razvanlupusoru Differential Revision: https://reviews.llvm.org/D148183
-
Simon Pilgrim authored
Using the latest version of the script from D103695 to compare costmodel vs llvm-mca statistics. Avoids using the default costs, which was assuming libm calls.
-
ruturaj4 authored
enums and structs declared inside typedefs have incorrect declaration fragments, where the typedef keyword and other syntax is missing. For the following struct: typedef struct Test { int hello; } Test; The produced declaration is: "declarationFragments": [ { "kind": "keyword", "spelling": "struct" }, { "kind": "text", "spelling": " " }, { "kind": "identifier", "spelling": "Test" } ], instead the declaration fragments should represent the following typedef struct Test { … } Test; This patch removes the condition in SymbolGraphSerializer.cpp file and completes declaration fragments Reviewed By: dang Differential Revision: https://reviews.llvm.org/D146385 -
Ivan Butygin authored
Create empty block without the terminator in this case. Differential Revision: https://reviews.llvm.org/D148137
-
Peter Klausler authored
When flushing output to a non-positionable tty or socket file, reset the left tab limit. Otherwise, non-advancing output to that file will contain an increasing amount of leading spaces in each flush. Also, detect newline characters in stream output, and treat them as record advancement. Differential Revision: https://reviews.llvm.org/D148157
-
Nick Desaulniers authored
https://reviews.llvm.org/rGd656ae28095726830f9beb8dbd4d69f5144ef821 introduced a additional checks before calling noreturn functions in response to this security paper related to Catch Handler Oriented Programming (CHOP): https://download.vusec.net/papers/chop_ndss23.pdf See also: https://bugs.chromium.org/p/llvm/issues/detail?id=30 This causes stack canaries to be inserted in C code which was unexpected; we noticed certain Linux kernel trees stopped booting after this (in functions trying to initialize the stack canary itself). https://github.com/ClangBuiltLinux/linux/issues/1815 There is no point checking the stack canary like this when exceptions are disabled (-fno-exceptions or function is marked noexcept) or for C code. The GCC patch for this issue does something similar: https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=a25982ada523689c8745d7fb4b1b93c8f5dab2e7 Android measured a 2% regression in RSS as a result of d656ae28 and undid it globally: https://android-review.googlesource.com/c/platform/build/soong/+/2524336 Reviewed By: xiangzhangllvm Differential Revision: https://reviews.llvm.org/D147975
-
Simon Pilgrim authored
And improve test coverage for the existing size-latency tests to match
-
Antoine Moynault authored
Several bots are failing on 32-bit since https://reviews.llvm.org/D145761 was merged https://lab.llvm.org/buildbot/#/builders/178/builds/4384 It seems due to the use of uintptr_t (32bit here) for storing 64 bit values. Issue is fixed by replacing to uint64_t (as suggested by DavidSpickett). Reviewed By: jhenderson Differential Revision: https://reviews.llvm.org/D148208
-
Arthur Eubanks authored
This reverts commit fffdb7ea. Causes crashes, see https://reviews.llvm.org/D145208
-
Balaji V. Iyer authored
Exp2 functions are pushed directly to libm. This is problematic for situations where libm is not available. This patch will expand the exp2 function to use exp2 with the input multiplied by ln2 (natural log). Reviewed By: rsuderman Differential Revision: https://reviews.llvm.org/D148064
-
Matt Arsenault authored
For some reason this was missing the "Assertions have been autogenerated" comment so were getting spurious diffs in a future change.
-
Simon Pilgrim authored
By default these will expand back to cmp/sel, but some targets (X86) has optimized costs for scalar integer min/max patterns which are lower than the default expansion (pre-SSE41 is particularly weak for vector min/max support). Differential Revision: [SLP] Compute min/max scalar reduction costs using min/max intrinsics instead of expanded cmp+sel
-
- Apr 13, 2023
-
-
Jay Foad authored
With architected SGPRs, workgroup IDs are passed into a compute shader in TTMP registers. Allow for this in AMDGPUResourceUsageAnalysis instead of failing an assertion. Differential Revision: https://reviews.llvm.org/D148239
-
Jay Foad authored
-
Lawrence Benson authored
Adds a DAG combine checks for vector comparisons followed by a bitcast to a scalar value. Previously, this resulted in an expand. Now, this is done with a constant number of instructions that take one bit per vector value (via an AND mask) and perfom a horizontal add to get a single value. This is especially useful for Clang's __builtin_convertvector() to a bool vector. Issue: https://github.com/llvm/llvm-project/issues/59829 Differential Revision: https://reviews.llvm.org/D145301
-
Simon Pilgrim authored
Based off D148215, when expanding a min/max reduction we should be creating min/max intrinsics directly instead of relying on instcombine to fold them back together. This patch handles integer min/max cases. Hopefully we can add floating point support soon (at least for fastmath/nnan cases) - but we're missing some of the plumbing to pass the correct FMF to the intrinsic at the moment. Differential Revision: https://reviews.llvm.org/D148221
-
Caroline Tice authored
This test previously relied on just segfaulting or not. This commit adds a CHECK statement to the test. Differential Revision: https://reviews.llvm.org/D148151
-
Chris Jones authored
`str` must be valid UTF-8, which is not guaranteed for C++ strings. Reviewed By: ftynse Differential Revision: https://reviews.llvm.org/D147818
-
Nicole Rabjohn authored
These test cases were fixed with AIX 73TL1, and are currently passing on AIX machines with that fix. This fix has also been backported to the 7.2 service line. These were tested on a machine with AIX 7.2 TL 5 SP4 installed. Differential Revision: https://reviews.llvm.org/D148040
-
Zequan Wu authored
Fix a crash when an expression/statement can have valid start location but invalid end location in some situations. For example: https://github.com/llvm/llvm-project/blob/llvmorg-16.0.1/clang/lib/Sema/SemaExprCXX.cpp#L1536 This confuses `CounterCoverageMappingBuilder` when popping a region from region stack as if the end location is a macro or include location. Reviewed By: hans, aaron.ballman Differential Revision: https://reviews.llvm.org/D147073
-
Utkarsh Saxena authored
Using FileEntry for retrieving filenames give the name used for the last access. FileEntryRef gives the first access name. Last access name is suspected to change with unrelated changes in clang or the underlying filesystem. First access name gives more stability to the name and makes it easier to track. Differential Revision: https://reviews.llvm.org/D148213
-
Vlad Serebrennikov authored
We've been using https://wg21.link for C++ DR status page, but it forwards non-resolved issues to EDG wiki, which is not useful for general public. This patch replace it with https://cplusplus.github.io/CWG/issues/ .
-