aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
7 hours[𝘀𝗽𝗿] initial versionusers/vitalybuka/spr/compiler-rt-remove-redundant-compiler_rt_has_san-checksVitaly Buka14-328/+307
Created using spr 1.3.4
12 hours[rtsan] Temporarily disable runtime to fix bots after #92460Vitaly Buka1-3/+3
12 hours[libc++][TZDB] Finishes zoned_time constructors. (#95010)Mark de Wever14-7/+1252
Completes - LWG3225 zoned_time converting constructor shall not be noexcept - LWG3226 zoned_time constructor from string_view should accept zoned_time<Duration2, TimeZonePtr2> Implements parts of: - P0355 Extending to chrono Calendars and Time Zones
12 hours[libc++][TZDB] Adds basics of zoned_time class. (#94999)Mark de Wever16-2/+842
This implements the class, its non-templated constructors and its getters to verify the construction. Completes - LWG3224 zoned_time constructor from TimeZonePtr does not specify initialization of tp_ Implements parts of: - P0355 Extending chrono to Calendars and Time Zones
13 hours[test][PAC][AArch64] Add ELF tests for subtarget-neutral codegen (#98020)Daniil Kovalev5-48/+71
Many parts of PAuth-related codegen are not MachO- or ELF-specific. Add RUN lines against ELF targets to ensure that codegen works for ELF as well as for MachO.
13 hours[compiler-rt] Realtime Sanitizer: Introduce Realtime Sanitizer (RTSan) ↵Chris Apple23-1/+1939
backend (#92460) Introducing the main runtime of realtime sanitizer. For more information, please see the [discourse thread](https://discourse.llvm.org/t/rfc-nolock-and-noalloc-attributes/76837). We have also put together a [reviewer support document](https://github.com/realtime-sanitizer/radsan/blob/doc/review-support/doc/review.md) to show what our intention is. This review introduces the sanitizer backend. This includes: * CMake build files (largely adapted from asan). * Main RTSan architecture (the external API, thread local context, stack). * Interceptors. * Many unit tests. Please see the [reviewer support document](https://github.com/realtime-sanitizer/radsan/blob/doc/review-support/doc/review.md) for what our next steps are. We are moving in lockstep with this PR #84983 for the codegen coming up next. Note to reviewers: If you see support documentation mention "RADSan", this was the "old acronym" for the realtime sanitizer, they refer to the same thing. If you see it let us know and we can correct it (especially in the llvm codebase) --------- Co-authored-by: David Trevelyan <david.trevelyan@gmail.com>
13 hours[libc] adjust printf macro test to use all 64 bits (#98195)Michael Jones1-3/+4
The previous printf macro test for 64 bit octal used the number 0123, which is not large enough to ensure that the macro is actually reading a 64 bit number. This patch enlarges the number, and also makes sure the return value of sprintf is correct for the macro tests.
13 hours[MachineSink] Fix missing sinks along critical edges (#97618)Min-Yih Hsu4-57/+95
4e0bd3f improved early MachineLICM's capabilities to hoist COPY from physical registers out of a loop. However, it accidentally broke one of MachineSink's preconditions on sinking cheap instructions (in this case, COPY) which considered those instructions being profitable to sink only when there are at least two of them in the same def-use chain in the same basic block. So if early MachineLICM hoisted one of them out, MachineSink no longer sink rest of the cheap instructions. This results in redundant load immediate instructions from the motivating example we've seen on RISC-V. This patch fixes this by teaching MachineSink that if there is more than one demand to sink a register into the same block from different critical edges, it should be considered profitable as it increases the CSE opportunities. This change also improves two of the AArch64's cases.
13 hoursReapply "[RISCV] Remove experimental from Ztso. (#96465)"Philip Reames18-73/+77
This was reverted in f985a8826bfa4ca3d23e654185de35e30ea6dc79. Since that, the default WMO lowering has moved to A67 compatible, the ABI attribute emission has landed (off by default), and the LLD change to merge said attributes have landed. Our ztso lowering is believed to also be A67 compatible, and no known issues remain. Original commit message: Ztso 1.0 was ratified in January 2023. Documentation: https://github.com/riscv/riscv-isa-manual/blob/main/src/ztso-st-ext.adoc
13 hours[test][MachineSink][RISCV] Pre-commit test for #97618Min Hsu1-0/+182
13 hours[obj2yaml] Support CRELFangrui Song2-20/+132
This decoder feature complements the yaml2obj encoder added by #91280. Pull Request: https://github.com/llvm/llvm-project/pull/98116
13 hours[Clang][Sema] Fix crash when rebuilding MemberExprs with invalid object ↵Krystian Stasiowski2-0/+34
expressions (#97455) This patch fixes an assertion failure which occurs when the object expression of a `MemberExpr` is transformed into an expression with a dependent type for which the `DeclContext` cannot be computed (e.g. a `RecoveryExpr`). Fixes #95778.
13 hours[CMake][Fuchsia] Revert back to using normalized triples (#98189)Petr Hosek1-1/+1
We switched to denormalized triples in #89425 but that introduced a lot of downstream issues so switch back to normalized triples.
13 hours[hexagon] Add {con,de}structive interference size defn (#94877)Brian Cain3-0/+39
This support was originally added in 72c373bfdc98 ([C++17] Support __GCC_[CON|DE]STRUCTIVE_SIZE (#89446), 2024-04-26). We're overriding the values for Hexagon here. Signed-off-by: Brian Cain <bcain@quicinc.com>
13 hours[MachO] Loosen boundary check for reading export trie nodes (#96705)Cyndy Ishida4-4/+374
The design of the export trie in macho's is that each node has a variable length payload. When reading nodes, it should be an error if reading the uleb128 puts you beyond the stated node size but not when the stated size goes beyond the known part that was read. resolves: rdar://130310832 This was primarily authored by Nick Kledzik, I added/cleaned up the test cases.
13 hours[flang][cuda] Add conversion for stream value in cuf kernel directive (#98082)Valentin Clement (バレンタイン クレメン)3-3/+17
The stream value is defined as an i32 value in the operation. Add a conversion so the declared integer can be different and an i32 value.
13 hours[libc] Include stdio.h in baremetal getchar.cpp (#98188)Petr Hosek2-0/+3
This is needed for the EOF constant.
13 hours[SLP][NFC]Add comments for the code, NFC.Alexey Bataev1-0/+3
14 hours[RISCV][MC] Add support for hardcode encoding of .insn directive (#98030)Yingwei Zheng8-4/+84
This patch adds support for the following two hardcode encodings of .insn directive: ``` .insn <insn-length>, <value> .insn <value> ``` See also gas's patch https://github.com/bminor/binutils-gdb/commit/a262b82fdbf4cda3b0648b1adc32245ca3f78b7a NOTE: This patch doesn't support long instructions. Closes https://github.com/llvm/llvm-project/issues/97498.
14 hours[libc] Avoid the atexit and exit_handler dependency for exit (#98121)Petr Hosek3-2/+2
These are not required and without these dependencies, we would wound up with an unresolved reference to __cxa_finalize, which can be provided by the vendor making this compatible with baremetal.
14 hours[SLP]Keep the original order in the reductions.Alexey Bataev30-168/+156
The patch tries to keep the original order of the instruction in the reductions. Previously, two first instructions were switched, giving reverse order. The first step to support of the ordered reductions. Reviewers: RKSimon Reviewed By: RKSimon Pull Request: https://github.com/llvm/llvm-project/pull/98025
14 hours[llvm][AArch64] Fix an assertion message in TargetParserTests. NFC (#98085)Jon Roelofs1-8/+13
For both overloads, we were printing the bit-pattern for ExpectedFlags twice. While we're here, also add a convenience line that highlights the difference between the two sets.
14 hoursRevert "[lit] Implement builtin umask (#94621)"Jay Foad9-58/+7
This reverts commit 9f6dd1f761a5121e9a69e5d1f67c2438c065b499. Reverting to investigate buildbot failures e.g.: "new failure on builder ppc64le-mlir-rhel-clang running on ppc64le-mlir-rhel-test"
14 hours[DebugInfo] Add 'REQUIRES: object-emission' in the test. (#98141)Abid Qadeer1-1/+4
The test added in #96474 seems to cause buildbot failure on some system. I have added `REQUIRES: object-emission` in the test and also used `%t` instead of `-` for output.
14 hours[IR] Return 'unsigned' from ScalableVectorType::getMinNumElements(). (#98103)Craig Topper1-1/+1
The underlying ElementQuantity field is 'unsigned'. The similar FixedVectorType::getNumElements() returns 'unsigned'.
14 hours[lit] Implement builtin umask (#94621)Jay Foad9-7/+58
This allows a few more tests to use lit's internal shell.
14 hours[flang][docs] Remove passwords for bi-weekly flang calls from documen… ↵Tarun Prabhu1-4/+4
(#98161) …tation The passwords are moved to the Google Doc containing the agenda and minutes for the calls. A note has been added mentioning where to find the meeting ID's and passwords. Fixes #96121
15 hours[libc++][NFC] Tabs to space in libcxx-lit scriptLouis Dionne1-1/+1
15 hours[libc++] Define the __cpp_lib_atomic_ref feature test macro (#98081)Louis Dionne5-69/+32
We forgot to enable it when we landed std::atomic_ref in 42ba740aff.
15 hours[SelectionDAG] Handle vscale range wrapping in isKnownNeverZeroLuke Lau1-1/+1
As pointed out by @preames, ConstantRange can wrap so it's possible for zero to be in a range without zero being the minimum. This fixes this by checking contains instead.
16 hours[VPlan] Update HCFG builder after 72937203dd3b to fix leak.Florian Hahn7-10/+26
Update buildPlainCFG to re-use the vector and latch VPBBs created as part of the initial skeleton in 72937203dd3b. This should fix the leak sanitizer failure discovered by https://lab.llvm.org/buildbot/#/builders/52/builds/619.
16 hours[CodeGen] Add a flag to disable emitting block signature strings (#96944)Akira Hatanaka8-15/+60
Users who don't need the signature string to be emitted can use the flag to reduce code size. rdar://121933818
16 hours[NaryReassociate] Check to avoid introducing poison when reusing SCEVs (#98156)Benjamin Kramer2-6/+56
Drop the poison flags if possible or skip the candidate if it's not. Otherwise we'd introduce poison in places where it previously wasn't, leading to miscompiles.
16 hours[lldb][test] Skip bitfield enum tests for DWARF v2 and belowDavid Spickett1-0/+3
Clang's v2 output appears to be missing a key DW_AT_type attribute, and this causes the "max" of the unsigned enum to appear as -1 instead of "max" aka 3. ``` (BitfieldStruct) $0 = { signed_min = min signed_other = -1 signed_max = max unsigned_min = min unsigned_other = 1 unsigned_max = -1 } ``` Test added by #96202.
16 hoursSupport `guarded_by` attribute and related attributes inside C structs and ↵Pierre d'Herbemont8-24/+134
support late parsing them (#95455) This fixes #20777. This replaces #94216 which was reverted after being merged. Previously the `guarded_by`, `pt_guarded_by`, `acquired_after`, and `acquired_before` attributes were only supported inside C++ classes or top level C/C++ declaration. This patch allows these attributes to be added to struct members in C. These attributes have also now support experimental late parsing. This is off by default but can be enabled by passing `-fexperimental-late-parse-attributes`. This is useful for referring to a struct member after the annotated member. E.g. ``` struct Example { int a_value_defined_before __attribute__ ((guarded_by(a_mutex))); struct Mutex *a_mutex; }; ```
16 hours[InstCombine] Fix typo in `adjustKnownBitsForSelectArm` (#98155)Yingwei Zheng2-1/+27
Fixes https://github.com/llvm/llvm-project/issues/98139.
17 hours[llvm-objcopy][COFF] Add aliases for some --subsystem options (#98036)Victor Campos2-5/+27
GNU objcopy has some --subsystem options that aren't present in LLVM's. They are in fact just aliases to some of the existing options. For the sake of compatibility with the GNU toolchain, this patch adds these aliases to LLVM objcopy. The alias list is not exhaustive as this is an incremental change.
17 hoursMove `SystemHeadersCoverage` into `llvm::coverage` in CoverageMappingGen.hNAKAMURA Takumi3-6/+11
Part of #97952
17 hoursUpdate clang/test/system_macro.cpp for both -system-headers-coverage=true/falseNAKAMURA Takumi1-4/+28
Part of #97952
18 hours[libc] Disable `-ffreestanding` and `-fno-builtin` on the GPU build (#97636)Joseph Huber1-3/+17
Summary: This patch removed the `-ffreestanding` and `-fno-builtin` flags from the publically installed version of the GPU library. The presense of `-fno-builtin` caused issues that prevented all inlining in the GPU C library, see https://discourse.llvm.org/t/rfc-libc-ffreestanding-fno-builtin/75883. Previously, I attempted to fix this by loosening the restriction that `"no-builtins"` functions cannot be inlined into functions without that attribute. However, that opened up a lot of extra issues that stalled that approach. This patch instead removes that and instead passes `-fno-builtin-<xyz>` for the few calls that are known to be problematic. I believe this works in general as the GPU backends do not emit any libcalls and the implementations of most of these simply reduce to builtins right now. This is a very useful patch as we can now actually inline calls.
18 hours[SLP]Fix PR98133: Inserting PHI after debug-records!Alexey Bataev2-1/+45
The phi-node-to-be-deleted still should be inserted as the first instruction in the block to avoid random compiler crashes. Fixes https://github.com/llvm/llvm-project/issues/98133
18 hours[scudo][fuchsia] Give dispatched VMOs a (temporary) name (#97578)Fabio D'Urso1-0/+3
Instead of leaving them unnamed. Subsequent remap() calls will set the actual final name.
18 hours[lldb] Use correct path separator for C++ library files lookup (#98144)Vladislav Dzhidzhoev1-1/+1
Use POSIX-style path separators when checking for libcpp library path. This is necessary to run API tests from 'std-module' group compiled on Windows host for Linux target.
18 hours[X86][MC] Fix encoding bug for CCMP introduced in #85175Shengchen Kan3-13/+39
18 hours[bazel] Add missing deps for afa6bed8afe9011c07c682a0a24362260d92cfddHaojian Wu1-0/+1
18 hours[VectorCombine] foldShuffleToIdentity - ensure casts have the same source typeSimon Pilgrim2-0/+22
18 hours[VPlan] Clarify setting Lane in fixPhi (NFCI).Florian Hahn1-3/+3
Split off from https://github.com/llvm/llvm-project/pull/94760, clarify as suggested.
18 hours[libc] Remove unnecessary `stdio.h` includes (#98132)Petr Hosek2-4/+0
19 hoursRevert "[AArch64][GlobalISel] Make G_DUP immediate 32-bits or larger (#96780)"David Spickett6-102/+123
This reverts commit 5a5cd3f0bcdf37a32eadd85d6e57c642cb829402. Due to test suite failures on AArch64: https://lab.llvm.org/buildbot/#/builders/125/builds/541
19 hours[VPlan] Create vector header and latch VPBBs in createInitialVPlan (NFC)Florian Hahn2-7/+9
The empty header and latch blocks can be created together with the vector loop region. This is in preparation for splitting up the very large tryToBuildVPlanWithVPRecipes into several distinct functions, as suggested multiple times, including in https://github.com/llvm/llvm-project/pull/94760