- Apr 09, 2022
-
-
Paul Robinson authored
-
Valentin Clement authored
This patch avoids to fold `fir.box_addr` when the defining `fir.embox` op has a slice. If the op is folded the slice information are lost. This kind of problem occurred with code like: ``` call check(y(half+1:)) ``` where `y` is an array. Reviewed By: jeanPerier Differential Revision: https://reviews.llvm.org/D123392
-
Mitch Phillips authored
Currently, enablement of heap MTE on Android is specified by an ELF note, which signals to the linker to enable heap MTE. This change allows -fsanitize=memtag-heap to synthesize these notes, rather than adding them through the build system. We need to extend this feature to also signal the linker to do special work for MTE globals (in future) and MTE stack (currently implemented in the toolchain, but not implemented in the loader). Current Android uses a non-backwards-compatible ELF note, called ".note.android.memtag". Stack MTE is an ABI break anyway, so we don't mind that we won't be able to run executables with stack MTE on Android 11/12 devices. The current expectation is to support the verbiage used by Android, in that "SYNC" means MTE Synchronous mode, and "ASYNC" effectively means "fast", using the Kernel auto-upgrade feature that allows hardware-specific and core-specific configuration as to whether "ASYNC" would end up being Asynchronous, Asymmetric, or Synchronous on that particular core, whichever has a reasonable performance delta. Of course, this is platform and loader-specific. Differential Revision: https://reviews.llvm.org/D118948
-
wren romano authored
This reorganization helps to clean up the changes needed for D122060. Work towards fixing: https://github.com/llvm/llvm-project/issues/51652 Depends On D122625 Reviewed By: aartbik Differential Revision: https://reviews.llvm.org/D122928
-
Florian Hahn authored
This fixes the code to actually use the location of the instruction, if available. Previously, SetInsertPoint would overwrite the insert point set from the instruction.
-
Florian Hahn authored
-
Matt Arsenault authored
Fixes issue 47690. The reproduction steps produced a shared object from clang directly, and then fed the shared object back into lld. With no regular object files, this assert was hit. I'm not sure if we need to or should be looking for equivalent fields in shared objects.
-
Tue Ly authored
Make FMA flag checks more accurate for x86-64 targets, and refactor polyeval to use multiply and add instead when FMA instructions are not available. Reviewed By: michaelrj, sivachandra Differential Revision: https://reviews.llvm.org/D123335
-
Mark de Wever authored
This change is done to see whether all platforms have a CI with the Japanese locale installed. This wires in the locale in the tests and uses it in one test. This is a preparation for the tests of the chrono formatters. Reviewed By: ldionne, #libc Differential Revision: https://reviews.llvm.org/D122738
-
Jorge Gorbe Moya authored
-
Jonas Devlieghere authored
Skip a bunch of tests that don't really make sense to run remotely.
-
Jonas Devlieghere authored
-
Jonas Devlieghere authored
We need to import foundation to get a 'NSLog' declaration when building against the iOS SDK. This doesn't appear necessary when building against the macOS SDK, presumable because it gets transitively imported by objc/NSObject.h
-
Jorge Gorbe Moya authored
-
Chris Bieneman authored
This document is a first-stab at addressing some of the questions about HLSL support in Clang. Differential Revision: https://reviews.llvm.org/D123278
-
Siu Chi Chan authored
Fix backward compatibility issue due to D120662. Change-Id: I7cd0f704aabbaac7dcf59fd4b73b4f0e0cdfa69f Reviewed By: yaxunl, saiislam Differential Revision: https://reviews.llvm.org/D123387
-
Arthur Eubanks authored
And thread DSE's ephemeral values to EarliestEscapeInfo. This allows more precise analysis in DSEState::isReadClobber() via BatchAA. Followup to D123162. Reviewed By: nikic Differential Revision: https://reviews.llvm.org/D123342
-
Fangrui Song authored
`.symver foo, foo@ver` creates the MCSymbolELF `foo@ver` whose almost all attributes (including st_size) should inherit from `foo` (GNU as behavior). a041ef1b added st_size propagation which works for many cases but fails for the following one: ``` .set __GLIBC_2_12_sys_errlist, _sys_errlist_internal .type __GLIBC_2_12_sys_errlist,@object .size __GLIBC_2_12_sys_errlist, 1080 .symver __GLIBC_2_12_sys_errlist, sys_errlist@GLIBC_2.12 ... _sys_errlist_internal: .size _sys_errlist_internal, 1072 ``` `sys_errlist@GLIBC_2.12`'s st_size is 1072 (incorrect), which does not match `__GLIBC_2_12_sys_errlist`'s st_size: 1080. The problem is that `Base` is (the final) `_sys_errlist_internal` while we want to respect (the intermediate) `__GLIBC_2_12_sys_errlist`'s st_size. Fix this by following the MCSymbolRefExpr assignment chain and finding the closest non-null `getSize()`, which covers most needs. Notably MCBinaryExpr is not handled,...
-
Fangrui Song authored
-
Kevin Athey authored
one more follow up to: https://reviews.llvm.org/D122851 Differential Revision: https://reviews.llvm.org/D123404
-
Daniel Grumberg authored
Differential Revision: https://reviews.llvm.org/D123391
-
PeixinQiao authored
As Fortran 2018 3.18 states, the branch target statement can be `forall-construct-stmt`, but cannot be `forall-stmt`. `forall-stmt` is wrapped by `Statement` in `action-stmt` and `action-stmt` can be one branch target statement. Fix the semantic analysis and add two regression test cases in lowering. Reviewed By: Jean Perier Differential Revision: https://reviews.llvm.org/D123373
-
Fraser Cormack authored
Similar to D123217 but for the floating-point patterns. No change in generated output, while reducing the generated table size. Reviewed By: arcbbb Differential Revision: https://reviews.llvm.org/D123291
-
Vang Thao authored
Reviewed By: foad Differential Revision: https://reviews.llvm.org/D123348
-
Snehasish Kumar authored
The current implementation of memprof information in the indexed profile format stores the representation of each calling context fram inline. This patch uses an interned representation where the frame contents are stored in a separate on-disk hash table. The table is indexed via a hash of the contents of the frame. With this patch, the compressed size of a large memprof profile reduces by ~22%. Reviewed By: tejohnson Differential Revision: https://reviews.llvm.org/D123094
-
kristina authored
-
Craig Topper authored
SLLI is always compressible to C.SLLI as long as the source and dest register is the same. ANDI and SRLI are only compressible if the register is x8-x15. By using SLLI we have a better chance of generating shorter code. I had to exclude one exclusion for the BEXTI case so that it's pattern match could still fire. Reviewed By: luismarques Differential Revision: https://reviews.llvm.org/D123336
-
Simon Pilgrim authored
Based on Issue #37628
-
- Apr 08, 2022
-
-
Kevin Athey authored
Follow up to: https://reviews.llvm.org/D122851 Differential Revision: https://reviews.llvm.org/D123395
-
Nikita Popov authored
Rather than checking the rounded type store size, check the type size in bits. We don't want to forward a store of i1 to a load of i8 for example, even though they have the same type store size. The padding bits have unspecified contents. This is a partial fix for the issue reported at https://reviews.llvm.org/D115924#inline-1179482, the problem also needs to be addressed more generally in the constant folding code.
-
Florian Hahn authored
Update createEmptyBasicBlock to preserve the debug location of the previous terminator.
-
Florian Hahn authored
Adds a test case where currently no debug location is added to branches in the vector body.
-
Zaara Syeda authored
Loop Strength Reduce sometimes optimizes away all uses of an induction variable from a loop but leaves the IV increments. When the only remaining use of the IV is the PHI in the exit block, this patch will call rewriteLoopExitValues to replace the exit block PHI with the final value of the IV to skip the updates in each loop iteration. Differential Revision: https://reviews.llvm.org/D118808
-
Mark de Wever authored
Adds a `__get_container` member as suggested by @Quuxplusone in D110497. Includes s/_LIBCPP_INLINE_VISIBILITY/_LIBCPP_HIDE_FROM_ABI/. Reviewed By: Quuxplusone, #libc, ldionne Differential Revision: https://reviews.llvm.org/D110573
-
Mark de Wever authored
Before implementing P2216's format-string adjust the unit tests. After P2216 the format* functions require a compile-time string literal. This changes prepares the tests. Reviewed By: #libc, ldionne Differential Revision: https://reviews.llvm.org/D122534
-
Alexandre Ganea authored
Windows.
-
Joseph Huber authored
Summary: The changes made in D123177 added new targets to the `LIBOMPTARGET_TESTED_PLUGINS` variable which was linked against when building the `llvm-omp-target-info` tool. This caused linker errors on the export scripts. This patch removes that dependency, it still builds and runs as expected so I will assume it's correct.
-
Nikita Popov authored
Semantics here are a bit unclear, but the store-to-load forwarding case at least should be a miscompile.
-
Shraiysh Vaishay authored
This patch adds translation for allocate clause for parallel and single constructs. Also added tests for block constructs. This patch also adds tests for parallel construct which were not added earlier. Reviewed By: NimishMishra, peixin Differential Revision: https://reviews.llvm.org/D122483 Co-authored-by:
Sourabh Singh Tomar <SourabhSingh.Tomar@amd.com>
-
Aaron Ballman authored
The LANGOPT macro allows you to specify a default value for the langauge option. However, it's expected that these values be constant rather than depending on other language options (because the constructor setting the default values does not know the language mode at the time it's being constructed). Some of our language options were abusing this and passing in other language mode options which were then set correctly by other parts of frontend initialization. This removes the default values for the language options, and then ensures they're consistently set from the same place when setting language standard defaults.
-