- Feb 11, 2024
-
-
Vlad Serebrennikov authored
This helps debuggers to display values in bit-fields in a more helpful way.
-
Vlad Serebrennikov authored
This helps debuggers to display values in bit-fields in a more helpful way.
-
Koakuma authored
This adds support for marking arbitrary general purpose registers - except for those with special purpose (G0, I6-I7, O6-O7) - as reserved, as needed by some software like the Linux kernel.
-
Quinn Dawkins authored
All the hoistRedundantVectorTransfers op does is walk the target operation, which does not have to be restricted to func.func.
-
darkbuck authored
- Enable equivalent between `brcond` and `G_BRCOND`. - Remove the manual selection of `G_BRCOND` in Mips. Revise test cases. Reviewers: petar-avramovic, bcardosolopes, arsenm Reviewed By: arsenm Pull Request: https://github.com/llvm/llvm-project/pull/81306
-
Po-yao Chang authored
LLDB_RELOCATABLE_PYTHON was removed in LLVM 11 (https://github.com/llvm/llvm-project/commit/3ec3f62f0a0b1ac13230922c91ffc988c1b1e8d5).
-
Kai Sasaki authored
-
Martin Storsjö authored
The SOURCE_DATE_EPOCH environment variable can be set in order to get reproducible build. When linking PE/COFF modules with LLD, the timestamp field is set to the current time, unless either the /timestamp: or /Brepro option is set. If neither of them is set, check the SOURCE_DATE_EPOCH variable, before resorting to using the actual current date and time. See https://reproducible-builds.org/docs/source-date-epoch/ for reference on the use of this variable.
-
Vlad Serebrennikov authored
This helps debuggers to display values in bit-fields in a more helpful way.
-
Vlad Serebrennikov authored
So that they do not use coroutine keywords. Fixed buildbot failure https://lab.llvm.org/buildbot/#/builders/86/builds/74100
-
Vlad Serebrennikov authored
This helps debuggers to display values in bit-fields in a more helpful way.
-
Vlad Serebrennikov authored
This helps debuggers to display values in bit-fields in a more helpful way.
-
Ikhlas Ajbar authored
This patch sorts stack objects by their alignment value from the largest to the smallest. If two objects have the same alignment, then they are sorted by their size from the largest to the smallest. This minimizes padding and reduces run time stack size.
-
Vlad Serebrennikov authored
This helps debuggers to display values in bit-fields in a more helpful way.
-
LLVM GN Syncbot authored
-
Mark de Wever authored
The code is heavily based on the vector data formatter.
-
David CARLIER authored
close #79708
-
Timm Bäder authored
This can happen when an initializer returns a dummy pointer.
-
Timm Bäder authored
This is currently NFC but required for later changes. A Ret op might fail and set the result to invalid, causing another setInvalid() call, which asserts that the result is still empty.
-
Florian Hahn authored
We are replacing a narrow IV increment with a wider one. If the original (narrow) increment did not wrap, the wider one should not wrap either. Set the flags to be the union of both wide increment and original increment; this ensures we preserve flags SCEV could infer for the wider increment. Fixes https://github.com/llvm/llvm-project/issues/71517.
-
Frederic Cambus authored
Similar to D110763.
-
Timm Bäder authored
We were unnecessarily getting the pointer of the local variable twice.
-
Mark de Wever authored
Having the test in the header requires including unistd.h on POSIX platforms. This header has other declarations which may conflict with code that uses named declarations provided by this header. For example code using "int pipe;" would conflict with the function pipe in this header. Moving the code to the dylib means std::print would not be available on Apple backdeployment targets. On POSIX platforms there is no transcoding required so a not Standard conforming implementation is still a useful and the observable differences are minimal. This behaviour has been done for print before https://github.com/llvm/llvm-project/pull/76293. Note questions have been raised in LWG4044 "Confusing requirements for std::print on POSIX platforms", whether or not the isatty check on POSIX platforms is required. When this LWG issue is resolved the backdeployment targets could become Standard compliant. This patch is intended to be backported to the LLVM-18 branch. Fixes: https://github.com/llvm/llvm-project/issues/79782
-
Daniel Chen authored
[Flang] Support passing a function that returns procedure pointer as actual corresponding to a procedure dummy. (#80891) Flang crashes with the following case. The problem is we missed the case when passing a reference to a function that returns a procedure pointer as actual that corresponds to a procedure dummy. This PR is to fix that. ``` PROGRAM main IMPLICIT NONE INTERFACE FUNCTION IntF(Arg) integer :: Arg, IntF END FUNCTION END INTERFACE INTERFACE FUNCTION RetPtr(Arg) IMPORT PROCEDURE(IntF) :: Arg PROCEDURE(IntF), POINTER :: RetPtr END FUNCTION END INTERFACE CALL ModSub(RetPtr(IntF)) contains SUBROUTINE ModSub(Fun1) PROCEDURE(IntF) :: Fun1 END SUBROUTINE END ```
-
- Feb 10, 2024
-
-
Mark de Wever authored
After applying the review comments of https://github.com/llvm/llvm-project/pull/80478 I've forgotten to update the generated files. This fixes the issue and removes trailing whitespace.
-
Po-yao Chang authored
-DLIBCXX_ENABLE_UNICODE=OFF or -D_LIBCPP_HAS_NO_UNICODE doesn't build without this change.
-
Yeting Kuo authored
This patch enable hardware shadow stack with `Zicifss` and `mno-forced-sw-shadow-stack`. New feature forced-sw-shadow-stack disables hardware shadow stack even when `Zicfiss` enabled.
-
David Green authored
-
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
-