- Feb 05, 2022
-
-
Joseph Huber authored
This patch completely removes the old OpenMP device runtime. Previously, the old runtime had the prefix `libomptarget-new-` and the old runtime was simply called `libomptarget-`. This patch makes the formerly new runtime the only runtime available. The entire project has been deleted, and all references to the `libomptarget-new` runtime has been replaced with `libomptarget-`. Reviewed By: JonChesterfield Differential Revision: https://reviews.llvm.org/D118934
-
Philip Reames authored
All members of a scheduled bundle must have valid dependencies, with no unscheduled ones, and only the lead element gets marked scheduled.
-
Aaron Ballman authored
A significant number of our tests in C accidentally use functions without prototypes. This patch converts the function signatures to have a prototype for the situations where the test is not specific to K&R C declarations. e.g., void func(); becomes void func(void); This is the second batch of tests being updated (there are a significant number of other tests left to be updated).
-
Joseph Huber authored
This patch adds the '-Bsymbolic' flag when we perform linking for the offloading device. We already pass '-fvisibility=protected' but this is not properly handled when using the bfd linker as is described in https://maskray.me/blog/2021-05-16-elf-interposition-and-bsymbolic. Previously this caused linker errors when creating the shared library. Reviewed By: JonChesterfield Differential Revision: https://reviews.llvm.org/D119018
-
Shilei Tian authored
This can fix the case atomic_messages
-
Konstantin Varlamov authored
-
wren romano authored
Explicitly nests passes for FuncOp, adds more options to the sparse-compiler pipeline, and updates python integration tests. This should be sufficient to close https://github.com/llvm/llvm-project/issues/51751 Reviewed By: aartbik Differential Revision: https://reviews.llvm.org/D118658
-
Owen Pan authored
The l_brace token in a macro definition should not be set to TT_FunctionLBrace. This patch could have fixed #42087. Differential Revision: https://reviews.llvm.org/D118969
-
Eugene Zhulenev authored
Do not use quadratic complexity algorithm to find unique operands Reviewed By: jpienaar Differential Revision: https://reviews.llvm.org/D119021
-
gysit authored
Adapt `tileConsumerAndFuseProducers` to return failure if the generated tile loop nest is empty since all tile sizes are zero. Additionally, fix `LinalgTileAndFuseTensorOpsPattern` to return success if the pattern applied successfully. Reviewed By: mravishankar Differential Revision: https://reviews.llvm.org/D118878
-
Devin Jeanpierre authored
This reverts commit 852afed5. Changes since D114732: On PS4, we reverse the expectation that classes whose constructor is deleted are not trivially relocatable. Because, at the moment, only classes which are passed in registers are trivially relocatable, and PS4 allows passing in registers if the copy constructor is deleted, the original assertions were broken on PS4. (This is kinda similar to DR1734.) Reviewed By: gribozavr2 Differential Revision: https://reviews.llvm.org/D119017
-
Sanjay Patel authored
As discussed in D118534, all of the recent AMD CPUs have relatively fast (<14 cycle latency) "sqrtss" and "sqrtps" instructions: https://uops.info/table.html?search=sqrtps&cb_lat=on&cb_tp=on&cb_SNB=on&cb_SKL=on&cb_ZENp=on&cb_ZEN2=on&cb_ZEN3=on&cb_measurements=on&cb_avx=on&cb_sse=on So we should set this tuning flag to alter codegen of plain "sqrt(X)" expansion (as opposed to reciprocal-sqrt - there is other test coverage for that pattern). The expansion is both slower and less accurate than the hardware instruction. Differential Revision: https://reviews.llvm.org/D119001
-
Keith Smiley authored
When using llvm-libtool-darwin with LTO building llvm itself, it crashed on a file with an asm module in the bitcode. This fixes that by correctly registering the targets for this. Differential Revision: https://reviews.llvm.org/D118575
-
LLVM GN Syncbot authored
-
Craig Topper authored
Using AArch64's original implementation for reference, this patch implements a pass to remove unneeded copies of X0. This pass runs after register allocation and looks to see if a register is implied to be 0 by a branch in the predecessor basic block. Reviewed By: asb Differential Revision: https://reviews.llvm.org/D118160
-
Jonas Devlieghere authored
This addresses Pavel's comment from D118814.
-
Joseph Huber authored
Summary; This test should pass now with AMDGPU. Previously the symbols were hidden and would fail when read.
-
Florian Mayer authored
If NumInterestingAllocas == 0 we do not add any instrumentation or padding in the previous loop. Reviewed By: eugenis Differential Revision: https://reviews.llvm.org/D118961
-
David Goldman authored
Previously, the Framework name was only set if the file came from a header mapped framework; now we'll always set the framework name if the file is in a framework. Differential Revision: https://reviews.llvm.org/D117830
-
Benjamin Kramer authored
-
Jonas Devlieghere authored
The symbol table needs to demangle all symbol names when building its index. However, this doesn't require the full mangled name: we only need the base name and the function declaration context. Currently, we always construct the demangled string during indexing and cache it in the string pool as a way to speed up future lookups. Constructing the demangled string is by far the most expensive step of the demangling process, because the output string can be exponentially larger than the input and unless you're dumping the symbol table, many of those demangled names will not be needed again. This patch avoids constructing the full demangled string when we can partially demangle. This speeds up indexing and reduces memory usage. I gathered some numbers by attaching to Slack: Before ------ Memory usage: 280MB Benchmark 1: ./bin/lldb -n Slack -o quit Time (mean ± σ): 4.829 s ± 0.518 s [User: 4.012 s, System: 0.208 s] Range (min … max): 4.624 s … 6.294 s 10 runs After ----- Memory usage: 189MB Benchmark 1: ./bin/lldb -n Slack -o quit Time (mean ± σ): 4.182 s ± 0.025 s [User: 3.536 s, System: 0.192 s] Range (min … max): 4.152 s … 4.233 s 10 runs Differential revision: https://reviews.llvm.org/D118814 -
Jonas Devlieghere authored
Have the different ::Parse.* methods return the demangled string directly instead of having to go through ::GetBufferRef. Differential revision: https://reviews.llvm.org/D118953
-
Fangrui Song authored
Fix build for Linux musl. Reviewed By: #sanitizers, dvyukov Differential Revision: https://reviews.llvm.org/D118970
-
Philip Reames authored
We can simply compute the value of this field on demand. Doing so clarifies the behavior when one of the instructions within a bundle doesn't have valid dependencies. I vaguely thing this could change behavior slightly, but none of the test cases are affected, and my attempts to write one by hand have failed. This also minorly reduces memory usage, but that's a secondary value at best.
-
Prashant Kumar authored
This reverts commit 3cc54477. SmallVector inside SmallVector are not optimized. Reviewed By: arjunp Differential Revision: https://reviews.llvm.org/D119005
-
Amir Ayupov authored
clang-10 complains about changed section flags in two tests: - X86/shrinkwrapping.test - X86/exceptions-args.test Fix that by adding the missing flags. Reviewed By: yota9 Differential Revision: https://reviews.llvm.org/D119014
-
LLVM GN Syncbot authored
-
LLVM GN Syncbot authored
-
Sebastian Neubauer authored
Delay reading global metadata until the first function or the end of the file is emitted. That way, earlier module passes can set metadata that is emitted in the ELF. `emitStartOfAsmFile` gets called when the passes are initialized, which prevented earlier passes from changing the metadata. This fixes issues encountered after converting AMDGPUResourceUsageAnalysis to a Module pass in D117504. Differential Revision: https://reviews.llvm.org/D118492
-
Arthur O'Dwyer authored
Discovered in the comments on D118748: we would like this namespace to exist anytime Ranges exists, regardless of whether concepts syntax is supported. Also, we'd like to fully granularize the <ranges> header, which means not putting any loose declarations at the top level. Differential Revision: https://reviews.llvm.org/D118809
-
Shilei Tian authored
This patch adds the Sema support for `atomic compare`. Reviewed By: ABataev Differential Revision: https://reviews.llvm.org/D116637
-
Fangrui Song authored
--warn-shared-textrel is ignored in ld.lld and obsoleted in GNU ld (https://sourceware.org/bugzilla/show_bug.cgi?id=22909). Note: binutils can be configured with --enable-textrel-check=[yes|error] to make GNU ld error for text relocations by default, like ld.lld. Reviewed By: srhines Differential Revision: https://reviews.llvm.org/D118942
-
Arthur O'Dwyer authored
Now we'll notice if a header forgets to include this magic phrase. Differential Revision: https://reviews.llvm.org/D118800
-
Roman Lebedev authored
... iff the incoming values for the invokes-to-be-merged are compatible (identical).
-
Roman Lebedev authored
-
Roman Lebedev authored
-
Jay Foad authored
Separate the function clearly into: - Checks that can be done on CI and Paired before the loop. - The loop over all instructions between CI and Paired. - Checks that must be done on InstsToMove after the loop. Previously these were mostly done inside the loop in a very confusing way. Differential Revision: https://reviews.llvm.org/D118994
-
Craig Topper authored
Add the vslidedown and interleave patterns that I recently implemented. Reviewed By: frasercrmck Differential Revision: https://reviews.llvm.org/D118952
-
Craig Topper authored
This avoids a crash for scalable vectors and or scalarization for fixed vectors. The algorithm is different enough that I don't think it makes sense to merge with ceil/floor/trunc. Algorithm is adapted from gcc's X86 SSE2 output. Reviewed By: frasercrmck Differential Revision: https://reviews.llvm.org/D117247
-
Simon Pilgrim authored
-