- Jul 20, 2021
-
-
Johannes Doerfert authored
-
Johannes Doerfert authored
Undo 15c5701c and update check lines.
-
Johannes Doerfert authored
-
Dmitry Vyukov authored
Add pragma line so that errors messages point to the actual source files rather than to the concatenated gotsan.cpp. Reviewed By: vitalybuka, melver Differential Revision: https://reviews.llvm.org/D106275
-
Johannes Doerfert authored
The test is not wrong nor is the current main broken, it just an interplay issue. Check lines will be updated in shortly.
-
Johannes Doerfert authored
A byval argument is a different value in the caller and callee, we cannot propagate the information as part of AAValueSimplify. Users that want to deal with byval arguments need to specifically perform the argument -> call site step. We do not do this for now.
-
Johannes Doerfert authored
This patch introduces AAPointerInfo which tracks the uses of a pointer and places them in "bins" based on their offset from the base and access size. As with other AAs, any pointer can be tracked but it is up to the user to make sense of the results. The user in this patch is AAValueSimplify and AAPotentialValues which both utilize AAPointerInfo to determine the value of a load. For now, this is restricted to loads of allocas and internal globals. Through the use of AAPointerInfo and the "bins" we can track struct members separately. The users also know that storing only zeros (at unknown indices) will result in loading only 0 (from unknown indices). Other than that, the users are flow and context insensitive (for now). To deal with the "bins" more easily, AAPointerInfo provides a forallInterfearingAccesses that applies a callback on all accesses that might interfere with a given load or store. Differential Revision: https://reviews.llvm.org/D104432
-
Johannes Doerfert authored
As a first step to simplify loads we only handle `null` and `undef` underlying objects, as well as objects that have the load as a single user. Loads of those values can be replaced by the initializer, if any. Proper reasoning is introduced in a follow up patch Differential Revision: https://reviews.llvm.org/D103862
-
Johannes Doerfert authored
We did not properly use SPMDCompatibilityTracker in various places. This patch makes sure we look at the validity properly and also fix the state if we can. Differential Revision: https://reviews.llvm.org/D106085
-
Albion Fung authored
This reverts commit 1d3e77e7 as some buildbots seem to be unable to obtain the target powerpc64le-unknown-linux-gnu.
-
Tony Tye authored
Reviewed By: tianshilei1992 Differential Revision: https://reviews.llvm.org/D106330
-
Lang Hames authored
This macro can be used to define tag variables for use with jit-dispatch.
-
Lang Hames authored
-
Hsiangkai Wang authored
Differential Revision: https://reviews.llvm.org/D106255
-
Fangrui Song authored
This reverts commit 321b2bef. `for (BindIR *p = &opcodes[0]; p->opcode != BIND_OPCODE_DONE; ++p) {` has a heap-buffer-overflow with test/MachO/bind-opcodes.
-
Shilei Tian authored
The synchronization of task loop misses hidden helper tasks, causing segmentation fault reported in https://bugs.llvm.org/show_bug.cgi?id=50002. Reviewed By: ye-luo Differential Revision: https://reviews.llvm.org/D106220
-
Matt Arsenault authored
This avoids rerunning it a few times.
-
Albion Fung authored
An extra test case added for the builtin __LDARX. Differential revision: https://reviews.llvm.org/D105926
-
Matt Arsenault authored
I don't understand what this is going for, and haven't found an analog in DAG code. No tests fail with this removed.
-
Matt Arsenault authored
-
Fangrui Song authored
Revert D105519 "[WebAssembly] Deduplicate imports of the same module name, field name, and type" and its followup This reverts commit 4ae575b9 and 9b965b37. There is an use-of-uninitialized-value bug in the `else` branch in ImportSection::addImport.
-
Joseph Huber authored
Currently the NPVTX work function is marked volatile. This prevents some optimizations from using this value. Reviewed By: jdoerfert Differential Revision: https://reviews.llvm.org/D106310
-
Nico Weber authored
-
Louis Dionne authored
See https://reviews.llvm.org/D105905 for context. Differential Revision: https://reviews.llvm.org/D106182
-
Louis Dionne authored
We've been forgetting to add those to most of the <ranges> review. To avoid forgetting in the future, I added an item in the pre-commit checklist. Differential Revision: https://reviews.llvm.org/D106287
-
Philip Reames authored
-
Vincent Lee authored
Implement pass 3 of bind opcodes from ld64 (which supports both 32-bit and 64-bit). Pass 3 implementation condenses BIND_OPCODE_DO_BIND_ADD_ADDR_ULEB opcode to BIND_OPCODE_DO_BIND_ADD_ADDR_IMM_SCALED. This change is already behind an O2 flag so it shouldn't impact current performance. I verified ld64's output with x86_64 LLD and they were both emitting the same optimized bind opcodes (although in a slightly different order). Tested with arm64_32 LLD and compared that with x86 LLD that the order of the bind opcodes are the same (offset values are different which should be expected). Reviewed By: int3, #lld-macho Differential Revision: https://reviews.llvm.org/D106128
-
Eli Friedman authored
Allow arbitrary strides, and make sure we return the correct result when the backedge-taken count is zero. Differential Revision: https://reviews.llvm.org/D106197
-
Yi Zhang authored
Only memref with identity layout map is supported for now. Reviewed By: mravishankar Differential Revision: https://reviews.llvm.org/D106180
-
Philip Reames authored
Wrap semantics are subtle when combined with multiple exits. This has caused several rounds of confusion during recent reviews, so try to document the subtly distinction between when wrap flags provide <u and <=u facts.
-
Arthur Eubanks authored
Reviewed By: asbirlea Differential Revision: https://reviews.llvm.org/D106307
-
Arthur Eubanks authored
The specific case that triggered this was when inlining a recursive internal function into itself caused the recursion to go away, allowing the inliner to mark the function as dead. The inliner marks the SCC as invalidated but does not provide a new SCC to continue with. This matches the implementations of ModuleToPostOrderCGSCCPassAdaptor and CGSCCPassManager. Fixes PR50363. Reviewed By: asbirlea Differential Revision: https://reviews.llvm.org/D106306
-
Quinn Pham authored
This patch is in a series of patches to provide builtins for compatibility with the XL compiler. This patch adds software divide builtins with no checking. These builtins are each emitted as a fast fdiv. Reviewed By: #powerpc, nemanjai Differential Revision: https://reviews.llvm.org/D106150
-
MaheshRavishankar authored
The `reifyReturnTypeShapesPerResultDim` method supports shape inference for rsults that are ranked types. These are used lower in the codegeneration stack than its counter part `reifyReturnTypeShapes` which also supports unranked types, and is more suited for use higher up the compilation stack. To have separation of concerns, this method is split into its own interface. See discussion : https://llvm.discourse.group/t/better-layering-for-infershapedtypeopinterface/3823 Differential Revision: https://reviews.llvm.org/D106133
-
LLVM GN Syncbot authored
-
Nathan Ridge authored
Fixes PR50774 Differential Revision: https://reviews.llvm.org/D104619
-
Sam Clegg authored
This avoids duplication and simplifies the code in several places without increasing the size of the symbol union (at least not above the assert'd limit of 120 bytes). Differential Revision: https://reviews.llvm.org/D106026
-
Jim Ingham authored
When we go to destroy the process, we first try to halt it, if we succeeded and the target stopped, we want to clear out the thread plans and breakpoints in case we still need to resume to complete killing the process. If the target was exited or detached, it's pointless but harmless to do this. But if the state is eStateInvalid - for instance if we tried to interrupt the target to Halt it and that fails - we don't want to keep trying to interact with the inferior, so we shouldn't do this work. This change explicitly checks eStateStopped, and only does the pre-resume cleanup if we did manage to stop the process.
-
Artem Belevich authored
This reverts commit 2c98298a which breaks sanitizers.
-
thomasraoux authored
Differential Revision: https://reviews.llvm.org/D106311
-