- Nov 13, 2020
-
-
Nico Weber authored
-
Piotr Sobczak authored
For querying divergence the chained analysis passes are required to be alive, for instance LoopInfoWrapperPass. Ensure that by using addRequiredTransitive. Differential Revision: https://reviews.llvm.org/D91335
-
serge-sans-paille authored
Use exact component name in add_ocaml_library. Make expand_topologically compatible with new architecture. Fix quoting in is_llvm_target_library. Fix LLVMipo component name. Write release note.
-
Florian Hahn authored
This patch adds a new !annotation metadata kind which can be used to attach annotation strings to instructions. It also adds a new pass that emits summary remarks per function with the counts for each annotation kind. The intended uses cases for this new metadata is annotating 'interesting' instructions and the remarks should provide additional insight into transformations applied to a program. To motivate this, consider these specific questions we would like to get answered: * How many stores added for automatic variable initialization remain after optimizations? Where are they? * How many runtime checks inserted by a frontend could be eliminated? Where are the ones that did not get eliminated? Discussed on llvm-dev as part of 'RFC: Combining Annotation Metadata and Remarks' (http://lists.llvm.org/pipermail/llvm-dev/2020-November/146393.html) Reviewed By: thegameg, jdoerfert Differential Revision: https://reviews.llvm.org/D91188
-
Haojian Wu authored
`TD->getTemplatedDecl()` might not be a DeclContext variant, which can trigger an assertion inside `isa<>`. Differential Revision: https://reviews.llvm.org/D91380
-
Hans Wennborg authored
The test fails on Mac, see comment on the code review. > This option was in a rather convoluted place, causing global parameters > to be set in awkward and undesirable ways to try to account for it > indirectly. Add tests for the -disable-debug-info option and ensure we > don't print unintended markers from unintended places. > > Reviewed By: dstenb > > Differential Revision: https://reviews.llvm.org/D91083 This reverts commit 9606ef03.
-
Jan Svoboda authored
Merge existing marhsalling info kinds and add some primitives to express flag options that contribute to a bitfield. Depends on D82574 Original patch by Daniel Grumberg. Reviewed By: Bigcheese Differential Revision: https://reviews.llvm.org/D82860
-
Eugene Zhulenev authored
Depends On D89958 1. Adds `async.group`/`async.awaitall` to group together multiple async tokens/values 2. Rewrite scf.parallel operation into multiple concurrent async.execute operations over non overlapping subranges of the original loop. Example: ``` scf.for (%i, %j) = (%lbi, %lbj) to (%ubi, %ubj) step (%si, %sj) { "do_some_compute"(%i, %j): () -> () } ``` Converted to: ``` %c0 = constant 0 : index %c1 = constant 1 : index // Compute blocks sizes for each induction variable. %num_blocks_i = ... : index %num_blocks_j = ... : index %block_size_i = ... : index %block_size_j = ... : index // Create an async group to track async execute ops. %group = async.create_group scf.for %bi = %c0 to %num_blocks_i step %c1 { %block_start_i = ... : index %block_end_i = ... : index scf.for %bj = %c0 t0 %num_blocks_j step %c1 { %block_start_j = ... : index %block_end_j = ... : index // Execute the body of original parallel operation for the current // block. %token = async.execute { scf.for %i = %block_start_i to %block_end_i step %si { scf.for %j = %block_start_j to %block_end_j step %sj { "do_some_compute"(%i, %j): () -> () } } } // Add produced async token to the group. async.add_to_group %token, %group } } // Await completion of all async.execute operations. async.await_all %group ``` In this example outer loop launches inner block level loops as separate async execute operations which will be executed concurrently. At the end it waits for the completiom of all async execute operations. Reviewed By: ftynse, mehdi_amini Differential Revision: https://reviews.llvm.org/D89963 -
Simon Atanasyan authored
-
Simon Atanasyan authored
-
Kirill Bobyrev authored
This adds a couple of missed tests from existing clang-rename ones and introduces several new ones (e.g. static class member). This patch is required to ensure feature parity for migration off Clang-Rename API D71880. Reviewed By: hokein Differential Revision: https://reviews.llvm.org/D91337
-
Yvan Roux authored
Removes AArch64 target checking inside 32bit ARM test to bring back buildbots to a green state. But $ are not well handled for ARM and it still need to be fixed.
-
Kerry McLaughlin authored
If the scatter store is able to perform the sign/zero extend of its index, this is folded into the instruction with refineIndexType(). Additionally, refineUniformBase() will return the base pointer and index from an add + splat_vector. Reviewed By: sdesmalen Differential Revision: https://reviews.llvm.org/D90942
-
Max Kazantsev authored
-
Simon Pilgrim authored
Let KnownBits shift handlers deal with out-of-range shift amounts.
-
Max Kazantsev authored
-
Raphael Isemann authored
"[lldb/DataFormatters] Display null C++ pointers as nullptr" added an assumption that the member we check for is always a nullptr, but it is actually never initialized. That causes the test to randomly fail due to the pointer having some random value that isn't 0.
-
Simon Pilgrim authored
-
Kazushi (Jam) Marukawa authored
Add vst intrinsic instructions and a regression test. Reviewed By: simoll Differential Revision: https://reviews.llvm.org/D91406
-
Max Kazantsev authored
-
Florian Hahn authored
This fixes a typo introduced in 984e8792 which caused the docs build to fail.
-
Jay Foad authored
-
serge-sans-paille authored
No longer rely on an external tool to build the llvm component layout. Instead, leverage the existing `add_llvm_componentlibrary` cmake function and introduce `add_llvm_component_group` to accurately describe component behavior. These function store extra properties in the created targets. These properties are processed once all components are defined to resolve library dependencies and produce the header expected by llvm-config. Differential Revision: https://reviews.llvm.org/D90848
-
serge-sans-paille authored
-
Lang Hames authored
-
Lang Hames authored
-
Max Kazantsev authored
-
Max Kazantsev authored
Forgot to invert the condition for them.
-
Max Kazantsev authored
-
Stephan Herhut authored
The index type does not have a bitsize and hence the size of corresponding allocations cannot be computed. Instead, the promotion pass now has an explicit option to specify the size of index. Differential Revision: https://reviews.llvm.org/D91360
-
Stephan Herhut authored
This exposes a hook to configure legality of operations such that only `scf.parallel` operations that have mapping attributes are marked as illegal. Consequently, the transformation can now also be applied to mixed forms. Differential Revision: https://reviews.llvm.org/D91340
-
Lang Hames authored
Fix the Kaleidoscope examples after 1d0676b5 by explicitly creating the SymbolStringPool.
-
Kai Luo authored
-
Max Kazantsev authored
-
River Riddle authored
A recent refactoring removed the need to interleave verifier passes and instead opted to verify during the normal execution of passes instead. As such, the old verify pass is no longer necessary and can be removed. Differential Revision: https://reviews.llvm.org/D91212
-
Lang Hames authored
Fix the Kaleidoscope examples after 1d0676b5 by explicitly creating the SymbolStringPool.
-
River Riddle authored
This revision adds support in the parser/printer for "deferrable" aliases, i.e. those that can be resolved after printing has finished. This allows for printing aliases for operation locations after the module instead of before, i.e. this is now supported: ``` "foo.op"() : () -> () loc(#loc) #loc = loc("some_location") ``` Differential Revision: https://reviews.llvm.org/D91227 -
Jason Molenda authored
On x86_64, when you hit a __builtin_debugtrap instruction, you can continue past this in the debugger. This patch has debugserver recognize the specific instruction used for __builtin_debugtrap and advance the pc past it, so that the user can continue execution once they've hit one of these. In the patch discussion, we were in agreement that it would be better to have this knowledge up in lldb instead of depending on each stub rewriting the pc behind the debugger's back, but that's a larger scale change for another day. <rdar://problem/65521634> Differential revision: https://reviews.llvm.org/D91238
-
Lang Hames authored
-
Serge Pavlov authored
The new option `-fproc-stat-info=<file>` can be used to generate report about used memory and execution tile of each stage of compilation. Documentation for this option can be found in `UserManual.rst`. The option can be used in parallel builds. Differential Revision: https://reviews.llvm.org/D78903
-