This project is mirrored from https://github.com/llvm/llvm-project.git.
Pull mirroring failed .
Repository mirroring has been paused due to too many failed attempts. It can be resumed by a project maintainer or owner.
Last successful update .
Repository mirroring has been paused due to too many failed attempts. It can be resumed by a project maintainer or owner.
Last successful update .
- Jul 27, 2021
-
-
Mehdi Amini authored
This reverts commit beff86e8. The sanitizer-x86_64-linux bot is still broken.
-
Walter Erquinigo authored
Copying from the inline documentation: ``` Trace exporter plug-ins operate on traces, converting the trace data provided by an \a lldb_private::TraceCursor into a different format that can be digested by other tools, e.g. Chrome Trace Event Profiler. Trace exporters are supposed to operate on an architecture-agnostic fashion, as a TraceCursor, which feeds the data, hides the actual trace technology being used. ``` I want to use this to make the code in https://reviews.llvm.org/D105741 a plug-in. I also imagine that there will be more and more exporters being implemented, as an exporter creates something useful out of trace data. And tbh I don't want to keep adding more stuff to the lldb/Target folder. This is the minimal definition for a TraceExporter plugin. I plan to use this with the following commands: - thread trace export <plug-in name> [plug-in specific args] - This command would support autocompletion of plug-in names - thread trace export list - This command would list the available trace exporter plug-ins I don't plan to create yet a "process trace export" because it's easier to start analyzing the trace of a given thread than of the entire process. When we need a process-level command, we can implement it. I also don't plan to force each "export" command implementation to support multiple threads (for example, "thread trace start 1 2 3" or "thread trace start all" operate on many threads simultaneously). The reason is that the format used by the exporter might or might not support multiple threads, so I'm leaving this decision to each trace exporter plug-in. Differential Revision: https://reviews.llvm.org/D106501
-
Nemanja Ivanovic authored
All floating point values in registers are in double precision representation. In order to materialize the correct single precision value, we need to convert the APFloat that represents the value to double precision first. Reviewed By: amyk, NeHuang Differential Revision: https://reviews.llvm.org/D106812
-
Jianzhou Zhao authored
-
Amy Huang authored
[DebugInfo] Switch to using constructor homing (-debug-info-kind=constructor) by default when debug info is enabled Constructor homing reduces the amount of class type info that is emitted by emitting conmplete type info for a class only when a constructor for that class is emitted. This will mainly reduce the amount of duplicate debug info in object files. In Chrome enabling ctor homing decreased total build directory sizes by about 30%. It's also expected that some class types (such as unused classes) will no longer be emitted in the debug info. This is fine, since we wouldn't expect to need these types when debugging. In some cases (e.g. libc++, https://reviews.llvm.org/D98750), classes are used without calling the constructor. Since this is technically undefined behavior, enabling constructor homing should be fine. However Clang now has an attribute `__attribute__((standalone_debug))` that can be used on classes to ignore ctor homing. Bug: https://bugs.llvm.org/show_bug.cgi?id=46537 Differential Revision: https://reviews.llvm.org/D106084
-
Jianzhou Zhao authored
Reviewed By: gbalats Differential Revision: https://reviews.llvm.org/D106833
-
Rahul Joshi authored
Differential Revision: https://reviews.llvm.org/D106834
-
Jacques Pienaar authored
Retaining old interface and should be constructable as previous, change would have been NFC except it this doesn't implicitly work with OpAdaptor generated in C++14. Differential Revision: https://reviews.llvm.org/D106772
-
Jon Roelofs authored
This reverts commit 97e95fea. It broke test/CodeGen/Mips/GlobalISel/llvm-ir/ctpop.ll. Not sure why I didn't see that.
-
Tom Stellard authored
This script was added in 0cf37a3b0617457daaed3224373ffa07724f8482.
-
Jessica Paquette authored
This adds support for the case where WideSize = DstSize + K * SrcSize In this case, we can pad the G_MERGE_VALUES instruction with K extra undef values with width SrcSize. Then the destination can be handled via widenScalarDst. Differential Revision: https://reviews.llvm.org/D106814
-
Tom Stellard authored
The changes made in 0cf37a3b0617457daaed3224373ffa07724f8482 are not compatible with gold, which does not seem to support a symbol version with the name local.
-
Albion Fung authored
To match xlc behaviour and definition in the PowerPC ISA3.1, it is a better idea to have ibm-clang produce an error when a 0 is passed to the builtin, which will match xlc's behaviour. This patch changes the accepted range from 0 to 31 to 1 to 31. Differential revision: https://reviews.llvm.org/D106817
-
Philip Reames authored
-
Tom Stellard authored
Reviewed By: MaskRay Differential Revision: https://reviews.llvm.org/D105527
-
Jon Roelofs authored
Differential revision: https://reviews.llvm.org/D106494
-
Leonard Chan authored
This will just be a call into __sanitizer_fill_shadow defined in the fuchsia source tree. This depends on D105663. Differential Revision: https://reviews.llvm.org/D105664
-
Masoud Ataei authored
Before MASSV only supported P8 and P9 on AIX ans Linux . This patch proposes MASSV to add support of P7 and P10 only on AIX too. Differential: https://reviews.llvm.org/D106678
-
Reid Kleckner authored
Allegedly the DWARF backend ignores this field of DIEnumerator, but we set it nonetheless in case we decide to use it in the future. Alternatively, we could remove it, but it is simpler to pass down the signed bit as it is in the AST for now. Implemented to address comments on D106585
-
Mehdi Amini authored
Ensure that libSupport does not carry any static global initializer. libSupport can be embedded in use cases where we don't want to load all cl::opt unless we want to parse the command line. ManagedStatic can be used to enable lazy-initialization of globals. The -Werror=global-constructors is only added on platform that have support for the flag and for which std::mutex does not have a global destructor. This is ensured by having CMake trying to compile a file with a global mutex before adding the flag to libSupport.
-
Leonard Chan authored
This is empty for now, but we will add a check that TBI is enabled once the tagged pointer ABI for zircon is finalized. This depends on D105667. Differential Revision: https://reviews.llvm.org/D105668
-
Reid Kleckner authored
See llvm.org/pr51221
-
Michał Górny authored
Change SetCurrentThread*() logic not to include the zero padding in PID/TID that was a side effect of 02ef0f5a. This should fix problems caused by sending 64-bit integers to 32-bit servers. Reported by Ted Woodward. Differential Revision: https://reviews.llvm.org/D106832
-
Leonard Chan authored
These are required by MemIsShadow for checking if an address actually is shadow memory. Differential Revision: https://reviews.llvm.org/D105745
-
Rahul Joshi authored
- `scf.yield` in the "after" region supplies new arguments to the "before" region. Differential Revision: https://reviews.llvm.org/D106806
-
Arthur O'Dwyer authored
Thanks to gAlfonso-bit for the patch! Differential Revision: https://reviews.llvm.org/D106691
-
Amara Emerson authored
We see some shifts of zero emitted during legalization. Differential Revision: https://reviews.llvm.org/D106816
-
Fangrui Song authored
-
Peter Steinfeld authored
Since BOZ literal arguments are typeless, we cannot know how to pass them as actual arguments to procedures with implicit interfaces. This change avoids the problem by emitting an error message in such situations. This change stemmed from the following issue -- https://github.com/flang-compiler/f18-llvm-project/issues/794 Differential Revision: https://reviews.llvm.org/D106831
-
Amara Emerson authored
Use it AArch64 post-legal combiner. These don't always get folded because when the instructions are created the constants are obscured by artifacts. Differential Revision: https://reviews.llvm.org/D106776
-
Heejin Ahn authored
Dominator trees were previously used for an optimization related to `wasm.lsda` but the optimization was removed in D97309. Currently dominators are not doing anything in this pass. Also removes some `include` lines without which it compiles. Reviewed By: tlively Differential Revision: https://reviews.llvm.org/D106811
-
Joseph Huber authored
This patch adds the always inline attribute to the outlined functions generated by OpenMP regions. Because there is only a single instance of this function and it always has internal linkage it is safe to inline in every instance it is created. This could potentially lead to performance degredation due to inflated register counts in the parallel region. Reviewed By: jdoerfert Differential Revision: https://reviews.llvm.org/D106799
-
Omar Emara authored
This patch adds an Arch field that inputs and validates an arch spec. Differential Revision: https://reviews.llvm.org/D106564
-
Omar Emara authored
This patch expands the tree item that corresponds to the selected thread by default in the Threads window. Additionally, the tree root item is always expanded, which is the process in the Threads window. Reviewed By: clayborg Differential Revision: https://reviews.llvm.org/D100243
-
Heejin Ahn authored
When Emscripten EH mixes with Emscripten SjLj, we are not currently handling some of them correctly. There are three cases: 1. The current function calls `setjmp` and there is an `invoke` to a function that can either throw or longjmp. In this case, we have to check both for exception and longjmp. We are currently handling this case correctly: https://github.com/llvm/llvm-project/blob/0c0eb76782d5224b8d81a5afbb9a152bcf7c94c7/llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp#L1058-L1090 When inserting routines for functions that can longjmp, which we do only for setjmp-calling functions, we check if the function was previously an `invoke` and handle it correctly. 2. The current function does NOT call `setjmp` and there is an `invoke` to a function that can either throw or longjmp. Because there is no `setjmp` call, we haven't been doing any check for functions that can longjmp. But in that case, for `invoke`, we only check for an exception and if it is not an exception we reset `__THREW__` to 0, which can silently swallow the longjmp: https://github.com/llvm/llvm-project/blob/0c0eb76782d5224b8d81a5afbb9a152bcf7c94c7/llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp#L70-L80 This CL fixes this. 3. The current function calls `setjmp` and there is no `invoke`. Because it is not an `invoke`, we haven't been doing any check for functions that can throw, and only insert longjmp-checking routines for functions that can longjmp. But in that case, if a longjmpable function throws, we only check for a longjmp so if it is not a longjmp we reset `__THREW__` to 0, which can silently swallow the exception: https://github.com/llvm/llvm-project/blob/0c0eb76782d5224b8d81a5afbb9a152bcf7c94c7/llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp#L156-L169 This CL fixes this. To do that, this moves around some code, so we register necessary functions for both EH and SjLj and precompute some data (the set of functions that contains `setjmp`) before doing actual EH or SjLj transformation. This CL makes 2nd and 3rd tests in https://github.com/emscripten-core/emscripten/pull/14732 work. Reviewed By: dschuff Differential Revision: https://reviews.llvm.org/D106525
-
Arthur O'Dwyer authored
See LWG reflector thread of 2021-07-23 titled 'Question on ranges::advance and "past-the-sentinel iterators"'. Test case heavily based on one graciously provided by Casey Carter. Differential Revision: https://reviews.llvm.org/D106735
-
Arthur O'Dwyer authored
-
Louis Dionne authored
This is a NFC commit to normalize how we set target properties on the various runtime targets. A follow-up patch is going to add new properties, and I wanted that follow-up patch to be cleaner.
-
Joseph Huber authored
This patch adds a driver flag `-fopenmp-target-new-runtime` to optionally enable the new device runtime bitcode library. This allows users to enable the new experimental runtime before it becomes the default in the future. Reviewed By: jdoerfert Differential Revision: https://reviews.llvm.org/D106793
-
Michael Kruse authored
Fix the external-io unittest under Windows. In particular, fixes the following issues: 1. When creating a temporary file, open it with read+write permissions using the _O_RDWR flag. _S_IREAD and _S_IWRITE are for the file permissions of the created file. 2. _chsize returns 0 on success (just like ftruncate). 3. To set a std::optional, use its assign-operator overload instead of getting a reference to its value and overwrite that. The latter is invalid if the std::optional has no value, and is caught by msvc's debug STL. The non-GTest unittest is currently not executed under Windows because of the added .exe extension to the output file: external-io.text.exe. llvm-lit skips the file because .exe is not in the lists of test suffixes (.test is). D105315 is going to change that by converting it to a GTest-test. Reviewed By: awarzynski Differential Revision: https://reviews.llvm.org/D106726
-