- Jul 29, 2020
-
-
Daniel Sanders authored
Reviewed By: aditya_nandakumar Differential Revision: https://reviews.llvm.org/D78388
-
Matt Arsenault authored
Fix not marking G_FENCE as legal on AMDGPU This was apparently defaulting to legal using the "legacy" rules, whatever those are.
-
Matt Arsenault authored
This allows sorting the legal/custom rules first as is recommended
-
Matt Arsenault authored
-
Matt Arsenault authored
-
JF Bastien authored
As requested in D79279. Differential Revision: https://reviews.llvm.org/D84666
-
Matt Arsenault authored
We can't fold the masked compare value through the select if the select condition is re-defed after the and instruction. Fixes a verifier error and trying to use the outgoing value defined in the block. I'm not sure why this pass is bothering to handle physregs. It's making this more complex and forces extra liveness computation.
-
Roman Lebedev authored
As briefly discussed in IRC with @craig.topper, the pass is disabled basically since it's original introduction (nov 2018) due to known correctness issues (miscompilations), and there hasn't been much work done to fix that. While i won't promise that i will "fix" the pass, i have looked at it previously, and i'm sure i won't try to fix it if that requires actually fixing this existing code. Reviewed By: craig.topper Differential Revision: https://reviews.llvm.org/D84775
-
Fangrui Song authored
This reverts commit ab73b6da.
-
Fangrui Song authored
This reverts commit d054c7ee. There are discussions about the utility name, its functionality and user interface. Revert before we reach consensus.
-
Richard Smith authored
types. We previously did not treat a function type as dependent if it had a parameter pack with a non-dependent type -- such a function type depends on the arity of the pack so is dependent even though none of the parameter types is dependent. In order to properly handle this, we now treat pack expansion types as always being dependent types (depending on at least the pack arity), and always canonically being pack expansion types, even in the unusual case when the pattern is not a dependent type. This does mean that we can have canonical types that are pack expansions that contain no unexpanded packs, which is unfortunate but not inaccurate. We also previously did not treat a typedef type as instantiation-dependent if its canonical type was not instantiation-dependent. That's wrong because instantiation-dependence is a property of the type sugar, not of the type; an instantiation-dependent type can have a non-instantiation-dependent canonical type.
-
Zequan Wu authored
Bug filled here: https://bugs.llvm.org/show_bug.cgi?id=45757. Add comment to skipped regions so we don't track execution count for lines containing only comments. Differential Revision: https://reviews.llvm.org/D83592
-
Hafiz Abid Qadeer authored
Current implementation did not check that symbols is actually defined. Only checked for presence. GNU ld documentation says, "Return 1 if symbol is in the linker global symbol table and is defined before the statement using DEFINED in the script, otherwise return 0." https://sourceware.org/binutils/docs/ld/Builtin-Functions.html#Builtin-Functions Reviewed By: MaskRay Differential Revision: https://reviews.llvm.org/D83758
-
Mircea Trofin authored
The refactoring encapsulates frequency calculation in MachineBlockFrequencyInfo, and renames the API to clarify its motivation. It should clarify frequencies may not be reset 'freely' by users of the analysis, as the API serves as a partial update to avoid a full analysis recomputation. Differential Revision: https://reviews.llvm.org/D84427
-
Vincent Zhao authored
This diff fixes some obsolete examples in the Linalg dialect documentation: https://mlir.llvm.org/docs/Dialects/Linalg/ These examples are used to explain the basic properties of the Linalg dialect, which are not automatically generated from TableGen and are using out-of-date MLIR/Linalg syntax. This diff extends each example by adding essential attributes and changing its syntax to make it processible by `mlir-opt`. There is also a command attached to each example that says how the example can be processed. Reviewed By: ftynse Differential Revision: https://reviews.llvm.org/D84229
-
Florian Hahn authored
This patch adds IR tests for the known NewGVN issues. The intention is that adding them now will make it easier to keep track of fixes.
-
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
-