- Aug 13, 2021
-
-
Sam McCall authored
This happens in createInvocationWithCommandLine but only clangd currently passes ShouldRecoverOnErorrs (sic). One cause of this (with correct command) is several -arch arguments for mac multi-arch support. Fixes https://github.com/clangd/clangd/issues/827 Differential Revision: https://reviews.llvm.org/D107632
-
Christian Kandeler authored
... to the one of signature hints. In particular, completion items now also carry annotations, which client code might be interested in. Reviewed By: sammccall Differential Revision: https://reviews.llvm.org/D107365
-
Duncan P. N. Exon Smith authored
This renames `compileModuleAndReadAST`, adding a `BehindLock` suffix, and refactors it to significantly reduce nesting. - Split out helpers `compileModuleAndReadASTImpl` and `readASTAfterCompileModule` which have straight-line code that doesn't worry about locks. - Use `break` in the interesting cases of `switch` statements to reduce nesting. - Use early `return`s to reduce nesting. Detangling the compile-and-read logic from the check-for-locks logic should be a net win for readability, although I also have a side motivation of making the locks optional in a follow-up. No functionality change here. Differential Revision: https://reviews.llvm.org/D95581
-
Christian Kandeler authored
It's quite useful to be able to hover over an #include and see the full path to the header file. Reviewed By: sammccall Differential Revision: https://reviews.llvm.org/D107137
-
Sam McCall authored
Only the bare name is completed, with no args. For args to be useful we need arg names. These *are* in the tablegen but not currently emitted in usable form, so left this as future work. C++11, C2x, GNU, declspec, MS syntax is supported, with the appropriate spellings of attributes suggested. `#pragma clang attribute` is supported but not terribly useful as we only reach completion if parens are balanced (i.e. the line is not truncated) There's no filtering of which attributes might make sense in this grammatical context (e.g. attached to a function). In code-completion context this is hard to do, and will only work in few cases :-( There's also no filtering by langopts: this is because currently the only way of checking is to try to produce diagnostics, which requires a valid ParsedAttr which is hard to get. This should be fairly simple to fix but requires some tablegen changes to expose the logic without the side-effect. Differential Revision: https://reviews.llvm.org/D107696
-
Sam McCall authored
We will use this function to filter code completion of attributes. Differential Revision: https://reviews.llvm.org/D107836
-
Sam McCall authored
Fixes https://github.com/clangd/clangd/issues/705 Differential Revision: https://reviews.llvm.org/D97803
-
Jason Molenda authored
On aarch64 a two instruction sequence is used to calculate a pc-relative address, add some state to the DisassemblerLLVMC symbolicator so it can track the necessary data across the two instructions and compute the address being calculated. Differential Revision: https://reviews.llvm.org/D107213 rdar://49119253
-
Lei Huang authored
Add builtin and intrinsic for `__addex`. This patch is part of a series of patches to provide builtins for compatibility with the XL compiler. Reviewed By: stefanp, nemanjai, NeHuang Differential Revision: https://reviews.llvm.org/D107002
-
Michael Jones authored
Add an implementation of numeric_limits for use in str_conv_utils. It currently only supports the basic integer types, with more types coming as needed. Reviewed By: sivachandra Differential Revision: https://reviews.llvm.org/D107987
-
Chia-hung Duan authored
Move StaticVerifierFunctionEmitter to CodeGenHelper.h so that it can be used for both ODS and DRR. Reviewed By: jpienaar Differential Revision: https://reviews.llvm.org/D106636
-
Vyacheslav Zakharin authored
The new ELF notes are added in clang-offload-wrapper, and llvm-readobj has to visualize them properly. Differential Revision: https://reviews.llvm.org/D99552
-
Heejin Ahn authored
Wasm does not support function addresses with offsets, but isel can generate folded SDValues in the form of (@func + offset) without this patch. Fixes https://bugs.llvm.org/show_bug.cgi?id=43133. Reviewed By: dschuff, sbc100 Differential Revision: https://reviews.llvm.org/D107940
-
Thomas Preud'homme authored
Clang test CodeGen/thinlto-clang-diagnostic-handler-in-be.c fails on some non x86 targets, e.g. hexagon. Since the test already requires x86 to be available as a target this commit forces the target to x86_64. Reviewed By: steven_wu Differential Revision: https://reviews.llvm.org/D107667
-
Sanjay Patel authored
This is a re-try of 6de1dbbd which was reverted because it missed a null check. Extra test for that failure added. Original commit message: This is an adaptation of D41603 and another step on the way to canonicalizing to the intrinsic forms of min/max. See D98152 for status.
-
peter klausler authored
SET_EXPONENT is returning values that are too large by a factor of two. Differential Revision: https://reviews.llvm.org/D107986
-
Craig Topper authored
-Add Z for the B extension subextensions. -Don't mention I along with B or its sub extensions. This is based on comments in D107817. Differential Revision: https://reviews.llvm.org/D107992
-
Andrzej Warzynski authored
https://reviews.llvm.org/D106137 added support for plugins in Flang. The CMake configuration for plugins requires some LLVM variables that are not available in out-of-tree builds (e.g. `LLVM_SHLIB_OUTPUT_INTDIR`). This has caused the out-of-tree BuildBot worker to start failing: * https://lab.llvm.org/buildbot/#/builders/175 This patch effectively disables plugins in out-of-tree builds and fixes the configuration error. In order to support plugins in out-of-tree builds, we would have to find a way to access the missing CMake variables from LLVM. This could be implemented at a later time. Differential Revision: https://reviews.llvm.org/D107973
-
Sam McCall authored
This adds a method to Attr to get at the documentation programmatically. Differential Revision: https://reviews.llvm.org/D107703
-
Vitaly Buka authored
In some binaries, built with clang/lld, libunwind crashes with "unsupported x86_64 register" for regNum == 16: Differential Revision: https://reviews.llvm.org/D107919
-
Michael Kruse authored
-
Bill Wendling authored
-
Bill Wendling authored
A DiffConsumer object may be reused, but we'd like to reset it before the next use. No functionality change intended. Differential Revision: https://reviews.llvm.org/D107985
-
Aart Bik authored
Using the python API to easily set up sparse kernels, this test exhaustively builds, compilers, and runs SpMM for all annotations on a sparse tensor, making sure every version generates the correct result. This test also illustrates using the python API to set up a sparse kernel and sparse compilation. Reviewed By: bixia Differential Revision: https://reviews.llvm.org/D107943
-
Vyacheslav Zakharin authored
It is a NFC to enumerate types of LLVMOMPOFFLOAD ELF notes. Differential Revision: https://reviews.llvm.org/D99612
-
Ivan Zhechev authored
Flang uses positional arguments for `messages::say()`, such as "%1$s" which is only supported in MS Compilers with the `_*printf_p` form of the function. This uses a conditional macro to convert the existing `vsnprintf` used to the one needed in MS-World. 7 tests in D107575 rely on this change. Reviewed By: Meinersbur Differential Revision: https://reviews.llvm.org/D107654
-
Florian Hahn authored
This reverts the revert 28c04794. The failing MLIR test that caused the revert should be fixed in this version. Also includes a PPC test fix previously in 1f87c7c4.
-
Louis Dionne authored
Since we officially don't support several older compilers now, we can drop a lot of the markup in the test suite. This helps keep the test suite simple and makes sure that UNSUPPORTED annotations don't rot. This is the first patch of a series that will remove annotations for compilers that are now unsupported. Differential Revision: https://reviews.llvm.org/D107787
-
LLVM GN Syncbot authored
-
Kiran Chandramohan authored
std::clock_t can be an unsigned value on some platforms like MacOS and therefore needs a cast when initializing an std::clock_t value with -1. Reviewed By: klausler Differential Revision: https://reviews.llvm.org/D107972
-
Craig Topper authored
DAGCombiner::visitStore can call GetDemandedBits which will remove upper bits from immediates. The upper bits are important for good materialization of negative constants on RISCV. GetDemandedBits is a different mechanism than SimplifyDemandedBits so TargetShrinkDemandedConstant can't block it. As far as I know this behavior is unique to stores. I think we can fix this in isel using a concept similar to D107658. Reviewed By: frasercrmck Differential Revision: https://reviews.llvm.org/D107860
-
zoecarver authored
Differential Revision: https://reviews.llvm.org/D107920
-
Craig Topper authored
[RISCV] Teach vsetvli insertion pass that it doesn't need to insert vsetvli for unit-stride or strided loads/stores in some cases. For unit-stride and strided load/stores we set the SEW operand of the pseudo instruction equal the EEW in the opcode. The LMUL of the pseudo instruction is the LMUL we want. These instructions calculate EMUL=(EEW/SEW) * LMUL. We can use this to avoid changing vtype if the SEW/LMUL of the previous vtype matches the EEW/EMUL ratio we need for the instruction. Due to how the global analysis works, we can only do this optimization when the previous vsetvli was produced in the block containing the store. We need to know in the first phase if the vsetvli will be inserted so we can propagate information to the successors in the second phase correctly. This means we can't depend on predecessors. Reviewed By: rogfer01 Differential Revision: https://reviews.llvm.org/D106601
-
Craig Topper authored
-
Craig Topper authored
Instead of using scalar size divided by 8 for segment loads, get the alignment from clang's type system. Make vleff match for consistency. Also replace uses of getPointerElementType() which will be removed as part of the OpaquePtr changes. Reviewed By: HsiangKai Differential Revision: https://reviews.llvm.org/D106738
-
Roman Lebedev authored
We really shouldn't deal with a conditional branch that can be trivially constant-folded into an unconditional branch. Indeed, barring failure to trigger BB reprocessing, that should be true, so let's assert as much, and hope the assertion never fires. If it does, we have a bug to fix.
-
Roman Lebedev authored
Mainly, i want to add an assertion that `SimplifyCFGOpt::simplifyCondBranch()` doesn't get asked to deal with non-unconditional branches, and if i do that, then said assertion fires on existing tests, and this is what prevents it from firing.
-
Kazu Hirata authored
The function was introduced without a use on Sep 16, 2011 in commit 5acab501.
-
Jon Chesterfield authored
This reverts commit b6113548.
-