- Jul 31, 2021
-
-
Petr Hosek authored
This fixes support for merging profiles which broke as a consequence of e50a3884. The issue was missing adjustment in merge logic to account for the binary IDs which are now included in the raw profile just after header. In addition, this change also: * Includes the version in module signature that's used for merging to avoid accidental attempts to merge incompatible profiles. * Moves the binary IDs size field after version field in the header as was suggested in the review. Differential Revision: https://reviews.llvm.org/D107143
-
River Riddle authored
This allows for reusing the same output channel when the extension reloads after updating the server. Currently, whenever the extension restarts a new output channel is created (which can lead to a large number of seemingly dead output channels).
-
River Riddle authored
Quite a few things were out-of-date, or just not organized well. This revision updates the extension name, repo, icon, and many other components in preperation for publishing the extension to the marketplace.
-
Siva Chandra Reddy authored
TestHelpers.h pulls few pieces from LLVM libc's unittest framework which aren't available on platforms like Fuchsia which use their own unittest framework. So, by moving FPExceptMatcher to a different file we can exclude LLVM libc specific pieces in a cleaner way. In a later pass, it might make more sense to rename TestHelpers.h also to FPMatcher.h. That way, we can make macros like EXPECT_FP_EQ to be equivalent to EXPECT_EQ on platforms like Fuchsia. Reviewed By: michaelrj Differential Revision: https://reviews.llvm.org/D107129
-
Vitaly Buka authored
As code diverge from Google style we need to add more and more exceptions to suppress conflicts with clang-format and clang-tidy. As this point it does not provide a additional value. Reviewed By: morehouse Differential Revision: https://reviews.llvm.org/D107197
-
peter klausler authored
Rename the current -E option to "-E -Xflang -fno-reformat". Add a new Parsing::EmitPreprocessedSource() routine to convert the cooked character stream output of the prescanner back to something more closely resembling output from a traditional preprocessor; call this new routine when -E appears. The new -E output is suitable for use as fixed form Fortran source to compilation by (one hopes) any Fortran compiler. If the original top-level source file had been free form source, the output will be suitable for use as free form source as well; otherwise there may be diagnostics about missing spaces if they were indeed absent in the original fixed form source. Unless the -P option appears, #line directives are interspersed with the output (but be advised, f18 will ignore these if presented with them in a later compilation). An effort has been made to preserve original alphabetic character case and source indentation. Add -P and -fno-reformat to t...
-
zoecarver authored
-
Lei Zhang authored
Reviewed By: hanchung Differential Revision: https://reviews.llvm.org/D107122
-
Lei Zhang authored
If the source value to load is bool, and we have native storage capability support for the source bitwidth, we still cannot directly rewrite uses; we need to perform casting to bool first. Reviewed By: hanchung Differential Revision: https://reviews.llvm.org/D107119
-
Lei Zhang authored
If the source value to store is bool, and we have native storage capability support for the target bitwidth, we still cannot directly store; we need to perform casting to match the target memref element's bitwidth. Reviewed By: hanchung Differential Revision: https://reviews.llvm.org/D107114
-
Jon Chesterfield authored
Remove --cuda-path=CUDA_TOOLKIT_ROOT_DIR-NOTFOUND from the invocation of non-nvptx test cases. Better signal to noise ratio on other architectures. Reviewed By: tianshilei1992 Differential Revision: https://reviews.llvm.org/D107074
-
Shoaib Meenai authored
Multiple copies of emulated TLS state means inconsistent results when accessing the same thread-local variable from different shared objects (https://github.com/android/ndk/issues/1551). Making `__emutls_get_address` be a weak default visibility symbol should make the dynamic linker ensure only a single copy gets used at runtime. This is best-effort, but the more robust approach of putting emulated TLS into its own shared object would (a) be a much bigger change, and (b) shared objects are pretty heavyweight, and adding a new one to a space-constrained environment isn't an easy sell. Given the expected rarity of direct accesses to emulated TLS variables across different shared objects, the best-effort approach should suffice. Reviewed By: danalbert, rprichard Differential Revision: https://reviews.llvm.org/D107127
-
Petr Hosek authored
This reverts commit 89d6eb6f, this seemed to have break a few builders.
-
Florian Mayer authored
This reverts commit 84705ed9.
-
Brendon Cahoon authored
Additional asserts were added to ScalarEvolution to enforce pointer/int type rules. An assert is triggered when the LSR pass attempts to extend a pointer SCEV in GenerateTruncates. This patch changes GenerateTruncates to exit early if the Formaula contains a ScaledReg or BaseReg with a pointer type. Differential Revision: https://reviews.llvm.org/D107185
-
Eric Leese authored
This change makes sure that DwarfUnit does not load a .dwo file until necessary. I also take advantage of DWARF 5's guarantee that the first support file is also the primary file to make it possible to create a compile unit without loading the .dwo file. Review By: jankratochvil, dblaikie Differential Revision: https://reviews.llvm.org/D100299
-
Jon Chesterfield authored
Broke nvptx compilation on files including <complex> This reverts commit 12da97ea.
-
Eli Friedman authored
Primarily, configure substitutions so we can copy-paste the "RUN" line of failed tests without worrying about the paths.
-
Petr Hosek authored
This fixes support for merging profiles which broke as a consequence of e50a3884. The issue was missing adjustment in merge logic to account for the binary IDs which are now included in the raw profile just after header. In addition, this change also: * Includes the version in module signature that's used for merging to avoid accidental attempts to merge incompatible profiles. * Moves the binary IDs size field after version field in the header as was suggested in the review. Differential Revision: https://reviews.llvm.org/D107143
-
Jay Foad authored
Differential Revision: https://reviews.llvm.org/D107052
-
Aart Bik authored
Reviewed By: rriddle Differential Revision: https://reviews.llvm.org/D107191
-
Jonas Devlieghere authored
Update ARMGetSupportedArchitectureAtIndex to consider remote macOS debugging. Currently, it defaults to an iOS triple when IsHost() returns false. This fixes TestPlatformSDK.py on Apple Silicon. Differential revision: https://reviews.llvm.org/D107179
-
Fanbo Meng authored
Make DefaultAlignForAttributeAligned consistent with SystemZ. Reviewed By: abhina.sreeskantharajan, anirudhp Differential Revision: https://reviews.llvm.org/D107189
-
Nemanja Ivanovic authored
The builtins vec_xl_len_r and vec_xst_len_r actually use the wrong side of the vector on big endian Power9 systems. We never spotted this before because there was no such thing as a big endian distro that supported Power9. Now we have AIX and the elements are in the wrong part of the vector. This just fixes it so the elements are loaded to and stored from the right side of the vector.
-
pooja2299 authored
Added examples to G_BR, G_BRCOND, G_BRJT, G_BRINDIRECT Differential Revision: https://reviews.llvm.org/D104974
-
Rahman Lavaee authored
This prevents from confusion with the ``labels`` option. Reviewed By: snehasish Differential Revision: https://reviews.llvm.org/D107128
-
Leonard Chan authored
Differential Revision: https://reviews.llvm.org/D99364
-
Fangrui Song authored
Change `CountersPtr` in `__profd_` to a label difference, which is a link-time constant. On ELF, when linking a shared object, this requires that `__profc_` is either private or linkonce/linkonce_odr hidden. On COFF, we need D104564 so that `.quad a-b` (64-bit label difference) can lower to a 32-bit PC-relative relocation. ``` # ELF: R_X86_64_PC64 (PC-relative) .quad .L__profc_foo-.L__profd_foo # Mach-O: a pair of 8-byte X86_64_RELOC_UNSIGNED and X86_64_RELOC_SUBTRACTOR .quad l___profc_foo-l___profd_foo # COFF: we actually use IMAGE_REL_AMD64_REL32/IMAGE_REL_ARM64_REL32 so # the high 32-bit value is zero even if .L__profc_foo < .L__profd_foo # As compensation, we truncate CountersDelta in the header so that # __llvm_profile_merge_from_buffer and llvm-profdata reader keep working. .quad .L__profc_foo-.L__profd_foo ``` (Note: link.exe sorts `.lprfc` before `.lprfd` even if the object writer has `.lprfd` before `.lprfc`, so we cannot work around by reordering `.lprfc` and `.lprfd`.) With this change, a stage 2 (`-DLLVM_TARGETS_TO_BUILD=X86 -DLLVM_BUILD_INSTRUMENTED=IR`) `ld -pie` linked clang is 1.74% smaller due to fewer R_X86_64_RELATIVE relocations. ``` % readelf -r pie | awk '$3~/R.*/{s[$3]++} END {for (k in s) print k, s[k]}' R_X86_64_JUMP_SLO 331 R_X86_64_TPOFF64 2 R_X86_64_RELATIVE 476059 # was: 607712 R_X86_64_64 2616 R_X86_64_GLOB_DAT 31 ``` The absolute function address (used by llvm-profdata to collect indirect call targets) can be converted to relative as well, but is not done in this patch. Differential Revision: https://reviews.llvm.org/D104556 -
David Green authored
This distributes reductions based on the relative offset of loads, if one is found from their operands. Given chains of reductions this will then sort them in ascending load order, which in turn can help simple prefetches latch on to increasing strides more easily. Differential Revision: https://reviews.llvm.org/D106569
-
Anton Zabaznov authored
Reviewed By: Anastasia Differential Revision: https://reviews.llvm.org/D107176
-
Sanjay Patel authored
D107170
-
Sanjay Patel authored
-
Leonard Chan authored
This allows for hwasan to be built targetting fuchsia. Differential Revision: https://reviews.llvm.org/D103543
-
Leonard Chan authored
These functions should not be externally used. We also do not need them internally for Fuchsia. Differential Revision: https://reviews.llvm.org/D99381
-
Mark de Wever authored
@tcanens pointed out the current behavior of the macro breaks the usage pattern described in http://wg21.link/SD6 ``` # if __has_include(<optional>) # include <optional> # if __cpp_lib_optional >= 201606 # define have_optional 1 # endif ``` To support this usage pattern the hard errror is removed. Instead the header includes nothing but the `<version>` header. Reviewed By: ldionne, #libc Differential Revision: https://reviews.llvm.org/D107134
-
Simon Pilgrim authored
Ok should be true at this point, so the early-out is dead - replace with an assert.
-
Simon Pilgrim authored
Match style and don't use an else after a return.
-
Simon Pilgrim authored
Fixes coverity warning - we have an early-out for unsigned depth == 0, so the depth < 1 early-out later on is dead code.
-
Aart Bik authored
Rationale: External file formats always store the values as doubles, so this was hard coded in the memory resident COO scheme used to pass data into the final sparse storage scheme during setup. However, with alternative methods on the horizon of setting up these temporary COO schemes, it is time to properly template this data structure. Reviewed By: gussmith23 Differential Revision: https://reviews.llvm.org/D107001
-
Jonas Devlieghere authored
Always codesign binaries on macOS. Apple Silicon has stricter codesigning requirements, for example requiring macCatalyst binaries to be signed. Ad-hoc sign everything like we do for other Darwin platforms.
-