- Feb 10, 2024
-
-
LLVM GN Syncbot authored
-
Alexander Shaposhnikov authored
Add a pass to convert jump tables to switches. The new pass replaces an indirect call with a switch + direct calls if all the functions in the jump table are smaller than the provided threshold. The pass is currently disabled by default and can be enabled by -enable-jump-table-to-switch. Test plan: ninja check-all
-
David Green authored
I was looking through to check whether Nan was being handled correctly, and couldn't work out why simple cases were behaving differently than they should. It turns out the initial limit values was backwards for minloc/maxloc reductions in general. This fixes that, introduced in #79469.
-
Haojian Wu authored
-
Craig Topper authored
I don't think the transient alignment needs to be larger than the ABI alignment.
-
Mikhail Gudim authored
We apply custom lowering to 64 bit constants where we use the same logic as in non-global isel: if materializing in registers is too expensive, we emit a load from constant pool. Later, during instruction selection, constant pool address is generated using `selectAddr`.
-
Tom Stellard authored
This makes it easier to run the tests in a containerized environment.
-
Owen Pan authored
-
Owen Pan authored
Drop the "Always" prefix to remove the self-contradiction.
-
lntue authored
-
Pete Steinfeld authored
… inside modules (#81087)" This reverts commit 0802596d. See comments in PR #81087 for a test case that shows why I'm reverting.
-
Derek Schuff authored
Make the type match the printf format.
-
Enna1 authored
…fatal error report This makes the behavior of HWASan matching with ASan: always call user provided callback function for an error report, but only call `SetAbortMessage()` on Android when `flags()->halt_on_error` is true.
-
Jon Roelofs authored
-
Fangrui Song authored
-
Felipe de Azevedo Piovezan authored
It claimed to dump all sections by default, but this hasn't been true since 2017: https://reviews.llvm.org/D37717
-
Jacek Caban authored
EXPORTAS is a new name type in import libraries. It's used by default on ARM64EC, but it's allowed on other platforms as well.
-
Philipp Tomsich authored
This reverts commit 01440115.
-
Valentin Clement (バレンタイン クレメン) authored
This PR adds a new attribute to represent the CUDA attribute attached to procedure. This attribute is attached to the func.func operation during lowering. Other procedures information such as `launch_bounds` and `cluster_dims` will be added separately.
-
Philipp Tomsich authored
The Ampere1B core is enabled with a new scheduling/pipeline model, as it provides significant updates over the Ampere1 core; it reduces latencies on many instructions, has some micro-ops reassigned between the XY and X units, and provides modelling for the instructions added since Ampere1 and Ampere1A.
-
Philipp Tomsich authored
-
Philipp Tomsich authored
Both Ampere1 and Ampere1A support fusion of ADRP+ADD. This adds the missing feature to enable fusion-aware scheduling for this case.
-
Philipp Tomsich authored
Ampere1A introduced the Fusion for A+B+1/A-B-1. However, the Feature flag to enable that fusion-case never was added to TuneAmpere1A. This commit corrects that omission.
-
Philipp Tomsich authored
The Ampere1B is Ampere's third-generation core implementing a superscalar, out-of-order microarchitecture with nested virtualization, speculative side-channel mitigation and architectural support for defense against ROP/JOP style software attacks. Ampere1B is an ARMv8.7+ implementation, adding support for the FEAT WFxT, FEAT CSSC, FEAT PAN3 and FEAT AFP extensions. It also includes all features of the second-generation Ampere1A, such as the Memory Tagging Extension and SM3/SM4 cryptography instructions.
-
Tom Stellard authored
Since we commit all changes to the release branch CI to main first, we need someway to test that these changes to main don't break the CI.
-
Fangrui Song authored
-
Derek Schuff authored
nm already prints sizes for data symbols. Do that for function symbols too, and update objdump to also print size information. Implements item 3 from https://github.com/llvm/llvm-project/issues/76107
-
choikwa authored
-
Valentin Clement (バレンタイン クレメン) authored
The newly introduced `CUDAAttribute` is meant for CUDA attributes associated with variable. In order to not clash with the future attribute for function/subroutine, rename `CUDAAttribute` to `CUDADataAttribute`.
-
yozhu authored
Function annotation, as part of llvm.metadata, is for the function itself and doesn't apply to its corresponding jump table entry, so with CFI we shouldn't replace function pointer in function annotation with pointer to its corresponding jump table entry.
-
Fangrui Song authored
The spurious -Wunused-function warning issue for `target_version` #80227 also applied to `__attribute__((target(...)))` based FMV. #81167 removed warnings for all `target`-based FMV. This patch restores the warnings for `__attribute__((target("default")))`. -
Richard Dzenis authored
`extraClassDeclaration` of `CallOpInterface` can be inherited by other `OpInterfaces` into foreign namespaces, thus types must be fully qualified to prevent compiler errors, for example: def MyCaller : OpInterface<"MyCaller", [CallOpInterface]> { let cppNamespace = "::MyNamespace"; } -
Joseph Huber authored
Summary: I neglected the fact that `activemask` is a 6.2 or 6.3 feature, so building this on older machines is incorrect. Bump this up to 6.3 for now so it works. In the future we will try to get rid of the N architecture business.
-
Tom Stellard authored
When a backport request is made, the resulting pull request will have a title like this: <release branch>: <First line of HEAD commit for the branch> And a body that says: Backport <commit0> <commit1> .. Requested By: <user>
-
Louis Dionne authored
I was looking for the documentation of that attribute, and the best I could find was a Stackoverflow answer or the commit message that originally introduced the attribute. I figured I might as well document what I find to save everyone time in the future.
-
Maksim Panchenko authored
-
Joseph Huber authored
Summary: Some recent support made usage of `__nvvm_reflect` more consistent. We should expose it as a builtin rather than forcing users to externally define the function.
-
Fangrui Song authored
-
Joseph Huber authored
Summary: This test requires at least sm_30 to run, but that is still below the minimum supported version of sm_52 currently. Just set this to sm_60 so the tests pass in the future.
-
Fangrui Song authored
-