- Nov 03, 2019
-
-
shkzhang authored
Summary: For below test case, we will get assert error except for AArch64 and ARM: declare i8 @llvm.experimental.vector.reduce.and.i8.v3i8(<3 x i8> %a) define i8 @test_v3i8(<3 x i8> %a) nounwind { %b = call i8 @llvm.experimental.vector.reduce.and.i8.v3i8(<3 x i8> %a) ret i8 %b } In the function getShuffleReduction (), we can see it needs the vector size must be power of 2. This patch is fix below error when the number of element is not power of 2 for those llvm.experimental.vector.reduce.* function. Reviewed By: jsji Differential Revision: https://reviews.llvm.org/D68625
-
- Nov 02, 2019
-
-
Fangrui Song authored
[CodeGenCXX][test] Use -fno-experimental-new-pass-manager for CodeGenCXX/union-tbaa2.cpp after D68593/llvmorg-10-init-8907-gcecc0d27ad5 It fails with -DENABLE_EXPERIMENTAL_NEW_PASS_MANAGER=0 builds. Temporarily use -fno-experimental-new-pass-manager while we are investigating the root cause.
-
Simon Pilgrim authored
Call each of the rebase_if() calls separately.
-
Simon Pilgrim authored
Ensure the test still runs all target checks but stop the static analyzer warnings.
-
Fangrui Song authored
CodeGen/DIE.h: prefer the default member initializer to the member initializers in the constructor. NFC
-
Simon Atanasyan authored
-
Simon Atanasyan authored
-
Simon Pilgrim authored
-
Simon Pilgrim authored
Stop static analyzer warnings about using bitwise operators on booleans.
-
Florian Hahn authored
If the recurrence PHI node has a single user, we can sink any instruction without side effects, given that all users are dominated by the instruction computing the incoming value of the next iteration ('Previous'). We can sink instructions that may cause traps, because that only causes the trap to occur later, but not on any new paths. With the relaxed check, we also have to make sure that we do not have a direct cycle (meaning PHI user == 'Previous), which indicates a reduction relation, which potentially gets missed by ReductionDescriptor. As follow-ups, we can also sink stores, iff they do not alias with other instructions we move them across and we could also support sinking chains of instructions and multiple users of the PHI. Fixes PR43398. Reviewers: hsaito, dcaballe, Ayal, rengolin Reviewed By: Ayal Differential Revision: https://reviews.llvm.org/D69228
-
Simon Pilgrim authored
-
Simon Pilgrim authored
Make it clear that (Flags & MTRF_????) should resolve to a boolean.
-
Johannes Doerfert authored
If we do not look at assumed information there is no need to track dependences.
-
Johannes Doerfert authored
Dependences between two abstract attributes SRC and TRG come naturally in two flavors: Either (1) "some" information of SRC is *required* for TRG to derive information, or (2) SRC is just an *optional* way for TRG to derive information. While it is not strictly necessary to distinguish these types explicitly, it can help us to converge faster, in terms of iterations, and also cut down the number of `AbstractAttribute::update` calls. As far as I can tell, we only use optional dependences for liveness so far but that might change in the future. With this change the Attributor can be informed about the "dependence class" and it will perform appropriate actions when an Attribute is set to an invalid state, thus one that cannot be used by others to derive information from.
-
Simon Pilgrim authored
-
Simon Pilgrim authored
Consistently rename the Length attribute to DecodeLength in decodeULEB128 calls.
-
Simon Pilgrim authored
PVS Studio was warning about "LT2 < LT2" but really we should be testing all permutations of LT1 and LT2.
-
Dávid Bolvanský authored
The 'RequiredPass' pointer was utilized before it was verified against nullptr. Check lines: 1626, 1629.
-
Saleem Abdulrasool authored
Use the builtin CMake support for specifying the proper flags for the targets to build at a certain C++ standard. This avoids unnecessary checks in CMake, speeding up the configure phase as well as simplifies the logic overall.
-
Simon Pilgrim authored
PVS Studio was complaining that the expression '!ArchFS.empty()' is always true.
-
Simon Pilgrim authored
-
Stefan Stipanovic authored
Summary: Deducing nofree atrribute for function arguments. Reviewers: jdoerfert Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D67886
-
Simon Pilgrim authored
-
Simon Pilgrim authored
-
Simon Pilgrim authored
-
Simon Pilgrim authored
-
Simon Pilgrim authored
-
Simon Pilgrim authored
-
Dávid Bolvanský authored
This reverts commit edb42dcc. Buildbot timeouts.
-
Luboš Luňák authored
Differential Revision: https://reviews.llvm.org/D69750
-
Stefan Stipanovic authored
This reverts commit c12efa2e.
-
Simon Pilgrim authored
TargetPassConfig::addCoreISelPasses() always initializes O0WantsFastISel but it appeases static analyzers that complain that O0WantsFastISel isn't initialized in the constructor.
-
Simon Pilgrim authored
-
Dávid Bolvanský authored
Summary: Found by PVS Studio Not familiar with this code; no testcase. Reviewers: craig.topper, RKSimon Reviewed By: RKSimon Subscribers: llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D69741
-
Stefan Stipanovic authored
Summary: Deducing nofree atrribute for function arguments. Reviewers: jdoerfert Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D67886
-
Simon Pilgrim authored
-
Simon Pilgrim authored
Prep work toward merging some of the functionality.
-
Roman Lebedev authored
As discussed in https://bugs.llvm.org/show_bug.cgi?id=43870, this transform is missing a crucial legality check: the old (non-countable) loop would early-return upon first mismatch, but there is no such guarantee for bcmp/memcmp. We'd need to ensure that [PtrA, PtrA+NBytes) and [PtrB, PtrB+NBytes) are fully dereferenceable memory regions. But that would limit the transform to constant loop trip counts and would further cripple it because dereferenceability analysis is *very* partial. Furthermore, even if all that is done, every single test would need to be rewritten from scratch. So let's just give up.
-
Luboš Luňák authored
Because one of the installed files is the _lldb.so symlink. Differential Revision: https://reviews.llvm.org/D68910
-
Craig Topper authored
We already have the FunctionType we can call getReturnType on. I think this was due to a bad rebase of the CallBr patch while it was in development when CallInst and InvokeInst were updated.
-