- Feb 10, 2024
-
-
Mark de Wever authored
Applies LWG3050 to the constraints of operator*, operator/, and operator%. The changes to the constructor were done in https://reviews.llvm.org/D118902 , but that patch did not identify the related LWG-issue, and only adjusted the constructor to the wording in the Standard. Implements: - LWG 3050: Conversion specification problem in chrono::duration constructor --------- Co-authored-by:
h-vetinari <h.vetinari@gmx.com>
-
Jacek Caban authored
ARM64EC import libraries expose two additional symbols: mangled thunk symbol (like `#func`) and auxiliary import symbol (like`__imp_aux_func`). The main functional change with this patch is that those symbols are properly added to static library ECSYMBOLS.
-
David CARLIER authored
-
Martin Storsjö authored
This reverts commit bb5c3899. That commit caused failed asserts like this: $ cat repro.c float a, b; double sqrt(); void c() { b = a / sqrt(a); } $ clang -target x86_64-linux-gnu -c -O2 -ffast-math repro.c clang: ../lib/IR/Instruction.cpp:522: bool llvm::Instruction::hasAllowReassoc() const: Assertion `isa<FPMathOperator>(this) && "getting fast-math flag on invalid op"' failed.
-
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
-