- Nov 23, 2021
-
-
Martin Storsjö authored
For relocations against temporary symbols (that don't persist in the object file), we normally adjust them to reference the start of the section. For adrp relocations, the immediate offset from the referenced symbol is stored in the opcode as the 21 bit signed immediate; this means that the symbol referenced must be within +/- 1 MB from the referenced symbol. Create label symbols with regular intervals (1 MB intervals). For relocations against temporary symbols, pick the preceding added offset symbol and make the relocation against that instead of against the start of the section. This should fix the root issue behind https://bugs.llvm.org/show_bug.cgi?id=52378. Differential Revision: https://reviews.llvm.org/D114340
-
Nicolas Vasilache authored
This revision follows up on the conversation titled: ```[llvm-dev] Understanding and controlling some of the AVX shuffle emission paths``` The revision adds a vblendps-based implementation for transpose8x8 and further distinguishes between and intrinsics and an inline_asm implementation. This results in roughly 20% fewer cycles as reported by llvm-mca: After this revision (intrinsic version, resolves to virtually identical assembly as per the llvm-dev discussion, no vblendps instruction is emitted): ``` Iterations: 100 Instructions: 5900 Total Cycles: 2415 Total uOps: 7300 Dispatch Width: 6 uOps Per Cycle: 3.02 IPC: 2.44 Block RThroughput: 24.0 Cycles with backend pressure increase [ 89.90% ] Throughput Bottlenecks: Resource Pressure [ 89.65% ] - SKXPort1 [ 0.04% ] - SKXPort2 [ 12.42% ] - SKXPort3 [ 12.42% ] - SKXPort5 [ 89.52% ] Data Dependencies: [ 37.06% ] - Register Dependencies [ 37.06% ] - Memory Dependencies [ 0.00% ] ``` After this revision (inline_asm version, vblendps instructions are indeed emitted): ``` Iterations: 100 Instructions: 6300 Total Cycles: 2015 Total uOps: 7700 Dispatch Width: 6 uOps Per Cycle: 3.82 IPC: 3.13 Block RThroughput: 20.0 Cycles with backend pressure increase [ 83.47% ] Throughput Bottlenecks: Resource Pressure [ 83.18% ] - SKXPort0 [ 14.49% ] - SKXPort1 [ 14.54% ] - SKXPort2 [ 19.70% ] - SKXPort3 [ 19.70% ] - SKXPort5 [ 83.03% ] - SKXPort6 [ 14.49% ] Data Dependencies: [ 39.75% ] - Register Dependencies [ 39.75% ] - Memory Dependencies [ 0.00% ] ``` An accessible copy of the conversation is available [here](https://gist.github.com/nicolasvasilache/68c7f34012584b0e00f335bcb374ede0). Differential Revision: https://reviews.llvm.org/D114393
-
Sandeep Dasgupta authored
Refactored two new parser APIs parseGenericOperationAfterOperands and parseCustomOperationName out of parseGenericOperation and parseCustomOperation. Motivation: Sometimes an op can be printed in a special way if certain criteria is met. While parsing, we need to handle all the versions. `parseGenericOperationAfterOperands` is handy in situation where we already parsed the operands and decide to fall back to default parsing. `parseCustomOperationName` is useful when we need to know details (dialect, operation name etc.) about a parsed token meant to be an mlir operation. Reviewed By: rriddle Differential Revision: https://reviews.llvm.org/D113719
-
Kazu Hirata authored
-
Matthias Springer authored
Add support for analysis only. Differential Revision: https://reviews.llvm.org/D114055
-
Matthias Springer authored
This is in preparation of changing the op traversal during bufferization. Differential Revision: https://reviews.llvm.org/D114040
-
Matthias Springer authored
Differential Revision: https://reviews.llvm.org/D113966
-
Matthias Springer authored
Differential Revision: https://reviews.llvm.org/D113964
-
Walter Erquinigo authored
https://lab.llvm.org/buildbot/#/builders/17/builds/13728 found an issue in the optional formatter.
-
Peter Klausler authored
It was X= in the intrinsics table. Differential Revision: https://reviews.llvm.org/D114296
-
Walter Erquinigo authored
Besides adding the formatter and the summary, this makes the libcxx tests also work for this case. This is the polished version of https://reviews.llvm.org/D114266, authored by Danil Stefaniuc. Differential Revision: https://reviews.llvm.org/D114403
-
Huihui Zhang authored
For FAdd, FMul, FSub and FDiv, fold select into one of the operands to enable further optimizations, i.e., floating-point reduction detection. Turn code: %C = fadd %A, %B %D = select %cond, %C, %A into: %C = select %cond, %B, -0.000000e+00 %D = fadd %A, %C Alive2 verification (with --disable-undef-input), timed out otherwise. FAdd - https://alive2.llvm.org/ce/z/eUxN4Y FMul - https://alive2.llvm.org/ce/z/5SWZz4 FSub - https://alive2.llvm.org/ce/z/Dhj8dU FDiv - https://alive2.llvm.org/ce/z/Yj_NA2 Reviewed By: spatel Differential Revision: https://reviews.llvm.org/D113442
-
Peter Klausler authored
A recent patch to real/complex formatted input included what must have been an editing hiccup: "++ ++p" instead of "++p". This compiles, and it broke the consumption of the trailing ')' of a complex value in namelist input by skipping over the character. Extend existing test to cover this case. Differential Revision: https://reviews.llvm.org/D114297
-
Shoaib Meenai authored
std::vector can have different sizes depending on the STL's debug level, so account for its size separately. (You could argue that we should be accounting for all the other members separately as well, but that would be very unergonomic, and std::vector is the only one that's caused problems so far.)
-
Jon Chesterfield authored
OpenMP (compiler) does not currently request any implicit kernel arguments. OpenMP (runtime) allocates and initialises a reasonable guess at the implicit kernel arguments anyway. This change makes the plugin check the number of explicit arguments, instead of all arguments, and puts the pointer to hostcall buffer in both the current location and at the offset expected when implicit arguments are added to the metadata by D113538. This is intended to keep things running while fixing the oversight in the compiler (in D113538). Once that patch lands, and a following one marks openmp kernels that use printf such that the backend emits an args element with the right type (instead of hidden_node), the over-allocation can be removed and the hardcoded 8*e+3 offset replaced with one read from the .offset of the corresponding metadata element. Reviewed By: estewart08 Differential Revision: https://reviews.llvm.org/D114274
-
Fangrui Song authored
-
Benjamin Kramer authored
`memref.expand_shape` has verification logic to make sure result dim must be static if all the collapsing src dims are static. This can be relaxed once expand_shape supports more dynamism. Differential Revision: https://reviews.llvm.org/D114391
-
Jan Beich authored
All supported FreeBSD releases use libc++, so default to it if the target's major version is not specified. Reviewed by: dim, emaste Differential Revision: https://reviews.llvm.org/D77776
-
Christian Ulmann authored
This patch adds functionality to parse FlatAffineConstraints from a StringRef with the intention to be used for unit tests. This should make the construction of FlatAffineConstraints easier for testing purposes. The patch contains an example usage of the functionality in a unit test that uses FlatAffineConstraints. Reviewed By: bondhugula, grosser Differential Revision: https://reviews.llvm.org/D113275
-
Snehasish Kumar authored
We dropped the printing of live on exit blocks in rG1243cef2 - the commit changed the insertOrMerge logic. Remove the message since it is no longer needed (all live blocks are inserted into the hashmap) before serializing/printing the profile. Furthermore, the original intent was to capture evicted blocks so it wasn't entirely correct. Also update the binary format test invocation to remove the redundant print_text directive now that it is the default. Differential Revision: https://reviews.llvm.org/D114285
-
Groverkss authored
This patch fixes a bug in loop fusion pass where the source loop was removed even when the fused loop did not cover all iterations of the source loop. This was because the fast hueristic check for checking if source loop and fused loop have same iterations did not take into account steps in loop. Reviewed By: dcaballe, bondhugula Differential Revision: https://reviews.llvm.org/D114164
-
Bill Wendling authored
Implement diff of PHI nodes Reviewed By: dblaikie Differential Revision: https://reviews.llvm.org/D114211
-
Florian Hahn authored
This patch adjusts ThreadPool::async to return futures that wrap the result type of the passed in callable. To do so, ThreadPool::asyncImpl first creates a shared promise. The result of the promise is set in a new callable that first executes the task. The callable is added to the task queue. Reviewed By: mehdi_amini Differential Revision: https://reviews.llvm.org/D114183
-
Matt Morehouse authored
The test fails on Android for an unknown reason but is still worth having for x86.
-
Walter Erquinigo authored
This reverts commit 2e6a0a8b. It was pushed by mistake..
-
Danil Stefaniuc authored
[formatters] Add a libstdcpp formatter for for unordered_map, unordered_set, unordered_multimap, unordered_multiset This diff adds a data formatter and tests for libstdcpp's unordered_map, unordered_set, unordered_multimap, unordered_multiset Reviewed By: wallace Differential Revision: https://reviews.llvm.org/D113760
-
Walter Erquinigo authored
Summary: ``` // Facebook only: // We want to load automatically the fblldb python module as soon as lldb or // lldb-vscode start. This will ensure that logging and formatters are enabled // by default. // // As we want to have a mechanism for not triggering this by default, if the // user is starting lldb disabling .lldbinit support, then we also don't load // this module. This is equivalent to appending this line to all .lldbinit // files. // // We don't have the fblldb module on windows, so we don't include it for that // build. ``` Test Plan: the fbsymbols module is loaded automatically ``` ./bin/lldb (lldb) help fbsymbols Facebook {mini,core}dump utility. Expects 'raw' input (see 'help raw-input'.) ``` Reviewers: wanyi Reviewed By: wanyi Subscribers: mnovakovic, serhiyr, phabricatorlinter Differential Revision: https://phabricator.intern.facebook.com/D29372804 Tags: accept2ship Signature: 29372804:1624567770:07836e50e576bd809124ed80a6bc01082190e48f [lldb] Load fblldbinit instead of fblldb Summary: Once accepted, it'll merge it with the existing commit in our branch so that we keep the commit list as short as possible. Test Plan: https://www.internalfb.com/diff/D30293094 Reviewers: aadsm, wanyi Reviewed By: aadsm Subscribers: mnovakovic, serhiyr Differential Revision: https://phabricator.intern.facebook.com/D30293211 Tags: accept2ship Signature: 30293211:1628880953:423e2e543cade107df69da0ebf458e581e54ae3a -
LLVM GN Syncbot authored
-
Haowei Wu authored
MemProfUnitTest now depends on libcxx but the dependency is not explicitly expressed in build system, causing build races. This patch addresses this issue. Differential Revision: https://reviews.llvm.org/D114267
-
Peter Klausler authored
The predicate IsCoarray() needs to be in libFortranEvaluate so that IsSaved() can call it without breaking the shared library build. Pushed without pre-commit review as I'm moving code around and the fix to the shared build is confirmed.
-
Alfredo Dal'\''Ava Junior authored
This enables Intel intrinsics support on FreeBSD. Thanks to @pkubaj who noticed this feature was missing Reviewed By: jsji Differential Revision: https://reviews.llvm.org/D113451
-
Quinn Pham authored
[NFC] As part of using inclusive language within the llvm project, this patch replaces master with main in `2007-04-02-RegScavengerAssert.ll`. Reviewed By: dblaikie Differential Revision: https://reviews.llvm.org/D114276
-
Jay Foad authored
Differential Revision: https://reviews.llvm.org/D114353
-
Alexander Belyaev authored
This reverts commit 3028bca6. For some reason using FallbackModel works with CMake and does not work with bazel. Using `ExternalModel` works. I will check what's going on and resubmit tomorrow.
-
Quinn Pham authored
[NFC] As part of using inclusive language within the llvm project, this patch replaces master with controller in these tests. Reviewed By: rjmccall Differential Revision: https://reviews.llvm.org/D114108
-
Alexander Belyaev authored
Remove the interface from op defs in MemRefOps.td and make it an external model. This is the first PR of many that will move bufferization-related ops, interfaces, passes to Dialect/Bufferize. RFC: https://llvm.discourse.group/t/rfc-dialect-for-bufferization-related-ops/4712 It is still debated if the comprehensive bufferization has to be moved there as well, so for now I am just moving the "gradual" bufferization. Differential Revision: https://reviews.llvm.org/D114147
-
Sanjay Patel authored
Avoid phantom (cosmetic value naming) diffs in potential future patches.
-
Sanjay Patel authored
The update script ( utils/update_test_checks.py ) warns against this because it can conflict with the default FileCheck names given to anonymous values in the IR.
-
Sanjay Patel authored
-