- Feb 04, 2020
-
-
Sanjay Patel authored
-
Sanjay Patel authored
This is a bug noted in the recent D72733 and seen in the similar transform just above the changed source code. I added tests with illegal types and zexts to show the bug - we could transform legal phi ops to illegal, etc. I did not add tests with trunc because we won't see any diffs on those patterns. That is because InstCombiner::SliceUpIllegalIntegerPHI() appears to do those transforms independently of datalayout. It can also create more casts than are present in existing code. There are some existing regression tests that do not include a datalayout that would be altered by this fix. I assumed that the lack of a datalayout in those regression files is an oversight, so I added the minimal layout (make i32 legal) necessary to preserve behavior on those tests. Differential Revision: https://reviews.llvm.org/D73907
-
Florian Hahn authored
matrix.columnwise.load and matrix.columnwise.store only access memory through the argument pointers. Also matrix.columnwise.store only writes memory.
-
Georgii Rymar authored
This is a LLVM specific section that is well described here: https://llvm.org/docs/Extensions.html#sht-llvm-call-graph-profile-section-call-graph-profile This patch teaches yaml2obj and obj2yaml about how to work with it. Differential revision: https://reviews.llvm.org/D73788
-
Sam McCall authored
Summary: Currently we delay AST rebuilds by 500ms after each edit, to wait for further edits. This is a win if a rebuild takes 5s, and a loss if it takes 50ms. This patch sets debouncepolicy = clamp(min, ratio * rebuild_time, max). However it sets min = max = 500ms so there's no policy change or actual customizability - will do that in a separate patch. See https://github.com/clangd/clangd/issues/275 Reviewers: hokein Subscribers: ilya-biryukov, javed.absar, MaskRay, jkorous, arphaman, kadircet, usaxena95, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D73873
-
Mikhail Maltsev authored
Summary: This patch changes the underlying type of the ARM::ArchExtKind enumeration to uint64_t and adjusts the related code. The goal of the patch is to prepare the code base for a new architecture extension. Reviewers: simon_tatham, eli.friedman, ostannard, dmgreen Reviewed By: dmgreen Subscribers: merge_guards_bot, kristof.beyls, hiraditya, cfe-commits, llvm-commits, pbarrio Tags: #clang, #llvm Differential Revision: https://reviews.llvm.org/D73906
-
protze@itc.rwth-aachen.de authored
Fixes [[ https://bugs.llvm.org/show_bug.cgi?id=44733 | TEST 'libomp :: ompt/synchronization/reduction/tree_reduce.c' FAILED on 32-bit x86 ]] For 32-bit we need at least 3 variables to avoid atomic reduction to be choosen by runtime function `__kmp_determine_reduction_method`. This patch adds reduction variables to the testcase. Reviewers: mgorny, Hahnfeld Differential Revision: https://reviews.llvm.org/D73850
-
David Bozier authored
Summary: Replace '-' in the error message with <stdin>. This is also consistent with another error message in the code. Reviewers: jhenderson, probinson, jdenny, grimar, arichardson Reviewed By: jhenderson Subscribers: thopre, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D73793
-
Filipe Cabecinhas authored
-
Sven van Haastregt authored
Align `Type` names to their actual OpenCL C type names, such that we can print OpenCL C types from TableGen. This is particularly helpful for completeness comparisons with `opencl-c.h`. Drop the "Name" field from `TypeList`, as it is unused. Minor formatting changes.
-
Simon Pilgrim authored
Ensure that OptLevelChanger::SavedFastISel is initialized in the constructor. This should be NFC - as the equivalent 'same opt level' early-out is used in the destructor as well, so SavedFastISel is only actually referenced in the general case. Differential Revision: https://reviews.llvm.org/D73875
-
Raphael Isemann authored
This is iterating over a DeclContext and not a TagDecl (even though both iterators are the same underlying type).
-
Kadir Cetinkaya authored
This reverts commit 8413116b. this seems to be causing crashes while compiling ncurses. ``` $ ./bin/llc bugpoint-reduced-simplified.ll LLVM ERROR: Cannot emit physreg copy instruction ``` Here are the crashers: https://gist.github.com/kadircet/918f5bb97a2afe048cb875490edba46e executing with an llc compiled at 904d54de works fine.
-
David Green authored
Under MVE, we do not have any lowering for fminimum, which a vector_reduce_fmin without NoNan will be expanded into. As with the other recent patches, force this to expand in the pre-isel pass. Note that Neon lowering would be OK because the scalar fminimum uses the vector VMIN instruction, but is probably better to just rely on the scalar operations, which is what is done here. Also fixes what appears to be the reversal of INF vs -INF in the vector_reduce_fmin widening code.
-
Guillaume Chatelet authored
Summary: This patch simply introduces functions instead of directly accessing the fields. This helps introducing additional check logic. A second patch will add simplifying functions. Reviewers: courbet Subscribers: arsenm, nemanjai, jvesely, nhaehnle, hiraditya, kbarton, jsji, kerbowa, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D73945
-
Alex Richardson authored
Previously we were adding the CHECK lines to both definitions and declarations. Update the JSON AST dump parsing code to skip all FunctionDecls without an "inner" node (i.e. no body). Reviewed By: MaskRay, greened Differential Revision: https://reviews.llvm.org/D73708
-
Juneyoung Lee authored
-
Juneyoung Lee authored
-
Craig Topper authored
I don't believe we use this construct anymore so I don't think we need to look for it.
-
Thomas Raoux authored
Adds the global (cl::opt) GVNOption enable-load-in-loop-pre in order to control whether the optimization will be performed if the load is part of a loop. Patch by Hendrik Greving! Differential Revision: https://reviews.llvm.org/D73804
-
Craig Topper authored
This code matches (zext (trunc (setcc_carry))) -> (and (setcc_carry), 1) but the code never checks what type we're truncating too. An and mask of 1 would only make sense if the trunc was to MVT::i1, but we didn't check for that. I believe this code is a leftover from when i1 was a legal type.
-
River Riddle authored
This revision makes sure that errors emitted outside of testing are treated as fatal errors. This avoids the current silent failures that occur when the format is invalid.
-
River Riddle authored
Summary: Currently BuildableType is assumed to be preceded by a builder. This prevents constructing types that don't have a callable 'get' method with the builder. This revision reworks the format to be like attribute builders, i.e. by accepting $_builder within the format itself. Differential Revision: https://reviews.llvm.org/D73736
-
River Riddle authored
Summary: This revision add support for accepting a few type constraints, e.g. AllTypesMatch, when inferring types for operands and results. This is used to remove the c++ parsers for several additional operations. Differential Revision: https://reviews.llvm.org/D73735
-
Craig Topper authored
Our normal lowering for ISD::SETCC uses X86ISD::SUB to enable CSE unless the RHS is 0. optimizeCompareInstr called by the peephole pass can turn subs with unused results into cmps to clean this up. This commit makes other places that create X86ISD::CMP have the same behavior.
-
Jonas Devlieghere authored
-
Jonas Devlieghere authored
-
Juneyoung Lee authored
-
Michał Górny authored
Scale segment identifier up to user_id_t before negating it. This fixes the identifers being wrongly e.g. 0x00000000fffffffe instead of 0xfffffffffffffffe. Fix suggested by Pavel Labath. This fixes 5 tests failing on i386 (PR #44748): lldb-shell :: ObjectFile/ELF/PT_LOAD-overlap-PT_INTERP.yaml lldb-shell :: ObjectFile/ELF/PT_LOAD-overlap-PT_TLS.yaml lldb-shell :: ObjectFile/ELF/PT_LOAD-overlap-section.yaml lldb-shell :: ObjectFile/ELF/PT_LOAD.yaml lldb-shell :: ObjectFile/ELF/PT_TLS-overlap-PT_LOAD.yaml Differential Revision: https://reviews.llvm.org/D73914
-
Jonas Devlieghere authored
-
Jonas Devlieghere authored
-
Jonas Devlieghere authored
-
Jonas Devlieghere authored
Re-landing this now that (hopefully) all the failures this caused on the bots have been addressed. 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
-
Craig Topper authored
We were creating two with different operand orders, and then only using one of them. Instead just swap the operands when needed and create a single node.
-
Mehdi Amini authored
Use isa<> instead of dyn_cast<> when the result isn't used.
-
David Blaikie authored
This code was incorrectly emitting extra bytes into arbitrary parts of the object file when it was meant to be hashing them to compute the DWO ID. Follow-up patch(es) will refactor this API somewhat to make such bugs harder to introduce, hopefully.
-
Jason Molenda authored
debug why his patch is causing this regression; or if it doesn't get figured out tomorrow, we'll revert the patch.
-
David Blaikie authored
-
David Blaikie authored
-
David Blaikie authored
-