- Feb 01, 2020
-
-
David Blaikie authored
Significant missing hashing - as per the comment this was only meant to skip member functions (unspecified, but I think it's legible as member function declarations, not definitions) but was skipping all named subprograms (so only hashed child DIEs for member function definitions - because they didn't have a direct name, but only a name given indirectly in the DW_AT_specification-referenced DIE)
-
Matt Arsenault authored
This avoids a potentially expensive scan if we already know it doesn't matter.
-
Matt Arsenault authored
-
Alex Langford authored
-
Artur Pilipenko authored
Separated from https://reviews.llvm.org/D68006 review.
-
Diego Caballero authored
Summary: This patch introduces an alternative calling convention for MemRef function arguments in LLVM dialect. It converts MemRef function arguments to LLVM bare pointers to the MemRef element type instead of creating a MemRef descriptor. Bare pointers are then promoted to a MemRef descriptors at the beginning of the function. This calling convention is only enabled with a flag. Reviewers: ftynse, bondhugula, nicolasvasilache, rriddle, mehdi_amini Reviewed By: ftynse, rriddle, mehdi_amini Subscribers: Joonsoo, flaub, merge_guards_bot, jholewinski, mehdi_amini, rriddle, jpienaar, burmako, shauheen, antiagainst, csigg, arpith-jacob, mgester, lucyrfox, herhut, aartbik, liufengdb, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D72802
-
Aaron Puchert authored
Summary: Just like templates, they are excepted from the ODR rule. Reviewed By: aaron.ballman, rsmith Differential Revision: https://reviews.llvm.org/D68923
-
Kostya Kortchinsky authored
Summary: This changes a couple of parameters in the default Android config to address some performance and memory footprint issues (well to be closer to the default Bionic allocator numbers). Subscribers: #sanitizers, llvm-commits Tags: #sanitizers, #llvm Differential Revision: https://reviews.llvm.org/D73750
-
Jonas Devlieghere authored
-
Jonas Devlieghere authored
-
Jonas Devlieghere authored
Specializations of the Platform class print the kernel after calling the super method. By printing the kernel at the end in the super class, we guarantee the order is the same on different platforms.
-
Petr Hosek authored
This reverts commit deae8ee6 as it broke the build on several bots.
-
Luís Marques authored
Summary: Implements the jump pseudo-instruction, which is used in e.g. the Linux kernel. Reviewers: asb, lenary Reviewed By: lenary Tags: #llvm Differential Revision: https://reviews.llvm.org/D73178
-
Petr Hosek authored
This change has two components. The moves the generated file for a namespace to the directory named after the namespace in a file named 'index.<format>'. This greatly improves the browsing experience since the index page is shown by default for a directory. The second improves the markdown output by adding the links to the referenced pages for children objects and the link back to the source code. Patch By: Clayton Differential Revision: https://reviews.llvm.org/D72954
-
Jonas Devlieghere authored
Temporarily revert to fix the tests that only fail on the bots because of the newly enforced substr order.
-
Richard Smith authored
instead of the "enabled by default" color. It may be technically correct to list unimplemented diagnostics as "enabled by default" but it's quite misleading.
-
Jonas Devlieghere authored
This patch changes the behavior of the substrs argument to self.expect. Currently, the elements of substrs are unordered and as long as the string appears in the output, the assertion passes. We can be more precise by requiring that the substrings be ordered in the way they appear. My hope is that this will make it harder to accidentally pass a check because a string appears out of order. Differential revision: https://reviews.llvm.org/D73766
-
Jonas Devlieghere authored
Currently the substrs parameter takes a list of strings that need to be found but the ordering isn't checked. D73766 might change that so this changes a several tests so that the order of the strings in the substrs list is in the order in which they appear in the output.
-
River Riddle authored
The functions are used, but empty when NDEBUG is set.
-
Nicolas Vasilache authored
This revision does the following post-commit cleanups: 1. don't use -1 magic constants, 2. drop commented out old test that does not belong here, 3. reformat and add a proper clang-format off on a CHECK directive.
-
David Blaikie authored
This test didn't need any local variables or parameters, and didn't need to be checking the DWO ID or more detailed forms. It was using -v to print the macro sections, but now that macro sections are emitted when requested (-debug-macro) that's not needed either.
-
Richard Smith authored
types are needed to compute the return type of a defaulted operator<=>. This raises the question of what to do if return type deduction fails. The standard doesn't say, and implementations vary, so for now reject that case eagerly to keep our options open.
-
Nicolas Vasilache authored
Summary: This revision provides 2 versions of matmul with tensors to account for the differences in buffer vs value semantics: 1. `C(i, j) = sum_{r_k} A(i, r_k) * B(r_k, j)` 2. `D(i, j) = C(i, j) + sum_{r_k} A(i, r_k) * B(r_k, j)` Reviewers: ftynse Subscribers: mehdi_amini, rriddle, jpienaar, burmako, shauheen, antiagainst, arpith-jacob, mgester, lucyrfox, aartbik, liufengdb, Joonsoo, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D73796 -
Michał Górny authored
-
David Blaikie authored
If dumping an Split DWARF file that hasn't been split into separate files (such as from llc - that includes the plain and .dwo sections in the same file) allow both macinfo and macinfo.dwo sections to be dumped.
-
Jonas Devlieghere authored
Currently the substrs parameter takes a list of strings that need to be found but the ordering isn't checked. D73766 might change that so this changes a several tests so that the order of the strings in the substrs list is in the order in which they appear in the output.
-
Alex Langford authored
Summary: This change represents the move of ClangASTImporter, ClangASTMetadata, ClangExternalASTSourceCallbacks, ClangUtil, CxxModuleHandler, and TypeSystemClang from lldbSource to lldbPluginExpressionParserClang.h This explicitly removes knowledge of clang internals from lldbSymbol, moving towards a more generic core implementation of lldb. Reviewers: JDevlieghere, davide, aprantl, teemperor, clayborg, labath, jingham, shafik Subscribers: emaste, mgorny, arphaman, jfb, usaxena95, lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D73661
-
Jonas Devlieghere authored
Currently the substrs parameter takes a list of strings that need to be found but the ordering isn't checked. D73766 might change that so this changes a several tests so that the order of the strings in the substrs list is in the order in which they appear in the output.
-
River Riddle authored
Summary: This revision beefs up the debug logging within dialect conversion. Given the nature of multi-level legalization, and legalization in general, it is one of the harder pieces of infrastructure to debug. This revision adds nice formatting to make the output log easier to parse: ``` Legalizing operation : 'std.constant'(0x608000002420) { * Fold { } -> FAILURE : unable to fold * Pattern : 'std.constant -> ()' { } -> FAILURE : pattern failed to match * Pattern : 'std.constant -> ()' { } -> FAILURE : pattern failed to match * Pattern : 'std.constant -> (spv.constant)' { ** Insert : 'spv.constant'(0x608000002c20) ** Replace : 'std.constant'(0x608000002420) //===-------------------------------------------===// Legalizing operation : 'spv.constant'(0x608000002c20) { } -> SUCCESS : operation marked legal by the target //===-------------------------------------------===// } -> SUCCESS : pattern applied successfully } -> SUCCESS ``` Differential Revision: https://reviews.llvm.org/D73747 -
Nikita Popov authored
Fixes https://bugs.llvm.org/show_bug.cgi?id=44234 by adding multiply support to freelyNegateValue(). Only one of the operands needs to be negatible, so this still fits within the framework. Differential Revision: https://reviews.llvm.org/D73410
-
Siva Chandra Reddy authored
Building with address-sanitizer shows that using ArrayRef ends up accessing a temporary outside its scope.
-
Dominic Chen authored
Summary: With the new pass manager, it is not possible to obtain a pointer to the pass. Reviewers: jfb, rinon, yln Subscribers: hiraditya, dexonsmith, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D73390
-
aartbik authored
Summary: Rationale: When lowering to LLVM for different rank insert (n vs k), the offset arrays needs to drop one dimension (becomes n-1), but the strides array needs to be preserved (remains k). With regression test. Note that this example was actually in the documentation, so extra important to do it right :-) Reviewers: nicolasvasilache, andydavis1, ftynse Reviewed By: nicolasvasilache, ftynse Subscribers: Joonsoo, merge_guards_bot, mehdi_amini, rriddle, jpienaar, burmako, shauheen, antiagainst, arpith-jacob, mgester, lucyrfox, liufengdb, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D73733
-
Dominic Chen authored
Summary: With the new pass manager, it is not possible to obtain a pointer to the pass. Reviewers: jfb, rinon, yln Subscribers: hiraditya, dexonsmith, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D73390
-
Jay Foad authored
Summary: Applying this cleanup: - MIRBuilder.buildInstr(TargetOpcode::G_ASHR) - .addDef(Shifted) - .addUse(Res) - .addUse(ShiftAmt); + MIRBuilder.buildAShr(Shifted, Res, ShiftAmt); caused an assertion failure here: llc: /home/jayfoad2/git/llvm-project/llvm/lib/CodeGen/MachineRegisterInfo.cpp:404: llvm::MachineInstr *llvm::MachineRegisterInfo::getVRegDef(unsigned int) const: Assertion `(I.atEnd() || std::next(I) == def_instr_end()) && "getVRegDef assumes a single definition or no definition"' failed. #4 0x00000000050a6d96 in llvm::MachineRegisterInfo::getVRegDef (this=0x74606a0, Reg=2147483650) at /home/jayfoad2/git/llvm-project/llvm/lib/CodeGen/MachineRegisterInfo.cpp:403 #5 0x00000000066148f6 in llvm::getConstantVRegValWithLookThrough (VReg=2147483650, MRI=..., LookThroughInstrs=false, HandleFConstant=true) at /home/jayfoad2/git/llvm-project/llvm/lib/CodeGen/GlobalISel/Utils.cpp:244 #6 0x00000000066147da in llvm::getConstantVRegVal (VReg=2147483650, MRI=...) at /home/jayfoad2/git/llvm-project/llvm/lib/CodeGen/GlobalISel/Utils.cpp:210 #7 0x0000000006615367 in llvm::ConstantFoldBinOp (Opcode=101, Op1=2147483650, Op2=2147483656, MRI=...) at /home/jayfoad2/git/llvm-project/llvm/lib/CodeGen/GlobalISel/Utils.cpp:341 #8 0x000000000657eee0 in llvm::CSEMIRBuilder::buildInstr (this=0x7465010, Opc=101, DstOps=..., SrcOps=..., Flag=...) at /home/jayfoad2/git/llvm-project/llvm/lib/CodeGen/GlobalISel/CSEMIRBuilder.cpp:160 #9 0x0000000003645958 in llvm::MachineIRBuilder::buildAShr (this=0x7465010, Dst=..., Src0=..., Src1=..., Flags=...) at /home/jayfoad2/git/llvm-project/llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h:1298 #10 0x00000000065c35b1 in llvm::LegalizerHelper::lower (this=0x7fffffffb5f8, MI=..., TypeIdx=0, Ty=...) at /home/jayfoad2/git/llvm-project/llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp:2020 because at this point there are two instructions defining Res: the original G_SMULO/G_UMULO and the new G_MUL that we built. The fix is to modify the original mul in place, so that there is only ever one definition of Res. Reviewers: arsenm, aditya_nandakumar Subscribers: wdng, rovka, hiraditya, volkan, Petar.Avramovic, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D72842 -
Jessica Paquette authored
When you encounter a G_TRUNC, you are moving from a larger type to a smaller type. Asking for the i-th bit on a larger value is the same as asking for the i-th bit on a smaller value. So, we should always be able to walk through G_TRUNC when computing the bit for a TB(N)Z. Differential Revision: https://reviews.llvm.org/D73748
-
Jonas Devlieghere authored
Use the StringRef constructor instead of toStringRef so we don't end up with the wrong overload (llvm::toStringRef(bool)). Fixes PR44736
-
Simon Pilgrim authored
If we don't demand any elements of the inserted subvector then just skip it.
-
Alex Zinenko authored
This is a leftover of a temporary state where loop operations were in Standard dialect.
-
Alex Zinenko authored
Summary: After the `subview` operation was migrated from Linalg to Standard, it changed semantics and does not guarantee the absence of out-of-bounds accesses through the created view anymore. Compute the size of the subview to make sure it always fits within the view (subviews in last iterations of the loops may be smaller than those in other iterations). Differential Revision: https://reviews.llvm.org/D73614
-