- Jun 27, 2020
-
-
mydeveloperday authored
-
Simon Pilgrim authored
-
mydeveloperday authored
Summary: https://bugs.llvm.org/show_bug.cgi?id=46254 Reviewed By: curdeius, jbcoe Differential Revision: https://reviews.llvm.org/D8201
-
Simon Pilgrim authored
-
Simon Pilgrim authored
reduceBuildVecExtToExtBuildVec was breaking a splat(zext(x)) pattern into buildvector(x, 0, x, 0, ..) resulting in much more complex insert+shuffle codegen. We already go to some lengths to avoid this in SimplifyDemandedVectorElts etc. when we encounter splat buildvectors. It should be OK to fold all splat(aext(x)) patterns - we might need to tighten this if we find a case where we mustn't introduce a buildvector(x, undef, x, undef, ..) but I can't find one. Fixes PR46461.
-
Simon Pilgrim authored
-
Simon Pilgrim authored
-
Simon Pilgrim authored
The "using InsertPointTy" line is an unnecessary copy + paste from other builder tests.
-
David Zarzycki authored
This fixes a unit test. Otherwise here is the original commit: 1) Shared writable directories like /tmp are a security problem. 2) Systems provide dedicated cache directories these days anyway. 3) This also refines LLVM's cache_directory() on Darwin platforms to use the Darwin per-user cache directory. Reviewers: compnerd, aprantl, jakehehrlich, espindola, respindola, ilya-biryukov, pcc, sammccall Reviewed By: compnerd, sammccall Subscribers: hiraditya, llvm-commits, cfe-commits Tags: #clang, #llvm Differential Revision: https://reviews.llvm.org/D82362
-
Simon Pilgrim authored
This allows us to reduce the Twine.h include to a forward declaration.
-
Simon Pilgrim authored
-
Simon Pilgrim authored
-
Simon Pilgrim authored
-
Simon Pilgrim authored
-
Nikita Popov authored
I noticed that for some benchmarks we spend quite a bit of time inside AttributeList::hasAttrSomewhere(), mainly when checking for the "returned" attribute. Most of the time the attribute will not be present, in which case this function has to walk through the whole attribute list and check for the attribute at each index. This patch adds a cache of all "available somewhere" attributes inside AttributeListImpl. This makes the structure 12 bytes larger, but I don't think that's problematic, as attribute lists are uniqued. Compile-time in terms of instructions retired improves by 0.4% on average, but >1% for sqlite. Differential Revision: https://reviews.llvm.org/D81867
-
Simon Pilgrim authored
-
Roman Lebedev authored
Summary: The added assertion fails on the added test without the fix. Reduced from test-suite/MultiSource/Benchmarks/MiBench/office-ispell/correct.c In IR, getelementptr, obviously, takes pointer as it's base, and returns a pointer. When creating an SCEV expression, SCEV operands are sorted in hope that it increases folding potential, and at the same time SCEVAddExpr's type is the type of the last(!) operand. Which means, in some exceedingly rare cases, pointer operand may happen to end up not being the last operand, and as a result SCEV for GEP will suddenly have a non-pointer return type. We should ensure that does not happen. In the end, actually storing the `Type *`, at the cost of increasing memory footprint of `SCEVAddExpr`, appears to be the solution. We can't just store a 'is a pointer' bit and create pointer type on the fly since we don't have data layout in getType(). Fixes [[ https://bugs.llvm.org/show_bug.cgi?id=46457 | PR46457 ]] Reviewers: efriedma, mkazantsev, reames, nikic Reviewed By: efriedma Subscribers: hiraditya, javed.absar, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D82633
-
Roman Lebedev authored
Summary: This is boringly straight-forward, each iteration we see if V is some expression that we can look into, and if it has a single pointer operand, then set V to that operand and repeat. Reviewers: efriedma, mkazantsev, reames, nikic Reviewed By: nikic Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D82632
-
Melanie Blower authored
This reverts commit defd43a5. with correction to solve msan report To solve https://bugs.llvm.org/show_bug.cgi?id=46166 where the floating point settings in PCH files aren't compatible, rewrite FPFeatures to use a delta in the settings rather than absolute settings. With this patch, these floating point options can be benign. Reviewers: rjmccall Differential Revision: https://reviews.llvm.org/D81869
-
Fady Ghanim authored
Relating to buildbot errors to commit 82b8236c
-
Gui Andrade authored
These need special handling over the simple vector intrinsics as they behave more like a shuffle operation: taking the top half of the vector from one input, and the bottom half separately. Previously, these were being handled as though all bits of all operands were combined. Differential Revision: https://reviews.llvm.org/D82398
-
Gui Andrade authored
-
Craig Topper authored
Only 6 years behind gcc. https://gcc.gnu.org/legacy-ml/gcc-patches/2014-08/msg00231.html Found while working on improving how we define CPU features for clang and auditing for correctness.
-
Fady Ghanim authored
-
lh123 authored
-
Fangrui Song authored
[BasicAA] Rename -disable-basicaa to -disable-basic-aa to be consistent with the canonical name "basic-aa"
-
Fangrui Song authored
Follow-up to D82607 Revert an accidental change (empty.ll) of D82683
-
Fangrui Song authored
D79300 forgot to change `getBuffer().empty()` in LazyObjFile::parse to `fetched`. This caused incorrect iterating after the current LazyObjFile was fetched. This issue is benign and can just cause loss of "undefined symbols" and "backward reference" diagnostics. Before D79300 `mb = {}` caused --warn-backrefs-exclude to be useless for a fetched LazyObjFile. Add two test cases. -
Arthur Eubanks authored
Summary: Following https://reviews.llvm.org/D82607. Reviewers: ychen Subscribers: asbirlea, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D82688
-
Arthur Eubanks authored
Summary: Following https://reviews.llvm.org/D82607. Reviewers: ychen Subscribers: george.burgess.iv, asbirlea, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D82689
-
Nico Weber authored
This reverts commit 63bcf891. Turns out the more targeted disablement in the previous change was good enough.
-
Alexander Shaposhnikov authored
This diff implements -rpath option for llvm-install-name-tool which replaces the rpath value in the specified Mach-O binary. Patch by Sameer Arora! Test plan: make check-all Differential revision: https://reviews.llvm.org/D82051
-
Vedant Kumar authored
Summary: The advice in HowToUpdateDebugInfo.rst is to "... preserve the debug location of an instruction if the instruction either remains in its basic block, or if its basic block is folded into a predecessor that branches unconditionally". TryToSinkInstruction doesn't seem to satisfy the criteria as it's sinking an instruction to some successor block. Preserving the debug loc can make single-stepping appear to go backwards, or make a breakpoint hit on that location happen "too late" (since single-stepping from that breakpoint can cause the function to return unexpectedly). So, drop the debug location. This was reverted in ee362064 because it removed source locations from inlinable calls, breaking a verifier rule. I've added an exception for calls because the alternative (setting a line 0 location) is not better. I tested the updated patch by completing a stage2 RelWithDebInfo build. Reviewers: aprantl, davide Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D82487
-
Alex Lorenz authored
-
Alex Lorenz authored
-
peter klausler authored
Fixed-form line continuation was not working when the preceding line was a bare label. Reviewed By: tskeith Differential Revision: https://reviews.llvm.org/D82687
-
Nico Weber authored
-
Nico Weber authored
-
Craig Topper authored
[X86] Don't disable xsave when avx is disabled. Implicitly enable xsave with avx is enabled and xsave wasn't explciitly disabled CPUs with avx always have xsave, but some CPUs without avx also have xsave. So we shouldn't disable xsave just because avx is disabled. This would prevent xsave from being enabled with -march=native on CPUs with xsave and not avx. But we also don't want -mavx -mno-avx to leave xsave eanabled. So only enable xsave if avx is enabled after processing all features. I thought about just not turning xsave on with avx at all, but there might be someone out there depending on it.
-