- Jul 02, 2020
-
-
Tony authored
- Add reference to implicit conversion description.
-
Eric Schweitz authored
This is the header file for lowering Fortran statements that depend on the Fortran runtime support library. The implementation of the lowering of these constructs will follow in a subsequent diff. Differential revision: https://reviews.llvm.org/D82991
-
Valentin Clement authored
Summary: This patch is removing the custom enumeration for OpenMP Directives and Clauses and replace them with the newly tablegen generated one from llvm/Frontend. This is a first patch and some will follow to share the same infrastructure where possible. The next patch should use the clauses allowance defined in the tablegen file. Reviewers: jdoerfert, DavidTruby, sscalpone, kiranchandramohan, ichoyjx Reviewed By: DavidTruby, ichoyjx Subscribers: ichoyjx, mgorny, yaxunl, guansong, jfb, sstefan1, aaron.ballman, llvm-commits Tags: #llvm, #flang Differential Revision: https://reviews.llvm.org/D82906
-
Eric Schweitz authored
[clang-tidy] Allows the prevailing include header guard in Flang to be recognized rather than flagged as a violation in phabricator. Differential revision: https://reviews.llvm.org/D82807
-
Craig Topper authored
[X86] Speculatively apply the same fix from 361853c9 to PromoteIntOp_MGATHER. The UpdateNodeOperands here is also subject to CSE.
-
Eli Friedman authored
I didn't notice these were missing when I wrote 15440191.
-
Craig Topper authored
[LegalizeTypes] Properly handle the case when UpdateNodeOperands in PromoteIntOp_MLOAD triggers CSE instead of updating the node in place. The caller can't handle the node having multiple results like a masked load does. So we need to detect the case and do our own result replacement. Fixes PR46532.
-
Nikita Popov authored
InstCombine may convert conditions like (x < C) && (y < C) into (x | y) < C (for some C). This patch teaches LVI to recognize that in this case, it can infer either x < C or y < C along the edge. This fixes the issue reported at https://github.com/rust-lang/rust/issues/73827. Differential Revision: https://reviews.llvm.org/D82715
-
Gui Andrade authored
-
Xun Li authored
Summary: The test file in D82928 generated temp files within the test directory, causing test failures. Fix it. Reviewers: modocache, fhahn Reviewed By: modocache Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D82986
-
Adrian Prantl authored
This un-breaks the testsuite after https://reviews.llvm.org/D82616
-
Adrian Prantl authored
This reverts commit 98c3a38a.
-
zoecarver authored
Adds `CodeGen::getCXXDestructorImplicitParam`, to retrieve a C++ destructor's implicit parameter (after the "this" pointer) based on the ABI in the given CodeGenModule. This will allow other frontends (Swift, for example) to easily emit calls to object destructors with correct ABI semantics and calling convetions. This is needed for Swift C++ interop. Here's the corresponding Swift change: https://github.com/apple/swift/pull/32291 Differential Revision: https://reviews.llvm.org/D82392
-
Matt Arsenault authored
-
Matt Arsenault authored
-
Matt Arsenault authored
If the original register operand had a subregister, it wasn't getting cleared. This resulted in reinterpreted the subreg index as unrecognized target flags, which produced unparseable MIR.
-
Matt Arsenault authored
This was getting reinterpreted as operand target flags, and appearing as as <unknown target flag>, resulting in unparseable MIR.
-
Craig Topper authored
The default CPU used by llvm-mc doesn't have the NOPL feature, but if we know we're compiling in 64-bit mode we should be able to use nopl.
-
David Sherwood authored
In visitSCALAR_TO_VECTOR we try to optimise cases such as: scalar_to_vector (extract_vector_elt %x) into vector shuffles of %x. However, it led to numerous warnings when %x is a scalable vector type, so for now I've changed the code to only perform the combination on fixed length vectors. Although we probably could change the code to work with scalable vectors in certain cases, without a proper profit analysis it doesn't seem worth it at the moment. This change fixes up one of the warnings in: llvm/test/CodeGen/AArch64/sve-merging-stores.ll I've also added a simplified version of the same test to: llvm/test/CodeGen/AArch64/sve-fp.ll which already has checks for no warnings. Differential Revision: https://reviews.llvm.org/D82872
-
Jonas Devlieghere authored
This reverts commit 0da0437b to unbreak the following tests: lldb-api.tools/lldb-server.TestAppleSimulatorOSType.py lldb-api.tools/lldb-server.TestGdbRemoteAttach.py lldb-api.tools/lldb-server.TestGdbRemoteProcessInfo.py lldb-api.tools/lldb-server.TestGdbRemoteRegisterState.py lldb-api.tools/lldb-server.TestGdbRemoteThreadsInStopReply.py lldb-api.tools/lldb-server.TestLldbGdbServer.py
-
Gui Andrade authored
-
Florian Hahn authored
Simplification suggested post-commit.
-
Xun Li authored
Summary: Previously, source-based coverage analysis does not work properly for coroutine. This patch adds processing of coroutine body and co_return in the coverage analysis, so that we can handle them properly. For coroutine body, we should only look at the actual function body and ignore the compiler-generated things; for co_return, we need to terminate the region similar to return statement. Added a test, and confirms that it now works properly. (without this patch, the statement after the if statement will be treated wrongly) Reviewers: lewissbaker, modocache, junparser Reviewed By: modocache Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D82928
-
Zixu Wang authored
Testing commit access to llvm-project.
-
Yonghong Song authored
Currently, BTF generation stops at pointer struct members if the pointee type is a struct. This is to avoid bloating generated BTF size. The following is the process to correctly record types for these pointee struct types. - During type traversal stage, when a struct member, which is a pointer to another struct, is encountered, the pointee struct type, keyed with its name, is remembered in a Fixup map. - Later, when all type traversal is done, the Fixup map is scanned, based on struct name matching, to either resolve as pointing to a real already generated type or as a forward declaration. Andrii discovered a bug if the struct member pointee struct is anonymous. In this case, a struct with empty name is recorded in Fixup map, and later it happens another anonymous struct with empty name is defined in BTF. So wrong type resolution happens. To fix the problem, if the struct member pointee struct is anonymous, pointee struct type will be generated in stead of being put in Fixup map. Differential Revision: https://reviews.llvm.org/D82976 -
James Y Knight authored
Before this instruction supported output values, it fit fairly naturally as a terminator. However, being a terminator while also supporting outputs causes some trouble, as the physreg->vreg COPY operations cannot be in the same block. Modeling it as a non-terminator allows it to be handled the same way as invoke is handled already. Most of the changes here were created by auditing all the existing users of MachineBasicBlock::isEHPad() and MachineBasicBlock::hasEHPadSuccessor(), and adding calls to isInlineAsmBrIndirectTarget or mayHaveInlineAsmBr, as appropriate. Reviewed By: nickdesaulniers, void Differential Revision: https://reviews.llvm.org/D79794
-
Yuanfang Chen authored
-
Nikita Popov authored
To make it clear that this is not intended to be specific to mask / bit tests.
-
Eric Astor authored
Summary: When parsing 64-bit MASM, treat memory operands with unspecified base register as RIP-based. Documented in several places, including https://software.intel.com/en-us/articles/introduction-to-x64-assembly: "Unfortunately, MASM does not allow this form of opcode, but other assemblers like FASM and YASM do. Instead, MASM embeds RIP-relative addressing implicitly." Reviewed By: thakis Differential Revision: https://reviews.llvm.org/D73227
-
Guillaume Chatelet authored
This patch is part of a series to introduce an Alignment type. See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html See this patch for the introduction of the type: https://reviews.llvm.org/D64790 Differential Revision: https://reviews.llvm.org/D82962
-
Hiroshi Yamauchi authored
Remove allocations with alignment assume. Differential Revision: https://reviews.llvm.org/D81854
-
David Green authored
This prevents the outlined functions from pulling in a lot of unnecessary code in our downstream libraries/linker. Which stops outlining making codesize worse in c++ code with no-exceptions. Differential Revision: https://reviews.llvm.org/D57254
-
Xing GUO authored
The abbreviations for a given compilation unit end with an entry consisting of a 0 byte for the abbreviation code. Reviewed By: jhenderson Differential Revision: https://reviews.llvm.org/D82933
-
- Jul 01, 2020
-
-
Simon Pilgrim authored
Noticed by clang-tidy llvm-qualified-auto warning.
-
Simon Pilgrim authored
Noticed by clang-tidy performance-unnecessary-value-param warning.
-
Pengxuan Zheng authored
Summary: The mcountinhibit CSR is defined in the ratified 1.11 version of the privileged spec. Reviewers: apazos, asb, lenary, luismarques Reviewed By: asb Subscribers: hiraditya, rbar, johnrusso, simoncook, sabuasal, niosHD, kito-cheng, shiva0217, jrtc27, MaskRay, zzheng, edward-jones, rogfer01, MartinMosbeck, brucehoult, the_o, rkruppe, PkmX, jocewei, psnobl, benna, Jim, s.egerton, sameer.abuasal, evandro, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D82913
-
Luís Marques authored
The pass to split atomic and non-atomic RISC-V pseudo-instructions was itself split into two passes in D79635 / commit rG2cb0644f, with the splitting of non-atomic instructions being moved to the PreSched2 phase. A comment was added to D79635 detailing a case where this caused problems, so this commit moves the non-atomic split pass back to the PreEmitPass2 phase. This allows the bulk of the changes from D79635 to remain committed, while addressing the the reported problem (the pass split is now almost NFC). Once the root problem is fixed we can move the (non-atomic) instruction splitting pass back to earlier in the pipeline.
-
Raphael Isemann authored
Summary: This replaces the current use of LLDB's own `StringConvert` with LLVM's `to_integer` which has a less error-prone API and doesn't use special 'error values' to designate parsing problems. Where needed I also added missing error handling code that prints a parsing error instead of continuing with the error value returned from `StringConvert` (which either gave a cryptic error message or just took the error value performed an incorrect action with it. For example, `frame recognizer delete -1` just deleted the frame recognizer at index 0). Reviewers: #lldb, labath Reviewed By: labath Subscribers: labath, abidh, JDevlieghere Differential Revision: https://reviews.llvm.org/D82297
-
Luís Marques authored
This reverts commit 05a20a9e.
-
Pavel Labath authored
The test fails due to link errors. I believe this change should fix that.
-