- Feb 15, 2022
-
-
Nikolas Klauser authored
Reviewed By: ldionne, Quuxplusone, #libc Spies: arichardson, mstorsjo, libcxx-commits, mgorny Differential Revision: https://reviews.llvm.org/D119152
-
Raman Tenneti authored
Removed getenv from entrypoints. Reviewed By: rtenneti Differential Revision: https://reviews.llvm.org/D119753
-
Sanjay Patel authored
-
Snehasish Kumar authored
This reverts commit 9def83c6. [4/4]
-
Snehasish Kumar authored
This reverts commit 9b671652. [3/4]
-
Snehasish Kumar authored
This reverts commit 14cc41a0. [2/4]
-
Snehasish Kumar authored
This reverts commit de54e4ab [1/4]
-
Louis Dionne authored
-
Ahmed Bougacha authored
This introduces a new "ptrauth" operand bundle to be used in call/invoke. At the IR level, it's semantically equivalent to an @llvm.ptrauth.auth followed by an indirect call, but it additionally provides additional hardening, by preventing the intermediate raw pointer from being exposed. This mostly adds the IR definition, verifier checks, and support in a couple of general helper functions. Clang IRGen and backend support will come separately. Note that we'll eventually want to support this bundle in indirectbr as well, for similar reasons. indirectbr currently doesn't support bundles at all, and the IR data structures need to be updated to allow that. Differential Revision: https://reviews.llvm.org/D113685
-
LLVM GN Syncbot authored
-
Louis Dionne authored
-
Jason Molenda authored
ObjectFileMachO, for a couple of special binaries at the initial launch, needs to find segment load addresses before the Target's SectionLoadList has been initialized. The calculation to find the first segment, which is at the same address as the mach header, was not correct if the binary was in the Darwin shared cache. Update the logic to handle that case. Differential Revision: https://reviews.llvm.org/D119602 rdar://88802629
-
Shraiysh Vaishay authored
This patch changes the argument from template-IRBuilder to IRBuilderBase thus allowing us to write less code while getting the location from a builder. Reviewed By: ftynse Differential Revision: https://reviews.llvm.org/D119717
-
Aaron Ballman authored
Post-commit review feedback suggested dropping the deprecated diagnostic for the 'noreturn' macro (the diagnostic from the header file suffices and the macro diagnostic could be confusing) and to only issue the deprecated diagnostic for [[_Noreturn]] when the attribute identifier is either directly written or not from a system macro. Amends the commit made in 5029dce4.
-
Fangrui Song authored
-
Fangrui Song authored
-
Snehasish Kumar authored
This reverts commit 0f73fb18. Use llvm/Profile/MIBEntryDef.inc instead of relative path. Generated the raw profile data with `-mllvm -enable-name-compression=false` so that builbots where the reader is built without zlib do not fail. Also updated the test build instructions.
-
Andy Yankovsky authored
The test actually passes fine on Windows, since it doesn't use any static members. Follow-up to https://reviews.llvm.org/D113498
-
Peter Klausler authored
While one cannot of course statically initialize an allocatable component of an instance of a derived type, its mere presence should not prevent DATA initialization of the other nonallocatable components. Semantics was treating the existence of an allocatable component as a case of "default initialization", which it is, but not one that should run afoul of C877. Add another Boolean argument to IsInitialized() to allow for a more nuanced test. Differential Revision: https://reviews.llvm.org/D119449
-
Fangrui Song authored
-
Maksim Panchenko authored
When a jump table is recovered in postProcessIndirectBranches(), successors for the containing basic block are added in random order. Make the order deterministic. Reviewed By: yota9 Differential Revision: https://reviews.llvm.org/D119672
-
Kai Nacke authored
With XPLINK, dynamic stack allocations requires calling a runtime function, which allocates the stack memory, moves the register save area, and returns the new stack pointer. Reviewed By: uweigand Differential Revision: https://reviews.llvm.org/D119732
-
alex-t authored
This change enables "abs" SDNodes selection by the node divergence. Reviewed By: rampitec Differential Revision: https://reviews.llvm.org/D119581
-
Maksim Panchenko authored
Reviewed By: yota9, Amir Differential Revision: https://reviews.llvm.org/D119673
-
LLVM GN Syncbot authored
-
Snehasish Kumar authored
This reverts commit 43c2348c. Buildbots are failing with an error on reading memprof testdata. "Inputs/basic.profraw: profile uses zlib compression but the profile reader was built without zlib support" https://lab.llvm.org/buildbot/#/builders/16/builds/24490
-
Alex Brachet authored
Reviewed By: sivachandra, lntue Differential Revision: https://reviews.llvm.org/D119511
-
Raman Tenneti authored
Add support for getenv as defined by the Open Group's "System Interface & Header" in https://pubs.opengroup.org/onlinepubs/7908799/xsh/getenv.html getenv requires a standard way of accessing the environment, so a pointer to the environment is added to the startup in crt1. Consquently, this function is not usable on top of other libcs. Added starts_with method to StringView. getenv function uses it. Co-authored-by:
Jeff Bailey <jeffbailey@google.com> Reviewed By: sivachandra, rtenneti Differential Revision: https://reviews.llvm.org/D119403
-
Peter Klausler authored
When the runtime is initializing an instance of a derived type, don't crash if an allocatable character component has deferred length. Differential Revision: https://reviews.llvm.org/D119731
-
Andy Yankovsky authored
The IR interpreter supports const operands to the `GetElementPtr` IR instruction, so it should be able to evaluate expression without JIT. Follow up to https://reviews.llvm.org/D113498 Reviewed By: shafik Differential Revision: https://reviews.llvm.org/D119734
-
LLVM GN Syncbot authored
-
Snehasish Kumar authored
This patch adds support for optional memory profile information to be included with and indexed profile. The indexed profile header adds a new field which points to the offset of the memory profile section (if present) in the indexed profile. For users who do not utilize this feature the only overhead is a 64-bit offset in the header. The memory profile section contains (1) profile metadata describing the information recorded for each entry (2) an on-disk hashtable containing the profile records indexed via llvm::md5(function_name). We chose to introduce a separate hash table instead of the existing one since the indexing for the instrumented fdo hash table is based on a CFG hash which itself is perturbed by memprof instrumentation. Differential Revision: https://reviews.llvm.org/D118653
-
Snehasish Kumar authored
While the contents of the profile are backwards compatible the header itself is not. For example, when adding new fields to the header results in significant issues. This change adds allows for portable instantiation of the header across indexed format versions. Differential Revision: https://reviews.llvm.org/D118390
-
Snehasish Kumar authored
Use the macro based format to add a wrapper around the MemInfoBlock when stored in the MemProfRecord. This wrapped block can then be serialized/deserialized based on a schema specified by a list of enums. Differential Revision: https://reviews.llvm.org/D117256
-
Snehasish Kumar authored
This patch refactors out the MemInfoBlock definition into a macro based header which can be included to generate enums, structus and code for each field recorded by the memprof profiling runtime. Differential Revision: https://reviews.llvm.org/D117722
-
Fangrui Song authored
-
Balazs Benics authored
This reverts commit 744745ae. I'm reverting this since this patch caused a build breakage. https://lab.llvm.org/buildbot/#/builders/91/builds/3818
-
Balazs Benics authored
This reverts commit b099e1e5. I'm reverting this since the head of the patch stack caused a build breakage. https://lab.llvm.org/buildbot/#/builders/91/builds/3818
-
Balazs Benics authored
This reverts commit bf5963bf. I'm reverting this since the head of the patch stack caused a build breakage. https://lab.llvm.org/buildbot/#/builders/91/builds/3818
-
Stella Laurenzo authored
* While annoying, this is the only way to get C++ exception handling out of the happy path for normal iteration. * Implements sq_length and sq_item for the sequence protocol (used for iteration, including list() construction). * Implements mp_subscript for general use (i.e. foo[1] and foo[1:1]). * For constructing a `list(op.results)`, this reduces the time from ~4-5us to ~1.5us on my machine (give or take measurement overhead) and eliminates C++ exceptions, which is a worthy goal in itself. * Compared to a baseline of similar construction of a three-integer list, which takes 450ns (might just be measuring function call overhead). * See issue discussed on the pybind side: https://github.com/pybind/pybind11/issues/2842 Differential Revision: https://reviews.llvm.org/D119691
-