forked from llvm/llvm-project
-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[AutoBump] Merge with 8280651a (Sep 17) (5) #419
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…m#108313) This gets us the full list of users with commit access to llvm/llvm-project rather than the list of people in the llvm-committers team. This will ensure we are able everyone to track everyone with commit access in case they receive access some other way.
Introducing a new HLSL resource type attribute `[[contained_type(T)]]` which describes the "contained type" of a buffer or resource type. Specifically, the attribute will be used on the resource handle in templated buffer types like so: template <typename T> struct RWBuffer { __hlsl_resource_t [[hlsl::contained_type(T)]] [[hlsl::resource_class(UAV)]] h; }; Fixes llvm#104855
…08867) It is a violation of the standard to use 0 length arrays, especially when not at the end of a structure (not a FAM GNU extension). Compiler generally accept it, but it's probably better to have a conforming implementation. This is a re-application of llvm#105865 which was reverted in 72cfc74 because it broke the data formatters. A LLDB patch has since been landed that should make this a non-issue. Co-authored-by: serge-sans-paille <sguelton@mozilla.com>
…#107507)" This reverts commit e5271fe. Reason: buildbot breakage: https://lab.llvm.org/buildbot/#/builders/139/builds/3806
Emit a warning when an impure function is referenced from a DO CONCURRENT or FORALL concurrent-header that is not nested within another such construct. (That nested case is already an error.)
…8616) When a function result type appears on a FUNCTION statement after some CUDA attributes, there wasn't always valid program source location information attached to the function result variable information stack. Ensure that some relevant source information is always available.
The standards aren't clear about how IEEE-754 subnormal values interact with the intrinsic function SPACING. Four compilers interpret the standard such that SPACING(x) will return a value never less than TINY(x); one compiler returns TINY(x) for ABS(x) <= TINY(x) but can return SPACING(x) < TINY(x) for some ABS(x) > TINY(x); one other compiler works similarly, but also oddly returns SPACING(x) < TINY(x) for ABS(x) >= TINY(x)/2. Follow the most common precedent.
Add support for the `readMemory` request which allows VS-Code to inspect memory. Also, add `memoryReference` to variables and `evaluate` responses, such that the binary view can be opened from the variables view and from the "watch" pane.
…#108883) Reland llvm#108685 Arguments order was wrong on Windows and Darwin.
This corresponds to an upcoming change which will fully explain why this is a machine-sink issue.
…)" (llvm#108885) In llvm#108724 `#ifdef` was used instead of `#if`. This reverts commit 68e4518.
…object files (llvm#108608) On ARM64EC, __imp_ symbols reference the auxiliary IAT, while __imp_aux_ symbols reference the regular IAT. However, x86_64 code expects both to reference the regular IAT. This change adjusts the symbols accordingly, matching the behavior observed in the MSVC linker.
Added a progress tracker to Minidump file builders memory saving
For defined functions, it appears `.functype` directive should be after the function label. Otherwise binary generation does not seem to work correctly. Also this fixes a case that the `.functype` directive's name is incorrect.
As captured in issue llvm#108044, HLSL 202x is the target language mode for conformance for Clang. Earlier language modes will be a best effort and prioritized after 2020x. To make this easier and reduce our testing complexity we want to make 202x the default language mode now, and align all earlier modes to match 202x (except where we explicitly deviate). This change has the following concrete changes: * All older language modes gain `CPlusPlus11` as a base * The default language mode for HLSL sources is changed to 202x * A few test cases are updated to resolve differences in generated diagnostics. Second to last change for llvm#108044
This reverts commit 5e6a198. I was was plannig to remove s32 as a legal type on RV64, but I'm rethinking that.
This reverts commit 2599d69. I was was plannig to remove s32 as a legal type on RV64, but I'm rethinking that.
And migrate LinkerDriver member functions to use `ctx.arg.x` instead of `config->x`.
This commit implements support for the "declaration location" recently added by microsoft/debug-adapter-protocol#494 to the debug adapter protocol. For the `declarationLocationReference` we need a variable ID similar to the `variablesReference`. I decided to simply reuse the `variablesReference` here and renamed `Variables::expandable_variables` and friends accordingly. Given that almost all variables have a declaration location, we now assign those variable ids to all variables. While `declarationLocationReference` effectively supersedes `$__lldb_extensions.declaration`, I did not remove this extension, yet, since I assume that there are some closed-source extensions which rely on it. I tested this against VS-Code Insiders. However, VS-Code Insiders currently only supports `valueLoctionReference` and not `declarationLocationReference`, yet. Locally, I hence published the declaration locations as value locations, and VS Code Insiders navigated to the expected places. Looking forward to proper VS Code support for `declarationLocationReference`.
… Warning Libc functions (llvm#101583)" StringLiteral::getString() is not applicable to strings of wide characters. Added handling for that. (rdar://117182250)
The commit introduces support for fundamental DI instruction. Metadata handlers required for this instruction is stored inside debug records (https://llvm.org/docs/SourceLevelDebugging.html) parts of the module which rises the necessity of it's traversal.
The diff command on AIX doesn't support the --strip-trailing-cr flag. The internal python implementation does, so execute the tests in the update-verify-tests test suite using the internal shell for compatibility.
…leRT() in AsanCheckIncompatibleRT() (llvm#107991)
…ow memory range (llvm#107833) I grep the code and find that `Abort()` is only called in `Die()` when the flag `abort_on_error` is set. Thus, if reserving shadow memory range fails, `Die()` rather than `Abort()` should be called. In this case, the flag `abort_on_error` will be respected and the die callbacks will be called.
This PR introduces new HLSL resource type attribute `[[hlsl::raw_buffer]]`. Presence of this attribute on a resource handle means that the resource does not require typed element access. The attribute will be used on resource handles that represent buffers like `StructuredBuffer` or `ByteAddressBuffer` and in DXIL it will be translated to target extension type `dx.RawBuffer`. Fixes llvm#107907
This adds support for disassembler for the new `try_table` instruction. This adds tests for `throw` and `throw_ref` as well. Currently tag expressions are not supported for `throw` or `try_table` instruction when instructions are parsed from the disassembler. Not sure whether there is a way to support it. (This is not a new thing for the new EH proposal; it has not been supported for the legacy EH as well.)
The space parameter in the register binding annotation may not be used for global constants. There was previously no diagnostic emitted when this case occurred. This PR adds a diagnostic when this case occurs, and tests these cases. A new file was made to specifically test the space parameter, so some cases in `\clang\test\SemaHLSL\resource_binding_attr_error.hlsl` were moved over to this new file. Fixes llvm#104521
This adds support for annotations (`down to labelN`) for `try_table`.
This adds support for binary generation for the new EH proposal. So far the only case that we emitted variable immediate operands in binary has been `br_table`'s destinations. (Other `variable_ops` uses in TableGen files are register operands, such as the operands of `call`, so they don't get emitted in binary as a part of the same instruction.) With this PR, variable immediate operands can include `try_table`'s operands: - The number of of catch clauses - catch clauses sub-opcodes - `catch`: 0x00 - `catch_ref`: 0x01 - `catch_all`: 0x02 - `catch_all_ref`: 0x03 - catch clauses' destinations With `try_table`, we now have variable expr operands for `try_table`'s catch clauses' tags. We treat their fixups in the same way we do for tags in other instructions such as in `throw`. Diff without whitespace will be easier to view.
Adds dialect types to the tblgen-to-irdl script and also allows operations to refer to types by symbol, when possible, and updates tests to do this. The name of the type is exported with an exclamation mark to avoid name clashes.
This is primarily to unblock Rust, which could potentially use ImportListsTy::operator[] on a module that's not in ListsImpl and cause concurrency problems. This patch fixes a regression in the sense that it restores ImportListsTy::lookup, which was available when ImportListsTy was just a plain DenseMap.
This patch implements sandboxir::BasicBlock::iterator::getNodeParent() which returns the parent basic block of an iterator.
… vector (llvm#108872) In some cases, if an undef value is the product of another instcombine simplification, a bitcast of undef is simplified to a zeroinitializer vector instead of undef.
A region identifies a set of vector instructions generated by vectorization passes. The vectorizer can then run a series of RegionPasses on the region, evaluate the cost, and commit/reject the transforms on a region-by-region basis, instead of an entire basic block. This is heavily based ov @vporpo's prototype. In particular, the doc comment for the Region class is all his. The rest of this commit is mostly boilerplate around a SetVector: getters, iterators, and some debug helpers.
Reverts llvm#108899 It broke the llvm-clang-x86_64-win-fast buildbot.
llvm#109023)" This reverts commit f4fe26d. Reason: 4a63f4d reverted "[HLSL] set alwaysinline on HLSL functions (llvm#106588)" due to a buildbot failure; this test (which builds upon the reverted patch) also needs to be reverted.
…ne (llvm#109023)" This reverts commit da03d17. I mistakenly reverted this fix-forward.
This reverts commit 4a63f4d. It was reverted because of a buildbot breakage, but the fix-forward has landed (llvm#109023).
…moteHalfOp_FP_TO_XINT. NFC Return SDValue() so we can notify the caller we did all replacements. Restore the getNumValues() == 1 check in the assert in the caller now that all handles only return nodes with a single result.
…0 for modernize-avoid-c-arrays (llvm#108555) The incompleted C-Array in parameter does not own memory. Instead, It is equivalent to pointer. So we should not use `std::array` as recommended modern C++ replacement, but use `std::vector` and `std::span` in C++20
This patch adds the basic API for the Legality component of the vectorizer. It also adds some very basic code in the bottom-up vectorizer that uses the API.
…able (llvm#107892) On the GitHub Action runners, perf always fails with the error below , so we need to skip the perf tests on platforms like this that have limited access to the perf counters. ``` Access to performance monitoring and observability operations is limited. Consider adjusting /proc/sys/kernel/perf_event_paranoid setting to open access to performance monitoring and observability operations for processes without CAP_PERFMON, CAP_SYS_PTRACE or CAP_SYS_ADMIN Linux capability. More information can be found at 'Perf events and tool security' document: https://www.kernel.org/doc/html/latest/admin-guide/perf-security.html perf_event_paranoid setting is 4: -1: Allow use of (almost) all events by all users Ignore mlock limit after perf_event_mlock_kb without CAP_IPC_LOCK >= 0: Disallow raw and ftrace function tracepoint access >= 1: Disallow CPU event access >= 2: Disallow kernel profiling To make the adjusted perf_event_paranoid setting permanent preserve it in /etc/sysctl.conf (e.g. kernel.perf_event_paranoid = <setting>) ```
The assertion that all out-edges of a BB can't be 0 is incorrect: they can be, if that branch is on a cold subgraph. Added validators and asserts about the expected proprerties of the propagated counters.
The check is too strict. It works for 2.38 I have, but not for older glibc which used different allocation code. The check was introduced with llvm#108345.
… property access (llvm#108669) Treat a function call or property access via a Objective-C++ selector which returns a Ref/RefPtr as safe.
… linkage as implicitly inline Close llvm#108732 This looks liek an oversight mostly.
Generate function attribute hlsl.wavesize from [WaveSize]. For llvm#70118
…lvm#106178) Properly demangle `_T` and `_P` return type manglings for MSVC 1920+. Also added a unit test for `@` return type that is used when mangling non-template auto placeholder return type function. Tested the output against the undname shipped with MSVC 19.40.
mgehre-amd
approved these changes
Dec 12, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.