- Jun 25, 2020
-
-
Valeriy Savchenko authored
Differential Revision: https://reviews.llvm.org/D81592
-
Valeriy Savchenko authored
Summary: It provides a simpler interface for testing within docker. This way the user is not required to no how to use `docker run` and its options. Differential Revision: https://reviews.llvm.org/D81572
-
Valeriy Savchenko authored
Summary: Static analysis is very sensitive to environment. OS and libraries installed can affect the results. This fact makes it extremely hard to have a regression testing system that will produce stable results. For this very reason, this commit introduces a new dockerized testing environment, so that every analyzer developer can check their changes against previous analysis results. Differential Revision: https://reviews.llvm.org/D81571
-
Guillaume Chatelet authored
Summary: Alignment needs to be resolved at this point so we replace the 0 value with the ABI Type Alignment.
-
Djordje Todorovic authored
Before the fix the build of docs-llvm-html would fail. The D80959 introduced options that are not recognized, so we have warning as: llvm-project/llvm/docs/CommandGuide/llvm-dwarfdump.rst:40\ :unknown option: --debug-info Differential Revision: https://reviews.llvm.org/D82460
-
Djordje Todorovic authored
Before the fix the build of docs-llvm-html would fail. The rG8bc03d216824 introduced a reference to an undefined label, so we have warning as: llvm-project/llvm/docs/GlobalISel/GenericOpcode.rst:295:\ undefined label: i_intr_llvm_ptrmask (if the link has no\ caption the label must precede a section header)
-
Frederik Gossen authored
Lower `shape_of` for unranked tensors. Materializes shape in stack-allocated memory. Differential Revision: https://reviews.llvm.org/D82196
-
Frederik Gossen authored
Lower `shape.rank` to standard dialect. A shape's size is the same as the extent of the first and only dimension of the `tensor<?xindex>` it is represented by. Differential Revision: https://reviews.llvm.org/D82080
-
Shawn Landden authored
-
Frederik Gossen authored
Replace any `rank(shape_of(tensor))` that relies on a ranked tensor with the corresponding constant `const_size`. Differential Revision: https://reviews.llvm.org/D82077
-
Piotr Sobczak authored
Summary: Add patterns to select s_cselect in the isel. Handle more cases of implicit SCC accesses in si-fix-sgpr-copies to allow new patterns to work. Subscribers: arsenm, kzhuravl, jvesely, wdng, nhaehnle, yaxunl, dstuttard, tpr, t-tye, hiraditya, asbirlea, kerbowa, llvm-commits Tags: #llvm Re-commit D81925 with a bugfix D82370. Differential Revision: https://reviews.llvm.org/D81925 Differential Revision: https://reviews.llvm.org/D82370
-
David Spickett authored
This reverts commit f570d581. The test was failing on MacOS if you set LLVM_DEFAULT_TARGET_TRIPLE. For example if you set it to "x86_64-apple-darwin" clang actually uses "x86_64-apple-darwin<version>". To fix this get default triple from clang itself during the test instead of substituting it in via lit.
-
Frederik Gossen authored
Add constant folding for the `shape.rank` operation of the shape dialect. Differential Revision: https://reviews.llvm.org/D82076
-
Aleksandr Urakov authored
Summary: When evaluating an expression referencing a constexpr static member variable, an error is issued because the PDB does not specify a symbol with an address that can be relocated against. Rather than attempt to resolve the variable's value within the IR execution, the values of all constants can be looked up and incorporated into the AST of the record type as a literal, mirroring the original compiler AST. This change applies to DIA and native PDB loaders. Patch By: jackoalan Reviewers: aleksandr.urakov, jasonmolenda, zturner, jdoerfert, teemperor Reviewed By: aleksandr.urakov Subscribers: sstefan1, lldb-commits, llvm-commits, #lldb Tags: #lldb, #llvm Differential Revision: https://reviews.llvm.org/D82160
-
Frederik Gossen authored
Add `shape.rank` operation to the shape dialect. Differential Revision: https://reviews.llvm.org/D82028
-
Tobias Gysi authored
Summary: The patch optimizes the tiling of parallel loops with static bounds if the number of loop iterations is an integer multiple of the tile size. Reviewers: herhut, ftynse, bondhugula Reviewed By: herhut, ftynse Subscribers: bondhugula, mehdi_amini, rriddle, jpienaar, shauheen, antiagainst, nicolasvasilache, arpith-jacob, mgester, lucyrfox, aartbik, liufengdb, stephenneuendorffer, Joonsoo, grosul1, frgossen, Kayjukh, jurahul, msifontes Tags: #mlir Differential Revision: https://reviews.llvm.org/D82003
-
Sander de Smalen authored
This patch enables the following macros when their corresponding target attributes are set: __ARM_FEATURE_SVE (+sve) __ARM_FEATURE_SVE2 (+sve2) __ARM_FEATURE_SVE2_AES (+sve2-aes) __ARM_FEATURE_SVE2_BITPERM (+sve2-bitperm) __ARM_FEATURE_SVE2_SHA3 (+sve2-sha3) __ARM_FEATURE_SVE2_SM4 (+sve2-sm4) This implies that the base SVE and SVE2 ACLE (00bet2) are now feature complete, meaning that all intrinsics are implemented in LLVM and Clang. Disclaimer: To implement the ACLE we have had to fix up many parts of LLVM to make it support scalable vectors. We have also used many target-specific intrinsics to reduce reliance on parts of LLVM where we know scalable vectors may not yet be handled properly (e.g. some transformation might drop the 'scalable' flag on a vector type). While we've done a best effort with the limited testing that is available to us, we're still working to improve the stability of the implementation. Additionally, Clang may print warnings that code may have miscompiled. We find this often to be a false alarm where the wrong interfaces have been used in LLVM and where resulting code is not actually incorrect. However, this warrants a bug report and investigation. If you find any bugs or issues, please raise them on bugs.llvm.org and let us know! Reviewers: rengolin, efriedma, david-arm, SjoerdMeijer Reviewed By: SjoerdMeijer Differential Revision: https://reviews.llvm.org/D81725
-
Saiyedul Islam authored
Summary: When -fopenmp option is specified then version 5.0 will be set as default. Reviewers: gregrodgers, jdoerfert, ABataev Reviewed By: ABataev Subscribers: pdhaliwal, yaxunl, guansong, sstefan1, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D81098
-
David Sherwood authored
This patch fixes a compiler crash that was hit when trying to simplify the following code: getelementptr [2 x i64], [2 x i64]* null, i64 0, <vscale x 2 x i64> zeroinitializer For the case where we have a null pointer value like above, we just need to ensure we don't assume the indices are always fixed width. Differential Revision: https://reviews.llvm.org/D82183
-
Max Kazantsev authored
-
Max Kazantsev authored
This patch transforms ``` p = phi [x, y] s = select cond, z, p ``` with ``` s = phi[x, z] ``` if we can prove that the Phi node takes values basing on select's condition. Differential Revision: https://reviews.llvm.org/D82072 Reviewed By: nikic
-
Craig Topper authored
Previously we just updated a map and moved on. But it possible we cached known bits information with the vreg that can be used by another basic block. If the other basic block has a different view of the VT these known bits won't make sense. By emitting a copy we ensure we have different vregs before and after the bitcast. This prevents the known bits from being used with the wrong type. Differential Revision: https://reviews.llvm.org/D82517
-
Kazushi (Jam) Marukawa authored
Summary: Add a preprocessor test to check VE predefinitions. Add a driver test to check VE toolchain behavior. Reviewers: simoll, k-ishizaka Reviewed By: simoll Subscribers: krytarowski, jfb, ormris, cfe-commits Tags: #llvm, #ve, #clang Differential Revision: https://reviews.llvm.org/D82461
-
Wang, Pengfei authored
Summary: This will result opcode MULX32Hrm been emitted to MULX32Hrr. Reviewed by: craig.topper Differential Revision: https://reviews.llvm.org/D82472
-
Mehdi Amini authored
gcc fails with: explicit specialization in non-namespace scope
-
Pengfei Wang authored
-
Arthur Eubanks authored
Reviewers: asbirlea Subscribers: llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D82512
-
Sid Manning authored
Differential Revision: https://reviews.llvm.org/D82484
-
Michele Scandale authored
All other floating point math optimization related attribute are merged in a conservative way during function inlining. This commit adds the merge rule for the 'no-signed-zeros-fp-math' attribute. Differential Revision: https://reviews.llvm.org/D81714
-
Jonas Devlieghere authored
Update the rest of lldb to use std::make_unique<>. I used clang-tidy to automate this, which probably missed cases that are wrapped in ifdefs.
-
George Mitenkov authored
This patch introduces conversion patterns for `spv.module` and `spv._module_end`. SPIR-V module is converted into `ModuleOp`. This will play a role of enclosing scope to LLVM ops. At the moment, SPIR-V module attributes (such as memory model, etc) are ignored. Differential Revision: https://reviews.llvm.org/D82468
-
River Riddle authored
This helps improve the readability when scrolling through the many functions of ConversionPatternRewriterImpl.
-
HazemAbdelhafez authored
Add Transpose operation to SPIRV dialect. Differential Revision: https://reviews.llvm.org/D82308
-
Amara Emerson authored
Some sequences of optimizations can generate call sites which may never be executed during runtime, and through constant propagation result in dynamic allocas being converted to static allocas with very large allocation amounts. The inliner tries to move these to the caller's entry block, resulting in the stack limits being reached/bypassed. Avoid inlining functions if this would result. The threshold of 64k currently doesn't get triggered on the test suite with an -Os LTO build on arm64, care should be taken in changing this in future to avoid needlessly pessimising inlining behaviour. Differential Revision: https://reviews.llvm.org/D81765
-
River Riddle authored
This revision adds a new support header, InterfaceSupport, to contain various generic bits of functionality for implementing "Interfaces". Interfaces embody a mechanism for attaching concept-based polymorphism to a type system. With this refactoring a new InterfaceMap type is added to allow for efficient interface lookups without going through an indirect call. This should provide a decent performance speedup without changing the size of AbstractOperation. In a future revision, this functionality will also be used to bring Interface like functionality to Attributes and Types. Differential Revision: https://reviews.llvm.org/D81882
-
Xing GUO authored
The 'Descriptor' field of .debug_gnu_pubnames and .debug_gnu_pubtypes section should be 1-byte rather than 4-byte. This patch helps resolve this issue.
-
Rahul Joshi authored
Differential Revision: https://reviews.llvm.org/D82489
-
Davide Italiano authored
Again, debugging doesn't work on the new platform without this, so it's implicitly covered by the testsuite.
-
Davide Italiano authored
This makes "target create /bin/ls" properly detect which platform is needed when running lldb. Covered by many tests in the suite.
-
Jonas Devlieghere authored
I was holding off on this change until we moved to C++14 as to not have to convert llvm::make_unique to std::make_unique. That happened a while ago so here's the first patch for the API which had a bunch of raw `new`s.
-