- Jul 29, 2020
-
-
clementval authored
-
Ahsan Saghir authored
This patch marks compiler-rt/test/asan/TestCases/Linux/allocator_oom_test.cpp unsupported on PowerPC 64bit-LE architecture since this test fails when run on a machine with larger system memory. Reviewed By: #powerpc, nemanjai Differential Revision: https://reviews.llvm.org/D84786
-
Sanjay Patel authored
This is the main icmp simplification shortcoming seen in D84655. Alive2 agrees that the basic examples are correct at least: define <2 x i1> @src(<2 x i8> %x) { %0: %r = icmp sle <2 x i8> { undef, 128 }, %x ret <2 x i1> %r } => define <2 x i1> @tgt(<2 x i8> %x) { %0: ret <2 x i1> { 1, 1 } } Transformation seems to be correct! define <2 x i1> @src(<2 x i32> %X) { %0: %A = or <2 x i32> %X, { 63, 63 } %B = icmp ult <2 x i32> %A, { undef, 50 } ret <2 x i1> %B } => define <2 x i1> @tgt(<2 x i32> %X) { %0: ret <2 x i1> { 0, 0 } } Transformation seems to be correct! https://alive2.llvm.org/ce/z/omt2ee https://alive2.llvm.org/ce/z/GW4nP_ Differential Revision: https://reviews.llvm.org/D84762 -
Louis Dionne authored
rdar://66113878
-
Louis Dionne authored
First, add a TEST_HAS_QUICK_EXIT macro to mirror other C11 features like TEST_HAS_ALIGNED_ALLOC, and update the tests for that. Second, get rid of TEST_HAS_C11_FEATURES and _LIBCPP_HAS_C11_FEATURES, which were only used to ensure that feature macros don't get out of sync between <__config> and "test_macros.h". This is not necessary anymore, since we have tests for each individual macro now.
-
Craig Topper authored
[X86] Merge the two 'Emit the normal disp32 encoding' cases in SIB byte handling in emitMemModRMByte. NFCI By repeating the Disp.isImm() check in a couple spots we can make the normal case for immediate and for expression the same. And then always rely on the ForceDisp32 flag to remove a later non-zero immediate check. This should make {disp32} pseudo prefix handling slightly easier as we need the normal disp32 handler to handle a immediate of 0. -
MaheshRavishankar authored
functions. This allows using command line flags to lowere from GPU to SPIR-V. The pass added is only for testing/example purposes. Most uses cases will need more fine-grained control on setting workgroup sizes for kernel functions. Differential Revision: https://reviews.llvm.org/D84619
-
Sanjay Patel authored
-
Sanjay Patel authored
-
jasonliu authored
Reviewed By: Xiangling_L Differential Revision: https://reviews.llvm.org/D84693
-
Siva Chandra Reddy authored
-
Kostya Kortchinsky authored
Summary: Partners have requested the ability to configure more parts of Scudo at runtime, notably the Secondary cache options (maximum number of blocks cached, maximum size) as well as the TSD registry options (the maximum number of TSDs in use). This CL adds a few more Scudo specific `mallopt` parameters that are passed down to the various subcomponents of the Combined allocator. - `M_CACHE_COUNT_MAX`: sets the maximum number of Secondary cached items - `M_CACHE_SIZE_MAX`: sets the maximum size of a cacheable item in the Secondary - `M_TSDS_COUNT_MAX`: sets the maximum number of TSDs that can be used (Shared Registry only) Regarding the TSDs maximum count, this is a one way option, only allowing to increase the count. In order to allow for this, I rearranged the code to have some `setOption` member function to the relevant classes, using the `scudo::Option` class enum to determine what is to be set. This also fixes an issue where a static variable (`Ready`) was used in templated functions without being set back to `false` every time. Reviewers: pcc, eugenis, hctim, cferris Subscribers: jfb, llvm-commits, #sanitizers Tags: #sanitizers Differential Revision: https://reviews.llvm.org/D84667
-
Simon Pilgrim authored
Costs currently fall back to scalar generic intrinsic calls
-
Simon Pilgrim authored
These are just pass-throughs to the source operand - we can't assume that ANY_EXTEND(splat) will still be a splat though.
-
Simon Pilgrim authored
abs costs currently falls back in scalar generic intrinsic calls
-
Simon Pilgrim authored
-
Austin Kerbow authored
Update logic for reserving VGPR for SGPR spills. A CSR VGPR being reserved for SGPR spills could be clobbered if there were no free lower VGPR's available. Create a stack object so that it will be spilled in the prologue. Also adds more tests. Differential Revision: https://reviews.llvm.org/D83730
-
Anand Kodnani authored
The MemRefDataFlow pass does store to load forwarding only for affine store/loads. This patch updates the pass to use affine read/write interface which enables vector forwarding. Reviewed By: dcaballe, bondhugula, ftynse Differential Revision: https://reviews.llvm.org/D84302
-
Juneyoung Lee authored
This patch adds a basic support for freeze instruction to JumpThreading by making ComputeValueKnownInPredecessorsImpl look into its operand. Reviewed By: efriedma, nikic Differential Revision: https://reviews.llvm.org/D84598
-
Martin Storsjö authored
Previously this flag was just ignored. If set, set the IMAGE_DLL_CHARACTERISTICS_NO_SEH bit, regardless of the normal safeSEH machinery. In mingw configurations, the safeSEH bit might not be set in e.g. object files built from handwritten assembly, making it impossible to use the normal safeseh flag. As mingw setups don't generally use SEH on 32 bit x86 at all, it should be fine to set that flag bit though - hook up the existing GNU ld flag for controlling that. Differential Revision: https://reviews.llvm.org/D84701
-
Shu Anzai authored
Change the definition of ANSI_UNFAINT in Editline.cpp. Differential revision: https://reviews.llvm.org/D84695
-
Siva Chandra Reddy authored
-
Jez Ng authored
-
Craig Topper authored
-
Craig Topper authored
We currently handle EVEX and non-EVEX separately in two places. By sinking the EVEX check into the existing helper for CDisp8 we can simplify these two places. Differential Revision: https://reviews.llvm.org/D84730
-
Yitzhak Mandelbaum authored
Adds the `between` combinator and registers it with the parser. As a driveby, updates some deprecated names to their current versions. Reviewed By: gribozavr2 Differential Revision: https://reviews.llvm.org/D84315
-
Juneyoung Lee authored
-
Nicolas Vasilache authored
For the purpose of vector transforms, the Tablegen-based infra is subsumed by simple C++ pattern application. Deprecate declarative transforms whose complexity does not pay for itself. Differential Revision: https://reviews.llvm.org/D84753
-
Louis Dionne authored
-
Jez Ng authored
The previous approach of adding up the file sizes of the component sections ignored the fact that the sections did not have to be contiguous in the file. As such, it was underestimating the true size. I discovered this issue because `codesign` checks whether `__LINKEDIT` extends to the end of the file. Since we were underestimating segment sizes, this check failed. Reviewed By: #lld-macho, compnerd Differential Revision: https://reviews.llvm.org/D84574
-
Jez Ng authored
XCode passes files in using this flag Reviewed By: #lld-macho, compnerd Differential Revision: https://reviews.llvm.org/D84486
-
Vince Bridgers authored
We found a case where Typedef Name Declarations were not being added correctly when importing builtin types. This exposed the need for a TypedefNameDecl visitor so these types can be added by RecordDecl and fields. This code is covered by the ASTImporterTest cases that use the implicit struct __NSConstantString_tag definitions. Thanks to @martong for the debugging assist! Depends on D83970. Reviewed By: martong Differential Revision: https://reviews.llvm.org/D83992
-
Julian Lettner authored
Checking the OS version via `GetMacosAlignedVersion()` now works in simulators [1]. Let's use it to simplify `DyldNeedsEnvVariable()`. [1] 3fb0de82 Reviewed By: delcypher Differential Revision: https://reviews.llvm.org/D81197
-
Christy Lee authored
Reviewed By: MaskRay Differential Revision: https://reviews.llvm.org/D84569
-
Anna Welker authored
A patch following up on the introduction of pointer induction variables, adding a preprocessing step to the address optimisation in the MVEGatherScatterLowering pass. If the getelementpointer that is the address is itself using a getelementpointer as base, they will be merged into one by summing up the offsets, after checking that this will not cause an overflow (this can be repeated recursively). Differential Revision: https://reviews.llvm.org/D84027
-
Julian Lettner authored
compiler-rt checks OS versions by querying the Darwin kernel version. This is not necessarily correct inside the simulators if the simulator runtime is not aligned with the host macOS. Let's instead check the `SIMULATOR_RUNTIME_VERSION` env var. rdar://63031937 Reviewed By: delcypher Differential Revision: https://reviews.llvm.org/D83977
-
Arthur Eubanks authored
In a build with -DLLVM_ENABLE_LTO=Thin: $ ninja TSanitizer-x86_64-Test-Nolibc [1/1] Generating Sanitizer-x86_64-Test-Nolibc FAILED: projects/compiler-rt/lib/sanitizer_common/tests/Sanitizer-x86_64-Test-Nolibc sanitizer_nolibc_test_main.x86_64.o: file not recognized: file format not recognized because -flto=thin is getting passed to the clang_compile step. For non-standalone builds, global compilation flags shouldn't be passed to compiler-rt tests, only the flags the test specifies. Reviewed By: vitalybuka Differential Revision: https://reviews.llvm.org/D84466
-
Wei Wang authored
scoped-noalias -> scoped-noalias-aa reference: https://reviews.llvm.org/D84542 Reviewed By: aeubanks Differential Revision: https://reviews.llvm.org/D84720
-
Arthur Eubanks authored
Since the NPM pass is named sancov-module, not sancov. This makes all tests under Instrumentation/SanitizerCoverage pass when -enable-new-pm is on by default. Reviewed By: vitalybuka Differential Revision: https://reviews.llvm.org/D84687
-