- Jun 30, 2022
-
-
Sam McCall authored
-
Nikolas Klauser authored
Reviewed By: ldionne, #libc Spies: libcxx-commits Differential Revision: https://reviews.llvm.org/D128906
-
Nikolas Klauser authored
Reviewed By: ldionne, #libc Spies: cfe-commits, llvm-commits, libcxx-commits Differential Revision: https://reviews.llvm.org/D127313
-
Tue Ly authored
-
Pavel Labath authored
D128285 only changed the stable (v1) layout, so the matching change in D128694 broke the formatting of the unstable strings. This fixes that, and ensures compatibility with all older layouts as well.
-
Nikita Popov authored
Migrate all binops to use FoldXYZ rather than CreateXYZ APIs, which are compatible with InstSimplifyFolder and fallible constant folding. Rather than continuing to add one method for every single operator, add a generic FoldBinOp (plus variants for nowrap, exact and fmf operators), which we would need anyway for CreateBinaryOp. This change is not NFC because IRBuilder with InstSimplifyFolder may perform more folding. However, this patch changes SCEVExpander to not use the folder in InsertBinOp to minimize practical impact and keep this change as close to NFC as possible.
-
Muhammad Omair Javaid authored
PDB/func-symbols.test was orignally written for 32bit x86, keeping in mind cdecl and stdcall calling conventions which does name mangling for example like adding "_" underscore before function name. This is only x86 specific but purpose of pointers.test is NOT to test calling convention. I have made a minor change to make this test pass on Windows/Arm.
-
Chen Zheng authored
-
Muhammad Omair Javaid authored
TestCommandScript.py fails on Arm/Windows due following issues: https://llvm.org/pr56288 https://llvm.org/pr56292 LLDB fails to skip prologue and also step over library function or nodebug functions fails due to PDB/DWARF mismatch. This patch replace function breakpoint with line breakpoint so that we can expect LLDB to stop on desired line. Also replace dwarf with PDB debug info for this test only.
-
Erich Keane authored
This is a continuation of D119544. Based on @rsmith 's feed back showing me https://eel.is/c++draft/temp#friend-9, We should properly handle friend functions now. Differential Revision: https://reviews.llvm.org/D126907
-
Valentin Clement authored
The original assertion is not necessarily correct since the shape argument may involve a slice of an array (an expression) and not a whole vector with constant length. In the presence of a slice operation, the size must be computed (left as a TODO for now). This patch is part of the upstreaming effort from fir-dev branch. Reviewed By: jeanPerier Differential Revision: https://reviews.llvm.org/D128894 Co-authored-by:
Eric Schweitz <eschweitz@nvidia.com>
-
LLVM GN Syncbot authored
-
Nikita Popov authored
This means we no longer need to have the same API between IRBuilder and IRBuilderFolder. The constant case is substantially simpler, so implementing it separately isn't an undue burden.
-
Xiang Li authored
Change WaveActiveCountBits from builtin into wrapper of __builtin_hlsl_wave_active_count_bits. For comment at https://reviews.llvm.org/D126857#inline-1235949 Reviewed By: beanz Differential Revision: https://reviews.llvm.org/D128855
-
Prathit Aswar authored
Fixing issue "incorrect -Winfinite-recursion warning on potentially- unevaluated operand". We add a dedicated visit function (VisitCXXTypeidExpr) for typeid, instead of using the default (VisitStmt). In this new function we skip over building the CFG for unevaluated operands of typeid. Fixes #21668 Differential Revision: https://reviews.llvm.org/D128747
-
Nikita Popov authored
Nowdays we have a generic constant folding API to load a type from an offset. It should be able to do anything that VNCoercion can do. This avoids the weird templating between IRBuilder and ConstantFolder in one function, which is will stop working as the IRBuilderFolder moves from CreateXYZ to FoldXYZ APIs. Unfortunately, this doesn't eliminate this pattern from VNCoercion entirely yet.
-
Aaron Jacobs authored
It took me multiple hours of debugging plus asking an expert for help to figure out why this function didn't do what it promised to do. It turns out there is a flag that needs to be set. Document this, in an attempt to save the next person the surprise. Reviewed By: ymandel Differential Revision: https://reviews.llvm.org/D128774
-
Nikolas Klauser authored
Reviewed By: ldionne, #libc, EricWF Spies: EricWF, libcxx-commits Differential Revision: https://reviews.llvm.org/D127919
-
Florian Hahn authored
At the moment LoopVersioning is only created for inner-loop vectorization. This patch moves it to LVP::execute, which means it will also be added for epilogue vectorization. As a consequence, the proper noalias metadata is now also added to epilogue vector loops. LVer will be moved to VPTransformState as follow-up. Reviewed By: Ayal Differential Revision: https://reviews.llvm.org/D127966
-
Xiang1 Zhang authored
-
esmeyi authored
-
Michael Platings authored
This allows including the headers without risk of conflict with user-defined macros e.g. max Differential Revision: https://reviews.llvm.org/D128728
-
Fraser Cormack authored
-
Nicolas Vasilache authored
[mlir][Linalg] Uniformize SplitReduction transforms and add option to use Bufferization::AllocTensor This revision merges the 2 split_reduction transforms and adds extra control by using attributes. SplitReduction is known to require a concrete additional buffer to store tempoaray information. Add an option to introduce a `bufferization.alloc_tensor` instead of `linalg.init_tensor`. This behaves better with subset-based tiling and bufferization. Differential Revision: https://reviews.llvm.org/D128722
-
Sanjay Patel authored
The assert was added with 0399473d and is correct for that pattern, but it is off-by-1 with the enhancement in d4f39d83. The transforms are still correct with the new pre-condition: https://alive2.llvm.org/ce/z/6_6ghm https://alive2.llvm.org/ce/z/_GTBUt And as shown in the new test, the transform is expected with 'ult' - in that case, the icmp reduces to test if the shift amount is 0.
-
Nikita Popov authored
This allows all constant folding to happen through a single function, without requiring special handling for loads at each call-site. This may not be NFC because some callers currently don't do that special handling.
-
LLVM GN Syncbot authored
-
LLVM GN Syncbot authored
-
Muhammad Omair Javaid authored
This is a follow up to my previous commit where TestSTL.py got broken due to 9c6e0435. Now that we force dwarf symbols by default on windows we dont need to specifically put -gdwarf O0 in debug flags for this test.
-
Sven van Haastregt authored
These are not mentioned in the OpenCL C Specification nor in the OpenCL Extension Specification. Differential Revision: https://reviews.llvm.org/D128434
-
Pavel Samolysov authored
The ArgumentPromotion pass uses Mem2Reg promotion at the end to cutting down generated alloca instructions as well as meaningless stores and this behavior can leave unused (dead) arguments. The test shows that the arguments are not removed in the current optimization pipeline.
-
Nikita Popov authored
Missed these in 41f0b6a7, resulting in unconditional debug output.
-
Nikita Popov authored
Use a common ConstantFoldInstOperands-based constant folding implementation, instead of specifying the folding function for each function individually. Going through the generic handling doesn't appear to have any significant compile-time impact. As the test change shows, this is not NFC, because we now use DataLayout-aware constant folding, which can do slightly better in some cases (e.g. those involving GEPs).
-
Chen Zheng authored
-
Chen Zheng authored
Reviewed By: nikic Differential Revision: https://reviews.llvm.org/D128529
-
Muhammad Omair Javaid authored
TestSTL.py was broken by 9c6e0435. This patch fixes it with changes to its Makefile.
-
Phoebe Wang authored
This is split from D113107 to address #56204 and https://discourse.llvm.org/t/how-to-build-compiler-rt-for-new-x86-half-float-abi/63366 Reviewed By: zahiraam, rjmccall, bkramer, MaskRay Differential Revision: https://reviews.llvm.org/D128571
-
Nikita Popov authored
For instructions that don't need any special handling, use ConstantFoldInstOperands(), rather than re-implementing individual cases. This is probably not NFC because it can handle cases the previous code missed (e.g. vector operations).
-
Nikita Popov authored
Support compares in ConstantFoldInstOperands(), instead of forcing the use of ConstantFoldCompareInstOperands(). Also handle insertvalue (extractvalue was already handled). This removes a footgun, where many uses of ConstantFoldInstOperands() need a separate check for compares beforehand. It's particularly insidious if called on a constant expression, because it doesn't fail in that case, but will just not do DL-dependent folding.
-
Weining Lu authored
-