- Jul 25, 2020
-
-
Eli Friedman authored
dacf8d35 added support for most fcmp operations, but there are some extra variations I hadn't considered: SelectionDAG supports float comparisons that are neither ordered nor unordered. Add support for the missing operations. Differential Revision: https://reviews.llvm.org/D84460
-
Johannes Doerfert authored
This is the second of two patches to address PR46753. We basically allow SROA to promote allocas that are used in doppable instructions, for now that means `llvm.assume`. The (transitive) uses are replaced by `undef` in the droppable instructions. See also D83976. Reviewed By: Tyker Differential Revision: https://reviews.llvm.org/D83978
-
Johannes Doerfert authored
This is the first of two patches to address PR46753. We basically allow mem2reg to promote allocas that are used in doppable instructions, for now that means `llvm.assume`. The uses of the alloca (or a bitcast or zero offset GEP from there) are replaced by `undef` in the droppable instructions. Reviewed By: Tyker Differential Revision: https://reviews.llvm.org/D83976
-
Johannes Doerfert authored
SROA knows that it can look through addrspacecast but PromoteMemoryToRegister did not handle them. This caused an assertion error for the test case, exposed while running `Transforms/PhaseOrdering/inlining-alignment-assumptions.ll` with D83978 applied. Reviewed By: arsenm Differential Revision: https://reviews.llvm.org/D84085
-
Johannes Doerfert authored
See PR46515 for the rational but generally, we want to *really* abort not gracefully shut down. Reviewed By: grokos, ABataev Differential Revision: https://reviews.llvm.org/D83963
-
Jacques Pienaar authored
-
shafik authored
[ASTImporter] Modify ImportDefiniton for ObjCInterfaceDecl so that we always the ImportDeclContext one we start the definition Once we start the definition of an ObjCInterfaceDecl we won't attempt to ImportDeclContext later on. Unlike RecordDecl case which uses DefinitionCompleter to force completeDefinition we don't seem to have a similar mechanism for ObjCInterfaceDecl. This fix was needed due to a bug we see in LLDB expression parsing where an initial expression cause an ObjCInterfaceDecl to be defined and subsequent expressions during import do not call ImportDeclContext and we can end up in a situation where ivars are imported out of order and not all ivars are imported. Differential Revision: https://reviews.llvm.org/D83972
-
Gui Andrade authored
Flattens arrays by ORing together all their elements. Differential Revision: https://reviews.llvm.org/D84446
-
cgyurgyik authored
-
Jon Chesterfield authored
Summary: Make hip math headers easier to use from C Motivation is a step towards using the hip math headers to implement math.h for openmp, which needs to work with C as well as C++. NFC for C++ code. Reviewers: yaxunl, jdoerfert Reviewed By: yaxunl Subscribers: sstefan1, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D84476
-
Nemanja Ivanovic authored
Unfortunately this is another regression from my canonicalization patch (1fed1316). The patch contained two implicit assumptions: 1. That we would have a permuted load only if we are loading a partial vector 2. That a partial vector load would necessarily be as wide as the splat However, assumption 2 is not correct since it is possible to do a wider load and only splat a half of it. This patch corrects this assumption by simply checking if the load is permuted and adjusting the offset if it is.
-
Kirstóf Umann authored
Was accidentally squished into rGb6cbe6cb. The assert fires on the code snippet included in this commit. More discussion can be found in https://reviews.llvm.org/D82598.
-
Martin Storsjö authored
For comdats (e.g. caused by -ffunction-sections), Section is already set here; make sure it's null, for the weak external symbol to be undefined. This fixes PR46779. Differential Revision: https://reviews.llvm.org/D84507
-
Martin Storsjö authored
This fixes PR 42837. Differential Revision: https://reviews.llvm.org/D84465
-
Arthur Eubanks authored
Summary: To match NewPM name. Also the new name is clearer and more consistent. Subscribers: jvesely, nhaehnle, hiraditya, asbirlea, kerbowa, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D84542
-
Jonas Devlieghere authored
When a process is notified that modules got loaded, currently only existing language runtimes are given a chance to deal with that. This means that if the runtime for a given language wasn't needed before it won't be informed of the module chance. This is wrong because the module change might be what triggers the need for a certain runtime. Instead, we should give the language runtime for every supported language a chance to deal with the modified modules. Differential revision: https://reviews.llvm.org/D84475
-
Valentin Clement authored
This patch removes the OMP_DIRECTIVE definition from OMPKinds.def since they are now defined in OMP.td and OMP_DIRECTIVE is not used anymore in the code. Reviewed By: jdenny Differential Revision: https://reviews.llvm.org/D84329
-
cgyurgyik authored
Reviewed By: sivachandra Differential Revision: https://reviews.llvm.org/D84469
-
madhur13490 authored
Reviewers: arsenm, foad, rampitec, scott.linder Reviewed By: arsenm Subscribers: kzhuravl, jvesely, wdng, nhaehnle, yaxunl, dstuttard, tpr, t-tye, hiraditya, kerbowa, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D84391
-
Craig Topper authored
[X86] Move the implicit enabling of sse2 for 64-bit mode from X86Subtarget::initSubtargetFeatures to X86_MC::ParseX86Triple. ParseX86Triple already checks for 64-bit mode and produces a static string. We can just add +sse2 to the end of that static string. This avoids a potential reallocation when appending it to the std::string at runtime. This is a slight change to the behavior of tools that only use MC layer which weren't implicitly enabling sse2 before, but will now. I don't think we check for sse2 explicitly in any MC layer components so this shouldn't matter in practice. And if it did matter the new behavior is more correct.
-
Francesco Petrogalli authored
Reviewers: kmclaughlin, efriedma, sdesmalen Subscribers: tschuett, hiraditya, psnobl, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D83357
-
Craig Topper authored
[X86] Use X86_MC::ParseX86Triple to add mode features to feature string in X86Subtarget::initSubtargetFeatures. Remove mode flags from constructor and remove calls to ToggleFeature for the mode bits. By adding them to the feature string we handle initializing the mode member variables in X86Subtarget and the feature bits in MCSubtargetInfo in one shot.
-
Meera Nakrani authored
Added extra patterns to VABD instruction so it is selected in place of VSUB and VABS. Added corresponding regression test too. Differential Revision: https://reviews.llvm.org/D84500
-
Kostya Kortchinsky authored
Summary: On 32-b, the release algo loops multiple times over the freelist for a size class, which lead to a decrease in performance when there were a lot of free blocks. This changes the release functions to loop only once over the freelist, at the cost of using a little bit more memory for the release process: instead of working on one region at a time, we pass the whole memory area covered by all the regions for a given size class, and work on sub-areas of `RegionSize` in this large area. For 64-b, we just have 1 sub-area encompassing the whole region. Of course, not all the sub-areas within that large memory area will belong to the class id we are working on, but those will just be left untouched (which will not add to the RSS during the release process). Reviewers: pcc, cferris, hctim, eugenis Subscribers: llvm-commits, #sanitizers Tags: #sanitizers Differential Revision: https://reviews.llvm.org/D83993
-
Roman Lebedev authored
-
Meera Nakrani authored
Test commit - added whitespace in ARMInstrMVE.td
-
biplmish authored
Add my name to the CREDITS.TXT This is my test commit. (NFC) Differential Revision: https://reviews.llvm.org/D84488
-
Adrian Prantl authored
This patch basically moves the disambiguation code from a place where it was complicated to implement straight to where the load command is parsed, which has the neat side affect of actually supporting all call sites! rdar://problem/66011909 Differential Revision: https://reviews.llvm.org/D84480
-
Dokyung Song authored
Summary: This patch disables (i) noasan-memcmp64.test on Windows as libFuzzer's interceptors are only supported on Linux for now, and (ii) bcmp.test as on Windows bcmp is not available in strings.h. Reviewers: morehouse, hctim, kcc Subscribers: #sanitizers Tags: #sanitizers Differential Revision: https://reviews.llvm.org/D84536
-
Florian Hahn authored
Make sure we do not call constainsConstantExpression/containsUndefElement on ConstantExpression, which is not supported. In particular, containsUndefElement/constainsConstantExpression are only supported on constants which are supported by getAggregateElement. Unfortunately there's no convenient way to check if a constant supports getAggregateElement, so just check for non-constantexpressions with vector type. Other users of those functions do so too. Reviewers: spatel, nikic, craig.topper, lebedev.ri, jdoerfert, aqjune Reviewed By: jdoerfert Differential Revision: https://reviews.llvm.org/D84512
-
Fred Riss authored
Summary: The resolver addresses stored in the dyld trie are relative to the base of the __TEXT segment. This is usually 0 in a dylib, so this was never noticed, but it is not 0 for most dylibs integrated in the shared cache. As we started using the shared cache images recently as symbol source, this causes LLDB to fail to resolve symbols which go through a runtime resolver. Reviewers: jasonmolenda, jingham Subscribers: lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D84083
-
Nicolai Hähnle authored
Common up some existing MBB name printing logic into a single place. Note that basic block dumping now prints the same set of attributes as the MIRPrinter. Change-Id: I8f022bbd922e831bc96d63143d7472c03282530b Differential Revision: https://reviews.llvm.org/D83253
-
- Jul 24, 2020
-
-
diggerlin authored
SUMMARY: since we add .extern directive for external symbol, the -u option for aix as do not need any more. Reviewers: Jason liu Differential Revision: https://reviews.llvm.org/D84356
-
Alexey Bataev authored
Summary: If the variable is constrcutible, its copy is created by calling a constructor. Such variables are duplicated and thus, must be captured. Reviewers: jdoerfert Subscribers: yaxunl, guansong, cfe-commits, sstefan1, caomhin Tags: #clang Differential Revision: https://reviews.llvm.org/D83909
-
Yitzhak Mandelbaum authored
The new combinator, `rewriteDescendants`, applies a rewrite rule to all descendants of a specified bound node. That rewrite rule can refer to nodes bound by the parent, both in the matcher and in the edits. Reviewed By: gribozavr2 Differential Revision: https://reviews.llvm.org/D84409
-
David Truby authored
Summary: As a corrollary, these tests are now run as part of the check-flang target. Reviewers: sscalpone Subscribers: mgorny, delcypher, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D83946
-
Dmitry Preobrazhensky authored
Currently supported LLVM MTBUF syntax is shown below. It is not compatible with SP3. op dst, addr, rsrc, FORMAT, soffset This change adds support for SP3 syntax: op dst, addr, rsrc, soffset SP3FORMAT In addition to being compatible with SP3, this syntax allows using symbolic names for data, numeric and unified formats. Below is a list of added syntax variants. format:<expression> format:[<numeric-format-name>,<data-format-name>] format:[<data-format-name>,<numeric-format-name>] format:[<data-format-name>] format:[<numeric-format-name>] format:[<unified-format-name>] The last syntax variant is supported for GFX10 only. See llvm bug 37738 Reviewers: arsenm, rampitec, vpykhtin Differential Revision: https://reviews.llvm.org/D84026 -
David Truby authored
Additionally fix the copy if enabled on multi-config targets. Summary: This changes the copy command for libomp.so to use the output of the target as the source of the copy, rather than trying to find it based on ${LIBOMP_LIBRARY_DIR}, which appears to be incorrect in multi-config generator builds. Reviewers: jdoerfert Subscribers: mgorny, yaxunl, guansong, sstefan1, openmp-commits Tags: #openmp Differential Revision: https://reviews.llvm.org/D84148 -
George Mitenkov authored
This patch introduces conversion pattern for `spv.Store` and `spv.Load`. Only op with `Function` Storage Class is supported at the moment because `spv.GlobalVariable` has not been introduced yet. If the op has memory access attribute, then there are the following cases. If the access is `Aligned`, add alignment to the op builder. Otherwise the conversion fails as other cases are not supported yet because they require additional attributes for `llvm.store`/`llvm.load` ops: e.g. `volatile` and `nontemporal`. Reviewed By: antiagainst Differential Revision: https://reviews.llvm.org/D84236
-
Frederik Gossen authored
Implement constant folding for `shape.mul`. Differential Revision: https://reviews.llvm.org/D84438
-