- Jan 31, 2020
-
-
Jan Kratochvil authored
This patchset is removing non-DWARF code from DWARFUnit for better future merge with LLVM DWARF as discussed with @labath. Differential revision: https://reviews.llvm.org/D70646
-
Matt Arsenault authored
-
Kadir Cetinkaya authored
Summary: Default args might exist but be unparsed or uninstantiated. getDefaultArg asserts on those. This patch makes sure we don't crash in such scenarios. Reviewers: sammccall, ilya-biryukov Subscribers: MaskRay, jkorous, arphaman, usaxena95, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D73723
-
Matt Arsenault authored
This reverts commit 6a4acb9d.
-
Saar Raz authored
[Concepts] Correctly form initial parameter mapping for parameter packs, support substitution into SubstNonTypeTemplateParmExpr We previously would not correctly for the initial parameter mapping for variadic template parameters in Concepts. Testing this lead to the discovery that with the normalization process we would need to substitute into already-substituted-into template arguments, which means we need to add NonTypeTemplateParmExpr support to TemplateInstantiator. We do that by substituting into the replacement and the type separately, and then re-checking the expression against the NTTP with the new type, in order to form any new required implicit casts (for cases where the type of the NTTP was dependent).
-
Kamil Rytarowski authored
Fix build on >= 9.99.44 after the removal of urio(4). Add compat code for the device as NetBSD-9.0 is supported.
-
Jay Foad authored
-
Pavel Labath authored
- m_debug_loc(lists) are unused since the relevant logic was moved to DWARFContext. - const versions of DebugInfo(), DebugAbbrev() are not used, and they are dangerous to use as they do not initialize the relevant objects.
-
serge-sans-paille authored
First attempt at implementing -fsemantic-interposition. Rely on GlobalValue::isInterposable that already captures most of the expected behavior. Rely on a ModuleFlag to state whether we should respect SemanticInterposition or not. The default remains no. So this should be a no-op if -fsemantic-interposition isn't used, and if it is, isInterposable being already used in most optimisation, they should honor it properly. Note that it only impacts architecture compiled with -fPIC and no pie. Differential Revision: https://reviews.llvm.org/D72829
-
Sjoerd Meijer authored
Disassembly of instructions can fail when llvm-objdump is not given the right set of architecture features, for example when the source is compiled with: clang -march=..+ext1+ext2 and disassembly is attempted with: llvm-objdump -mattr=+ext1 This patch avoids further analysing unknown instructions (as was happening before) when disassembly has failed. Differential Revision: https://reviews.llvm.org/D73531
-
Raphael Isemann authored
This automatically does the type checking for the cast.
-
Raphael Isemann authored
A ClangASTSource always has a ClangASTImporter. Let's remove these sporadic checks with a single assert during construction. They were added originally for the modern-type-lookup mode that didn't use a ClangASTImporter in there.
-
Raphael Isemann authored
We only assign values to this member but never read it. Also the type in there has no side effects so let's just remove it.
-
Kerry McLaughlin authored
Summary: Implements the following intrinsics: - @llvm.aarch64.sve.[s|u]qadd - @llvm.aarch64.sve.[s|u]qsub - @llvm.aarch64.sve.suqadd - @llvm.aarch64.sve.usqadd - @llvm.aarch64.sve.[s|u]qsubr - @llvm.aarch64.sve.[s|u]rshl - @llvm.aarch64.sve.[s|u]qshl - @llvm.aarch64.sve.[s|u]qrshl - @llvm.aarch64.sve.[s|u]rshr - @llvm.aarch64.sve.sqshlu - @llvm.aarch64.sve.sri - @llvm.aarch64.sve.sli - @llvm.aarch64.sve.[s|u]sra - @llvm.aarch64.sve.[s|u]rsra - @llvm.aarch64.sve.[s|u]aba Reviewers: efriedma, sdesmalen, dancgr, cameron.mcinally, c-rhodes, rengolin Reviewed By: sdesmalen Subscribers: tschuett, kristof.beyls, hiraditya, rkruppe, psnobl, cfe-commits, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D73551
-
Marek Kurdej authored
Fixed expected errors and notes. Summary: This patch implements https://wg21.link/P0325. Reviewers: EricWF, mclow.lists, ldionne, lichray Reviewed By: ldionne, lichray Subscribers: lichray, dexonsmith, zoecarver, christof, ldionne, libcxx-commits Tags: #libc Differential Revision: https://reviews.llvm.org/D69882
-
Sam Parker authored
-
Georgii Rymar authored
Currently when we dump dynamic relocation with use of DT_RELA/DT_RELASZ/DT_RELAENT tags, we crash when a symbol index is larger than the number of dynamic symbols or when there is no dynamic symbol table. This patch adds test cases and fixes the issues. Differential revision: https://reviews.llvm.org/D73560
-
Stephan Herhut authored
Summary: The current code assumes that one always maps at least one loop to block dimensions and at least one loop to thread dimensions. If either is not the case, a loop would get mapped twice. Differential Revision: https://reviews.llvm.org/D73685
-
Georgii Rymar authored
We have the `ELF\sections.test` to test --sections. `ELF\sections.test` uses precompiled objects, it has a bug (does not test -s alias properly). Also, we test machine specific section types in `ELF\machine-specific-section-types.test`, so we probably do not need to test `--sections` for a MIPS object in `ELF\sections.test`. I think it is enough to test ELF32 and ELF64 (we do not test ELF64 in this test). `Object/readobj-shared-object.test` also tests how llvm-readobj handles `--sections`. It is location is wrong, it is not complete, it uses precompiled binaries and it duplicates the `ELF\sections.test` partially (it tests both ELF32 and ELF64). We have `ELF\readelf-s-alias.test` that tests the `-s` alias for `--sections` in llvm-readobj and `-s` as an alias for `--symbols` in llvm-readelf. There is no need to have a separate test for such things. The test for the `-s` alias for `--sections` can be included into the `ELF\sections.test`. And the test for `-s` for llvm-readelf is already included into `ELF\symbols.test`. So, this patch: 1) Removes `Object/readobj-shared-object.test`. 2) Removes `ELF\readelf-s-alias.test` 3) Rewrites the `ELF\sections.test`. 4) Removes ELF/Inputs/trivial.obj.elf-mipsel. Differential revision: https://reviews.llvm.org/D73686
-
Markus Böck authored
This patch wraps an external thread local storage variable inside of a getter function and makes it have internal linkage. This allows LLVM to be built with BUILD_SHARED_LIBS on windows with MinGW. Additionally it allows Clang versions prior to 10 to compile current trunk for MinGW. Differential Revision: https://reviews.llvm.org/D73639
-
LLVM GN Syncbot authored
-
Raphael Isemann authored
Currently if 'expect' fails and a custom msg is supplied, then lldbtest will not print the actual command output. This makes it impossible to know why the test actually failed. This just prints the command output even if the msg parameter was supplied.
-
Guillaume Chatelet authored
Summary: This patch adds a few low level functions needed to build libc memory functions. Reviewers: sivachandra, jfb Subscribers: mgorny, MaskRay, tschuett, libc-commits, ckennelly Tags: #libc-project Differential Revision: https://reviews.llvm.org/D73472
-
Igor Kudrin authored
Differential Revision: https://reviews.llvm.org/D72900
-
Marek Kurdej authored
This reverts commit 86aae782. A test is failing on "Release" build without assertions enabled (Fedora 31 on x86_64).
-
Raphael Isemann authored
This adds a conversion function from clang::Decl to CompilerDecl. It checks that the TypeSystemClang in the CompilerDecl actually fits to the clang::Decl AST during creation, thus preventing the creation of CompilerDecl instances with inconsistent state.
-
Raphael Isemann authored
-
Sebastian Neubauer authored
Summary: Fix typo Subscribers: jvesely, nhaehnle, kerbowa, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D73458
-
Tim Shen authored
The refactored MemRefType::get() calls all intend to clone from another memref type, with some modifications. In fact, some calls dropped memory space during the cloning. Migrate them to the cloning API so that nothing gets dropped if they are not explicitly listed. It's close to NFC but not quite, as it helps with propagating memory spaces in some places. Differential Revision: https://reviews.llvm.org/D73296
-
Alex Langford authored
UserExpression::GetJITModule was used to support an option in UserExpression::Evaluate that let you hold onto the JIT Module used during the expression evaluation. This was only actually used in one spot -- REPL::IOHandlerInputComplete. That method didn't actually take use the JIT module it got back, so this feature was not used in practice. This means that we can delete the support in UserExpression::Evaluate and delete the UserExpression::GetJITModule method entirely.
-
Alex Langford authored
These parameters are unused in these methods, and some of them only had a LanguageType parameter to pipe to other methods that don't use it either.
-
Jonas Devlieghere authored
Fixes the UnboundLocalError for the local variables out, err and exitCode when a timeout is hit.
-
Jonas Devlieghere authored
Both begin() and data() do the same thing for the SmallString case, but the std::string and llvm::StringRef constructors that are being called are defined as taking a pointer and size. Addresses Craig Topper's feedback in https://reviews.llvm.org/D73640
-
Quentin Colombet authored
One of the exit criteria of computeKnownBits is whether we reach the max recursive call depth. Before this patch we would check that the depth is exactly equal to max depth to exit. Depth may get bigger than max depth if it gets passed to a different GISelKnownBits object. This may happen when say a generic part uses a GISelKnownBits object with some max depth, but then we hit TL.computeKnownBitsForTargetInstr which creates a new GISelKnownBits object with a different and smaller depth. In that situation, when we hit the max depth check for the first time in the target specific GISelKnownBits object, depth may already be bigger than the current max depth. Hence we would continue to compute the known bits, until we ran through the full depth of the chain of computation or ran out of stack space. For instance, let say we have GISelKnownBits Info(/*MaxDepth*/ = 10); Info.getKnownBits(Foo) // 9 recursive calls to computeKnownBitsImpl. // Then we hit a target specific instruction. // The target specific GISelKnownBits does this: GISelKnownBits TargetSpecificInfo(/*MaxDepth*/ = 6) TargetSpecificInfo.computeKnownBitsImpl() // <-- next max depth checks would // always return false. This commit does not have any test case, none of the in-tree targets use computeKnownBitsForTargetInstr. -
Richard Smith authored
-
Pierre Habouzit authored
This reverts commit bebb8e25. Pushed by accident, not yet reviewed
-
Pierre Habouzit authored
Add fixits for messaging self in MRR or using super, as the intent is clear, and it turns out people do that a lot more than expected. Allow for objc_direct_members on main interfaces, it's extremely useful for internal only classes, and proves to be quite annoying for adoption. Add some better warnings around properties direct/non-direct clashes (it was done for methods but properties were a miss). Radar-Id: rdar://problem/58355212 Signed-off-by:
Pierre Habouzit <phabouzit@apple.com>
-
Pierre Habouzit authored
For non direct methods, the codegen uses the type of the Implementation. Because Objective-C rules allow some differences between the Declaration and Implementation return types, when the Implementation is in this translation unit, the type of the Implementation should be preferred to emit the Function over the Declaration. Radar-Id: rdar://problem/58797748 Signed-off-by:
Pierre Habouzit <phabouzit@apple.com> Differential Revision: https://reviews.llvm.org/D73208
-
Alex Langford authored
-
Fangrui Song authored
Differential Revision: https://reviews.llvm.org/D72358
-