- Jul 26, 2017
-
-
Diana Picus authored
llvm-svn: 309090
-
George Rimar authored
This is PR30422, previously LLD did not render all option aliases in --help. With this patch it will. Differential revision: https://reviews.llvm.org/D35477 llvm-svn: 309089
-
George Rimar authored
llvm-svn: 309088
-
George Rimar authored
By default, we display only options that are not hidden and have help texts. This patch adds flag allowing to display aliases that have no help text. In this case help text of aliased option used instead. Differential revision: https://reviews.llvm.org/D35476 llvm-svn: 309087
-
Michael Zuckerman authored
This patch expands the support of lowerInterleavedStore to 32x8i stride 4. LLVM creates suboptimal shuffle code-gen for AVX2. In overall, this patch is a specific fix for the pattern (Strid=4 VF=32) and we plan to include more patterns in the future. To reach our goal of "more patterns". We include two mask creators. The first function creates shuffle's mask equivalent to unpacklo/unpackhi instructions. The other creator creates mask equivalent to a concat of two half vectors(high/low). The patch goal is to optimize the following sequence: At the end of the computation, we have ymm2, ymm0, ymm12 and ymm3 holding each 32 chars: c0, c1, , c31 m0, m1, , m31 y0, y1, , y31 k0, k1, ., k31 And these need to be transposed/interleaved and stored like so: c0 m0 y0 k0 c1 m1 y1 k1 c2 m2 y2 k2 c3 m3 y3 k3 .... Reviewers: dorit Farhana RKSimon guyblank DavidKreitzer Differential Revision: https://reviews.llvm.org/D34601 llvm-svn: 309086
-
Zvi Rackover authored
Changing mask argument type from const SmallVectorImpl<int>& to ArrayRef<int>. This came up in D35700 where a mask is received as an ArrayRef<int> and we want to pass it to TargetLowering::isShuffleMaskLegal(). Also saves a few lines of code. llvm-svn: 309085
-
Michael Zuckerman authored
splitting patch D34601 into two part. This part changes the location of two functions. The second part will be based on that patch. This was requested by @RKSimon. Reviewers: 1. dorit 2. Farhana 3. RKSimon 4. guyblank 5. DavidKreitzer llvm-svn: 309084
-
Petr Hosek authored
This reverts commit fd63314d6770e0da62572a3fea2c41c4cc0fc58a. llvm-svn: 309083
-
Petr Hosek authored
This reverts commit d1997bff31cf6b484eb59c2ee1fc3155442e338c. llvm-svn: 309082
-
Mandeep Singh Grang authored
Summary: This fixes compiling with headers from the Windows SDK for ARM64. Reviewers: compnerd, ruiu, mstorsjo Reviewed By: compnerd, mstorsjo Subscribers: mgorny, aemerson, javed.absar, kristof.beyls, llvm-commits, cfe-commits Differential Revision: https://reviews.llvm.org/D35862 llvm-svn: 309081
-
Max Kazantsev authored
This patch adds a cache for computeExitLimit to save compilation time. A lot of examples of tests that take extensive time to compile are attached to the bug 33494. Differential Revision: https://reviews.llvm.org/D35827 llvm-svn: 309080
-
Craig Topper authored
Summary: The aligned load predicates don't suppress themselves if the load is non-temporal the way the unaligned predicates do. For the most part this isn't a problem because the aligned predicates are mostly used for instructions that only load the the non-temporal loads have priority over those. The exception are masked loads. Reviewers: RKSimon, zvi Reviewed By: RKSimon Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D35712 llvm-svn: 309079
-
Dehao Chen authored
Summary: This patch adds flags and tests to cover the PGOOpt handling logic in new PM. Reviewers: chandlerc, davide Reviewed By: chandlerc Subscribers: sanjoy, llvm-commits Differential Revision: https://reviews.llvm.org/D35807 llvm-svn: 309076
-
Davide Italiano authored
Follow up to r309056. llvm-svn: 309075
-
Petr Hosek authored
This change adds sanitizer support for LLVM's libunwind and libc++abi as an alternative to libstdc++. This allows using the in tree version of libunwind and libc++abi which is useful when building a toolchain for different target. Differential Revision: https://reviews.llvm.org/D34501 llvm-svn: 309074
-
Wei Mi authored
llvm-svn: 309073
-
Sanjoy Das authored
`SCEVUnknown::allUsesReplacedWith` does not need to call `forgetMemoizedResults` since RAUW does a value-equivalent replacement by assumption. If this assumption was false then the later setValPtr(New) call would be incorrect too. This is a non-trivial performance optimization for functions with a large number of loops since `forgetMemoizedResults` walks all loop backedge taken counts to see if any of them use the SCEVUnknown being RAUWed. However, this improvement is difficult to demonstrate without checking in an excessively large IR file. llvm-svn: 309072
-
Reid Kleckner authored
llvm-svn: 309071
-
Eric Beckmann authored
Summary: Previously were in support. Since many many things depend on support, were all forced to also depend on libxml2, which we only want in a few cases. This puts all the libxml2 deps in a separate lib to be used only in a few places. Reviewers: ruiu, thakis, rnk Subscribers: mgorny, hiraditya, llvm-commits Differential Revision: https://reviews.llvm.org/D35819 llvm-svn: 309070
-
Reid Kleckner authored
llvm-svn: 309069
-
Spyridoula Gravani authored
[DWARF] Generalized verification of .apple_names accelerator table to be applicable to any acceleration table. Added verification for .apple_types, .apple_namespaces and .apple_objc sections. Differential Revision: https://reviews.llvm.org/D35853 llvm-svn: 309068
-
Felix Berger authored
Summary: Do not issue fixit in UnnecessaryValueParamCheck if the function is an explicit template specialization as this could cause build breakages. Reviewers: alexfh Subscribers: JDevlieghere, xazax.hun, cfe-commits Differential Revision: https://reviews.llvm.org/D35718 llvm-svn: 309067
-
Reid Kleckner authored
The PDB "symbol stream" actually contains symbol records for the publics and the globals stream. The globals and publics streams are essentially hash tables that point into a single stream of records. In order to match cvdump's behavior, we need to only dump symbol records referenced from the hash table. This patch implements that, and then implements global stream dumping, since it's just a subset of public stream dumping. Now we shouldn't see S_PROCREF or S_GDATA32 records when dumping publics, and instead we should see those record in the globals stream. llvm-svn: 309066
-
Eric Beckmann authored
This time with correct #if. This reverts commit 9cf4eca0e0383040c1ff1416815c7f649650c2a0. llvm-svn: 309064
-
Eugene Zelenko authored
[AArch64] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). llvm-svn: 309062
-
Peter Szecsi authored
llvm-svn: 309061
-
Petr Hosek authored
This change adds support for compiler-rt builtins as an alternative compiler runtime to libgcc. Differential Revision: https://reviews.llvm.org/D35165 llvm-svn: 309060
-
Wei Mi authored
This is a workaround for the bug described in PR31652 and http://lists.llvm.org/pipermail/llvm-dev/2017-July/115497.html. The temporary solution is to add a function EqualityPropUnSafe. In EqualityPropUnSafe, for some simple patterns we can know the equality comparison may contains undef, so we regard such comparison as unsafe and will not do loop-unswitching for them. We also need to disable the select simplification when one of select operand is undef and its result feeds into equality comparison. The patch cannot clear the safety issue caused by the bug, but it can suppress the issue from happening to some extent. Differential Revision: https://reviews.llvm.org/D35811 llvm-svn: 309059
-
David Majnemer authored
std::byte, when defined as an enum, needs to be given special treatment with regards to its aliasing properties. An array of std::byte is allowed to be used as storage for other types. This fixes PR33916. Differential Revision: https://reviews.llvm.org/D35824 llvm-svn: 309058
-
Adrian Prantl authored
This reapplies commit r309034 with a bugfix+test for inlined variables. llvm-svn: 309057
-
Davide Italiano authored
This is needed, among others, to respect --section-ordering-file with LTO. I'll follow up with a similar change for data sections. I hope every version of gold available on the bots has support for --section-ordering file. llvm-svn: 309056
-
Rui Ueyama authored
Since the flag is ignored anyway, it doesn't matter whether it is an alias or not. llvm-svn: 309055
-
Richard Smith authored
llvm-svn: 309054
-
Rafael Espindola authored
llvm-svn: 309053
-
NAKAMURA Takumi authored
clang/StaticAnalyzer/Core/PathSensitive/LoopUnrolling.h: Add a forward decl AnalysisManager, to unbreak modules build. llvm-svn: 309052
-
Rafael Espindola authored
llvm-svn: 309051
-
Eric Beckmann authored
This reverts commit 813308e240792ca70ed2f998f21df24a5061ada0. llvm-svn: 309050
-
Mandeep Singh Grang authored
Summary: You can now use REQUIRES:abi-breaking-checks in clang too Reviewers: chapuni, probinson, ddunbar, jroelofs Reviewed By: jroelofs Subscribers: jroelofs, cfe-commits Differential Revision: https://reviews.llvm.org/D35426 llvm-svn: 309049
-
Rafael Espindola authored
These can be referenced with __start_/__stop_ symbols. I will try to make this more precise in a followup patch. llvm-svn: 309048
-
Eric Beckmann authored
Summary: Does a simple merge, where mergeable elements are combined, all others are appended. Does not apply trickly namespace rules. Subscribers: llvm-commits, hiraditya Differential Revision: https://reviews.llvm.org/D35753 llvm-svn: 309047
-