- Oct 13, 2022
-
-
Xiang Li authored
cbuffer A { float a; float b; } will be translated to a global variable. Something like struct CB_Ty { float a; float b; }; CB_Ty A; And all use of a and b will be replaced with A.a and A.b. Only support none-legacy cbuffer layout now. CodeGen for Resource binding will be in separate patch. In the separate patch, resource binding will map the resource information to the global variable. Reviewed By: efriedma Differential Revision: https://reviews.llvm.org/D130131 -
Kai Luo authored
Fixed error ``` Command Output (stderr): -- fatal error: error in backend: Objective-C support is unimplemented for object file format ``` Source code in `clang/lib/CodeGen/CGObjCMac.cpp:5080` ``` case llvm::Triple::Wasm: case llvm::Triple::GOFF: case llvm::Triple::SPIRV: case llvm::Triple::XCOFF: case llvm::Triple::DXContainer: llvm::report_fatal_error( "Objective-C support is unimplemented for object file format"); } ``` Reviewed By: hubert.reinterpretcast Differential Revision: https://reviews.llvm.org/D135848 -
Jordan Rupprecht authored
The functionality is fine (we don't run the breakpoint command twice), but this test forgot to call `FileCheck` and isn't checking the same value isn't there twice..
-
Yaxun (Sam) Liu authored
HIP is installed at /usr or /usr/local on Debin/Fedora, and the version file is at {root}/share/hip/version. Reviewed by: Artem Belevich Differential Revision: https://reviews.llvm.org/D135796 -
Mehdi Amini authored
-
Mehdi Amini authored
-
Kazu Hirata authored
-
Jan Svoboda authored
The `-ivfsoverlay` flag was only being respected when the scanner was instructed to minimize the inputs. This patch respects that flag even in canonical preprocessing mode. Depends on D135414. Reviewed By: Bigcheese Differential Revision: https://reviews.llvm.org/D135416
-
Jan Svoboda authored
The dependency scanning worker may create an in-memory VFS and inject that into its `FileManager`. (Implemented in D109485.) This VFS currently persists between scans, which is not correct: in-memory files created in one scan could affect subsequent scans. This patch changes things so that the in-memory VFS is local to `DependencyScanningWorker::computeDependencies()`. To test this, one would first scan for dependencies of a named module and then run second scan (on the same worker) for something unrelated, which would pick up the in-memory file created in the first scan. This set up is impossible to achieve with `clang-scan-deps`. We could set this up in `ToolingTests`, but the scanner needs to access the physical filesystem to store `.pcm` files. AFAIK we don't have a good way to propagate something like `%t` into unit tests to make that feasible. (This could be achieved with something like the virtualized `OutputManager`.) Reviewed By: Bigcheese Differential Revision: https://reviews.llvm.org/D135414
-
Rafael Auler authored
This adds a round of checks to memory references, looking for incorrect references to jump table objects. Fix them by replacing the jump table reference with another object reference + offset. This solves bugs related to regular data references in code accidentally being bound to a jump table, and this reference being updated to a new (incorrect) location because we moved this jump table. Fixes #55004 Reviewed By: #bolt, maksfb Differential Revision: https://reviews.llvm.org/D134098
-
Rafael Auler authored
Put code that creates references to symbol+addend behind MCPlusBuilder. Will use this later in validate memory references pass. Reviewed By: #bolt, maksfb, yota9 Differential Revision: https://reviews.llvm.org/D134097
-
Matthias Springer authored
This change allows analyzing ops from different block, in particular when used in programs that have `cf` branches. Differential Revision: https://reviews.llvm.org/D135644
-
Jeff Niu authored
By matching `arith.constant` specifically, SCF canonicalizers/folders are incompatible with other kinds of constants. Use the generic matchers instead. Reviewed By: rriddle Differential Revision: https://reviews.llvm.org/D135517
-
Matt Arsenault authored
When reducing llvm-reduce with llvm-reduce, it can be confusing to figure out what lines are printed by the child or parent. Not sure this is the most reliable way to set and restore this.
-
Jeff Niu authored
This patch makes ODS insert an assert when calling static `get*AttrName` methods with a `OperationName` that the name is the same as the op's. This prevents accidentally passing the wrong kind of name and getting an erroneous attribute name. Reviewed By: rriddle Differential Revision: https://reviews.llvm.org/D135698
-
Jeff Niu authored
Attributes and types only (so far). Since `struct` and `params` are allowed, it makes sense to allow custom directives as long as their arguments contain at least one bound argument. Reviewed By: rriddle Differential Revision: https://reviews.llvm.org/D135001
-
LLVM GN Syncbot authored
-
Matt Arsenault authored
Try some dumb strength reductions to "simpler" opcodes. Make some opcode substitutions I typically try to get smaller MIR out of codegen. This is a bit target specific and I have a lot of increasingly target specific modifications I try during manual reduction.
-
Sanjoy Das authored
These operations have undefined behavior if the index is not less than the rank of the source tensor / memref, so they cannot be freely speculated like they were before this patch. After this patch we speculate them only if we can prove that they don't have UB. Depends on D135505. Reviewed By: mravishankar Differential Revision: https://reviews.llvm.org/D135748
-
Henrique Bucher authored
Summary: This documentation patch adds information to allow remote users to also use the plugin as it will be invisible to them using the current instructions. It solves issue #58252. This documentation patch adds information to allow remote users to also use the plugin as it will be invisible to them using the current instructions. It solves issue #58252. Reviewed By: JDevlieghere Differential Revision: https://reviews.llvm.org/D135577
-
Matt Arsenault authored
Fixes issue 58331.
-
Matt Arsenault authored
If inline asm has a VGPR def, it must have come from a VGPR write somewhere inside the asm. This should be further extended to all read after write hazards.
-
Matt Arsenault authored
In a testcase I'm working on, the old write out and count IR lines was taking about 200-300ms per iteration. This drops it out of the profile. This doesn't account for everything, but it doesn't seem to matter. We should probably try to account for metadata and constantexpr tree depths.
-
Matt Arsenault authored
Verify all the requested passes exist before trying to run any. For long reductions, it was really annoying for it to get halfway through and then I come back later to an incomplete reduction. Also add a new skip-delta-passes flag. Most of the time I want to opt out of specific reductions, rather than run a select few.
-
Jonathon Penix authored
To accomplish this, this patch creates an optional list of environment variable default values to be set by the runtime to allow directly using the existing runtime implementation of FORT_CONVERT for I/O conversions.
-
Vitaly Buka authored
I see 2 reports time to time.
-
Wiktor Garbacz authored
As shown in https://github.com/llvm/llvm-project/issues/42932 dead pointers might be overlapped by a new stack frame inside CheckForLeaks, which does not use bytes with pointers. This leads to false negatives. It's not a full solution for the problem as it does not solve "overlapping" new/old frames for frames below the CheckForLeaks and in other threads. It should improve leaks found in direct callers of __lsan_do_leak_check. Differential Revision: https://reviews.llvm.org/D130237
-
Alex Lorenz authored
[clang][test] NFC, check in darwin-ld-platform-version-macos-requires-darwin.c should be more permissive some Darwin CI uses older SDK that reports different SDK version here https://green.lab.llvm.org/green/job/clang-stage1-RA/
-
Florian Mayer authored
-
Steven Wu authored
Take the library target out of `generate_protos` function so the caller can decide where to layer the library using the source generated from the function. Fixes: https://github.com/llvm/llvm-project/issues/58075 Reviewed By: sammccall Differential Revision: https://reviews.llvm.org/D135712
-
Katherine Rasmussen authored
Write a semantics test for the atomic intrinsic subroutine, atomic_cas. Reviewed By: rouson Differential Revision: https://reviews.llvm.org/D135412
-
Krzysztof Parzyszek authored
V6_vzb and V6_vshuffeb can use any 2 resources in a packet, while V6_vunpackub/V6_vpackeb both need a shift resource. Also, add patterns for shifting vectors of i8.
-
Kazu Hirata authored
This patch fixes: mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp:587:27: error: comparison of integers of different signs: 'int64_t' (aka 'long') and 'uint64_t' (aka 'unsigned long') [-Werror,-Wsign-compare]
-
Michael Jones authored
These options will allow the SCUDO standalone to be built with custom headers. Specifically, this patch will enable building with the LLVM-libc headers. Reviewed By: abrachet Differential Revision: https://reviews.llvm.org/D135702
-
bixia1 authored
[mlir][sparse] Replace pass-by-value with pass-by-memref for C interface routines to fix Windows build. Reviewed By: aartbik, wrengr Differential Revision: https://reviews.llvm.org/D135811
-
Florian Mayer authored
Before this, we would incorrectly coalesce CIE for frames with and without stack MTE. Reviewed By: eugenis Differential Revision: https://reviews.llvm.org/D135639
-
Florian Mayer authored
Reviewed By: eugenis Differential Revision: https://reviews.llvm.org/D135638
-
Louis Dionne authored
-
River Riddle authored
We only ever generate documentation for one dialect, so there isn't a good reason to collect every possible dialect entity. Differential Revision: https://reviews.llvm.org/D135812
-
Chris Bieneman authored
We had a bunch of places in the code where we were translating triple environment enum cases to shader stage enum cases. The order of these enums needs to be kept in sync for the translation to be simple, but we were not properly handling out-of-bounds cases. In normal compilation out-of-bounds cases shouldn't be possible because the driver errors if you don't have a valid shader environment set, but in clang tooling that error doesn't get treated as fatal and parsing continues. This can result in crashes in clang tooling for out-of-range shader stages. To address this, this patch adds a constexpr method to handle the conversion which handles out-of-range values by converting them to `Invalid`. Since this new method is a constexpr, the tests for this are a group of static_asserts in the implementation file that verifies the correct conversion for each valid enum case and validates that other cases are converted to `Invalid`. Reviewed By: bogner Differential Revision: https://reviews.llvm.org/D135595
-