forked from llvm/llvm-project
-
Notifications
You must be signed in to change notification settings - Fork 0
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
Add release note about ABI #6
Open
mgabka
wants to merge
26
commits into
release/19.x
Choose a base branch
from
Add-release-note-about-ABI
base: release/19.x
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
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
…ux-specific fcd6bd5 broke the Solaris/sparcv9 buildbot: ``` compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp:39:14: fatal error: 'asm/unistd.h' file not found 39 | # include <asm/unistd.h> | ^~~~~~~~~~~~~~ ``` That section should have been Linux-specific in the first place, which is what this patch does. Tested on sparcv9-sun-solaris2.11. (cherry picked from commit 16e9bb9)
…atalyst (llvm#104872) Mac Catalyst is the iOS platform, but it builds against the macOS SDK and so it needs to be checking the macOS SDK version instead of the iOS one. Add tests against a greater-than SDK version just to make sure this works beyond the initially supporting SDKs. (cherry picked from commit b986438)
…vm#104692) Inline asm operands could contain any kind of relocation, so remove the checks. Fixes llvm#103493 (cherry picked from commit 576b7a7)
The BPF packet load intrinsics lost attribute WillReturn due to 0b20c30. The attribute loss causes excessive bitshifting, resulting in previously working programs failing the BPF verifier due to instruction/complexity limits. cherry picked only the BPF changes from 99a10f1 Signed-off-by: Bryce Kahle <[email protected]>
…lvm#104395) Prevent operand folding from inlining constants into pseudo scalar transcendental f16 instructions. However still allow literal constants. (cherry picked from commit fc6300a)
…ZE (llvm#104924) In visitFREEZE we have been collecting a set/vector of MaybePoisonOperands that later was iterated over, applying a freeze to those operands. However, C-level fuzzy testing has discovered that the recursiveness of ReplaceAllUsesOfValueWith may cause later operands in the MaybePoisonOperands vector to be replaced when replacing an earlier operand. That would then turn up as Assertion `N1.getOpcode() != ISD::DELETED_NODE && "Operand is DELETED_NODE!"' failed. failures when trying to freeze those later operands. So we need to make sure that the vector with MaybePoisonOperands is mutated as well when needed. Or as the solution used in this patch, make sure to keep track of operand numbers that should be frozen instead of having a vector of SDValues. And then we can refetch the operands while iterating over operand numbers. The problem was seen after adding SELECT_CC to the set of operations including in "AllowMultipleMaybePoisonOperands". I'm not sure, but I guess that this could happen for other operations as well for which we allow multiple maybe poison operands. (cherry picked from commit 278fc8e)
Avoids implicit sint_to_fp which wasn't occurring on strict fp codegen Fixes llvm#104848 (cherry picked from commit 6dcce42)
Also, don't insert a space after ::* for method pointers. See llvm#86253 (comment). Fixes llvm#100841. (cherry picked from commit 714033a)
Fixes llvm#105785. (cherry picked from commit 85b6aac)
…(REAPPLIED) This doesn't match uops.info yet - but it matches the existing vpscatterdq/vscatterqpd entries like uops.info says it should Reapplied with codegen fix for scatter-schedule.ll Fixes llvm#105675 (cherry picked from commit cf6cd1f)
…d_Resume calls (llvm#105513) Similar to the fix for llvm#57469, ensure that the other `_Unwind_Resume` call emitted by DwarfEHPrepare has a debug location if needed. This fixes nbdd0121/unwinding#34. (cherry picked from commit e76db25)
) When including all targets, some files become too large for the NSIS installer to handle. Fixes llvm#101994 (cherry picked from commit 2a28df6)
This is a partial revert of c66e1d6. Even though that allowed us to declare v9.2-a support without picking up SVE2 in both the backend and the driver, the frontend itself still enabled SVE via the arch version's default extensions. Avoid that by reverting back to v8.7-a while we look into longer-term solutions. (cherry picked from commit e5e38dd)
…lvm#106310) The .git/config file contains an auth token that can be leaked if the .git directory is included in a workflow artifact. (cherry picked from commit ef50970)
Install scan-build-py modules into the plain `lib` directory, without LLVM_LIBDIR_SUFFIX appended, to match the path expected by `intercept-build` executable. This fixes the program being unable to find its modules. Using unsuffixed path makes sense here, since Python modules are not subject to multilib. This change effectively reverts 1334e12. The commit in question changed the path without a clear justification ("does not respect the given prefix") and the Python code was never modified to actually work with the change. Fixes llvm#106608 (cherry picked from commit 0c4cf79)
…window scheduler (llvm#99449) Added missing initialization failure information for window scheduler.
…heduler (llvm#99448) Added a new restriction for window scheduling. Window scheduling is disabled when llvm.loop.pipeline.initiationinterval is set.
…eduler (llvm#99451) Fixed a bug in stall cycle calculation. When a register defined by an instruction in the current iteration is used by an instruction in the next iteration, we have modified the number of stall cycle that need to be inserted.
…ns for window scheduler (llvm#99454) We discovered some scheduling failures occurring when zero-cost instructions were involved. This issue will be addressed by this patch.
…n window scheduling (llvm#101665) Address the issue of multiple resource reservations in window scheduling.
…105493) As discussed in https://discourse.llvm.org/t/rfc-make-istainted-and-complex-symbols-friends/79570/10 Some `isTainted()` queries can blow up the analysis times, and effectively halt the analysis under specific workloads. We don't really have the time now to do a caching re-implementation of `isTainted()`, so we need to workaround the case. The workaround with the smallest blast radius was to limit what symbols `isTainted()` does the query (by walking the SymExpr). So far, the threshold 10 worked for us, but this value can be overridden using the "max-tainted-symbol-complexity" config value. This new option is "deprecated" from the getgo, as I expect this issue to be fixed within the next few months and I don't want users to override this value anyways. If they do, this message will let them know that they are on their own, and the next release may break them (as we no longer recognize this option if we drop it). Mitigates llvm#89720 CPP-5414 (cherry picked from commit 8486589)
…lvm#104081) A crash was happening when both ObjC Category Merging and Relative method lists were enabled. ObjC Category Merging creates new data sections and adds them by calling `addInputSection`. `addInputSection` uses the symbols within the added section to determine which container to actually add the section to. The issue is that ObjC Category merging is calling `addInputSection` before actually adding the relevant symbols the the added section. This causes `addInputSection` to add the `InputSection` to the wrong container, eventually resulting in a crash. To fix this, we ensure that ObjC Category Merging calls `addInputSection` only after the symbols have been added to the `InputSection`. (cherry picked from commit 0df9189)
Fixes llvm#92246 Match the behaviour of `bitcast v2i64 (BUILD_PAIR %lo %hi)` when encountering `bitcast fp128 (BUILD_PAIR %lo $hi)`. by inserting a missing swap of the arguments based on endianness. ### Current behaviour: **fp128** bitcast fp128 (BUILD_PAIR %lo $hi) => BUILD_FP128 %lo %hi BUILD_FP128 %lo %hi => MTVSRDD %hi %lo **v2i64** bitcast v2i64 (BUILD_PAIR %lo %hi) => BUILD_VECTOR %hi %lo BUILD_VECTOR %hi %lo => MTVSRDD %lo %hi (cherry picked from commit 408d82d)
tru
force-pushed
the
Add-release-note-about-ABI
branch
from
September 1, 2024 08:05
7fd1b94
to
3f768dd
Compare
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.
std::hypot(x,y,z)
([libc++][math] Fix undue overflowing ofstd::hypot(x,y,z)
llvm/llvm-project#93350)ATOMIC_FLAG_INIT
correctly for C++. ([clang] DefineATOMIC_FLAG_INIT
correctly for C++. llvm/llvm-project#97534)OverloadCandidate
objects. ([Clang][NFC] Simplify initialization ofOverloadCandidate
objects. llvm/llvm-project#100318)-fptrauth-indirect-gotos
as part of pauthtest ABI ([PAC][clang] Enable-fptrauth-indirect-gotos
as part of pauthtest ABI llvm/llvm-project#100480)__is_layout_compatible
from revertible type traits list ([clang] Remove__is_layout_compatible
from revertible type traits list llvm/llvm-project#100572)*
in#define
s ([clang-format] Fix a bug in annotating*
in#define
s llvm/llvm-project#99433)"consumeLabel
in ScriptLexer llvm/llvm-project#99567<
in ternary expressions ([clang-format] Fix misannotations of<
in ternary expressions llvm/llvm-project#100980)atomic_ref
's required alignment for small types llvm/llvm-project#99654)#pragma mc_func
check by default ([AIX] Turn on#pragma mc_func
check by default llvm/llvm-project#101336)bitcast(<type>, <array>)
as array subscript ([analyzer] Fix crash on usingbitcast(<type>, <array>)
as array subscript llvm/llvm-project#101647)#pragma mc_func
check by default ([AIX] Turn on#pragma mc_func
check by default llvm/llvm-project#101336)"<cstdint>
in AMDGPUMCTargetDesc ([AMDGPU] Include<cstdint>
in AMDGPUMCTargetDesc llvm/llvm-project#101766)getBinaryOpcode
functions ([libclang] Fix symbol version ofgetBinaryOpcode
functions llvm/llvm-project#101820)<cstdint>
to SmallVector ([ADT] Add<cstdint>
to SmallVector llvm/llvm-project#101761)<cstdint>
to AddressableBits ([LLDB] Add<cstdint>
to AddressableBits llvm/llvm-project#102110)!tbaa.struct
--precompile
and-fmodule-*
options in Clang-CL ([clang][driver][clang-cl] Support--precompile
and-fmodule-*
options in Clang-CL llvm/llvm-project#98761)git clang-format -f
([clang-format] Fix a serious bug ingit clang-format -f
llvm/llvm-project#102629)std::hypot(x,y,z)
([libc++][math] Fix undue overflowing ofstd::hypot(x,y,z)
llvm/llvm-project#93350)"std::hypot(x,y,z)
([libc++][math] Fix undue overflowing ofstd::hypot(x,y,z)
llvm/llvm-project#100820)#pragma mc_func
check ([AIX] Revert#pragma mc_func
check llvm/llvm-project#102919)--cuda-path
to the nvlink wrapper ([Clang] Correctly forward--cuda-path
to the nvlink wrapper llvm/llvm-project#100170)TY_ModuleFile
should be a 'CXX' file type